Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
fittedbondcurvehelpermarket.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2020 Quaternion Risk Management Ltd
3 All rights reserved.
4
5 This file is part of ORE, a free-software/open-source library
6 for transparent pricing and risk analysis - http://opensourcerisk.org
7
8 ORE is free software: you can redistribute it and/or modify it
9 under the terms of the Modified BSD License. You should have received a
10 copy of the license along with this program.
11 The license is also available online at <http://opensourcerisk.org>
12
13 This program is distributed on the basis that it will form a useful
14 contribution to risk analytics and model standardisation, but WITHOUT
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
16 FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.
17*/
18
19/*! \file ored/marketdata/fittedbondcurvehelpermarket.hpp
20 \brief A market implementation providing curves for setting up bond rate helpers
21 \ingroup marketdata
22*/
23
24#pragma once
25
27
28namespace ore {
29namespace data {
30
31/*! This market takes a map from Ibor index names to estimation curves and provides the corresponding
32 Ibor indices via the market interface.
33
34 In addition (dummy) yield curves, security spreads, default curves and recovery rates are provided, all with
35 zero rates.
36
37 This way we can build a Bond against this market and use the underlying QuantLib::Bond instrument to set
38 up a BondHelper from which a fitted bond curve can be bootstrapped.
39*/
40
42public:
43 explicit FittedBondCurveHelperMarket(const std::map<std::string, Handle<YieldTermStructure>>& iborIndexCurves = {},
44 const bool handlePseudoCurrencies = true);
45
46 Handle<YieldTermStructure> yieldCurve(const string& name,
47 const string& configuration = Market::defaultConfiguration) const override;
48
49 Handle<Quote> securitySpread(const string& securityID,
50 const string& configuration = Market::defaultConfiguration) const override;
51
52 Handle<QuantExt::CreditCurve>
53 defaultCurve(const string&, const string& configuration = Market::defaultConfiguration) const override;
54
55 Handle<Quote> recoveryRate(const string&,
56 const string& configuration = Market::defaultConfiguration) const override;
57};
58
59} // namespace data
60} // namespace ore
Handle< Quote > securitySpread(const string &securityID, const string &configuration=Market::defaultConfiguration) const override
Handle< YieldTermStructure > yieldCurve(const string &name, const string &configuration=Market::defaultConfiguration) const override
Handle< QuantExt::CreditCurve > defaultCurve(const string &, const string &configuration=Market::defaultConfiguration) const override
Handle< Quote > recoveryRate(const string &, const string &configuration=Market::defaultConfiguration) const override
static const string defaultConfiguration
Default configuration label.
Definition: market.hpp:296
bool handlePseudoCurrencies() const
Definition: market.hpp:339
Market Implementation.
Definition: marketimpl.hpp:53
@ data
Definition: log.hpp:77
An implementation of the Market class that stores the required objects in maps.
Serializable Credit Default Swap.
Definition: namespaces.docs:23
string name