30#include <ql/handle.hpp>
31#include <ql/quote.hpp>
32#include <ql/types.hpp>
45 explicit FXTriangulation(std::map<std::string, QuantLib::Handle<QuantLib::Quote>> quotes);
50 QuantLib::Handle<QuantLib::Quote>
getQuote(
const std::string& pair)
const;
58 QuantLib::Handle<QuantExt::FxIndex>
getIndex(
const std::string& indexOrPair,
const Market* market,
59 const std::string& configuration)
const;
63 std::vector<std::string>
getPath(
const std::string& forCcy,
const std::string& domCcy)
const;
67 Handle<Quote>
getQuote(
const std::string& forCcy,
const std::string& domCcy)
const;
73 std::map<std::string, QuantLib::Handle<QuantLib::Quote>>
quotes_;
76 mutable std::map<std::string, QuantLib::Handle<QuantLib::Quote>>
quoteCache_;
77 mutable std::map<std::pair<std::string, std::string>, QuantLib::Handle<QuantExt::FxIndex>>
indexCache_;
QuantLib::Handle< QuantExt::FxIndex > getIndex(const std::string &indexOrPair, const Market *market, const std::string &configuration) const
std::map< std::string, QuantLib::Handle< QuantLib::Quote > > quoteCache_
std::map< std::pair< std::string, std::string >, QuantLib::Handle< QuantExt::FxIndex > > indexCache_
std::string getAllQuotes() const
FXTriangulation(std::map< std::string, QuantLib::Handle< QuantLib::Quote > > quotes)
std::map< std::string, std::size_t > ccyToNode_
std::vector< std::set< std::size_t > > neighbours_
std::vector< std::string > getPath(const std::string &forCcy, const std::string &domCcy) const
std::map< std::string, QuantLib::Handle< QuantLib::Quote > > quotes_
QuantLib::Handle< QuantLib::Quote > getQuote(const std::string &pair) const
std::vector< std::string > nodeToCcy_
Serializable Credit Default Swap.