32typedef std::map<QuantLib::Date, std::set<std::string>>
QuoteMap;
33typedef std::map<std::string, RequiredFixings::FixingDates>
FixingMap;
39 const std::string& exceptionType,
const std::string& exceptionWhat)
41 std::map<std::string, std::string>({{
"exceptionType", exceptionType},
42 {
"fixingId", fixingId},
53 const std::map<std::string, std::string>& equities) = 0;
56 virtual void retrieveMarketData(
const QuantLib::ext::shared_ptr<ore::data::InMemoryLoader>& loader,
58 const QuantLib::Date& requestDate = QuantLib::Date()) = 0;
62 std::map<std::pair<std::string, QuantLib::Date>, std::set<QuantLib::Date>> lastAvailableFixingLookupMap = {}) = 0;
67 MarketDataLoader(
const QuantLib::ext::shared_ptr<InputParameters>& inputs, QuantLib::ext::shared_ptr<MarketDataLoaderImpl>
impl)
69 loader_ = QuantLib::ext::make_shared<ore::data::InMemoryLoader>();
76 void populateLoader(
const std::vector<QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>>& todaysMarketParameters,
77 const std::set<QuantLib::Date>& loaderDates);
80 populateFixings(
const std::vector<QuantLib::ext::shared_ptr<ore::data::TodaysMarketParameters>>& todaysMarketParameters,
81 const std::set<QuantLib::Date>& loaderDates = {});
83 virtual void addRelevantFixings(
const std::pair<std::string, RequiredFixings::FixingDates>& fixing,
84 std::map<std::pair<std::string, QuantLib::Date>, std::set<QuantLib::Date>>& lastAvailableFixingLookupMap);
90 const QuantLib::ext::shared_ptr<ore::data::InMemoryLoader>&
loader()
const {
return loader_; };
94 QuantLib::ext::shared_ptr<InputParameters>
inputs_;
95 QuantLib::ext::shared_ptr<ore::data::InMemoryLoader>
loader_;
99 const QuantLib::ext::shared_ptr<MarketDataLoaderImpl>&
impl()
const;
102 QuantLib::ext::shared_ptr<MarketDataLoaderImpl>
impl_;
virtual void populateFixings(const std::vector< QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > > &todaysMarketParameters, const std::set< QuantLib::Date > &loaderDates={})
QuantLib::ext::shared_ptr< MarketDataLoaderImpl > impl_
MarketDataLoader(const QuantLib::ext::shared_ptr< InputParameters > &inputs, QuantLib::ext::shared_ptr< MarketDataLoaderImpl > impl)
void populateLoader(const std::vector< QuantLib::ext::shared_ptr< ore::data::TodaysMarketParameters > > &todaysMarketParameters, const std::set< QuantLib::Date > &loaderDates)
virtual void addRelevantFixings(const std::pair< std::string, RequiredFixings::FixingDates > &fixing, std::map< std::pair< std::string, QuantLib::Date >, std::set< QuantLib::Date > > &lastAvailableFixingLookupMap)
void resetLoader()
clear the loader
QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > loader_
const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > & loader() const
getters
QuantLib::ext::shared_ptr< InputParameters > inputs_
virtual ~MarketDataLoader()
const QuantLib::ext::shared_ptr< MarketDataLoaderImpl > & impl() const
virtual void retrieveFixings(const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > &loader, FixingMap fixings={}, std::map< std::pair< std::string, QuantLib::Date >, std::set< QuantLib::Date > > lastAvailableFixingLookupMap={})=0
retrieve fixings
virtual ~MarketDataLoaderImpl()
virtual void loadCorporateActionData(QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > &loader, const std::map< std::string, std::string > &equities)=0
load corporate action data
virtual void retrieveMarketData(const QuantLib::ext::shared_ptr< ore::data::InMemoryLoader > &loader, const QuoteMap "es, const QuantLib::Date &requestDate=QuantLib::Date())=0
retrieve market data
Utility class for Structured Fixing warnings.
StructuredFixingWarningMessage(const std::string &fixingId, const QuantLib::Date &fixingDate, const std::string &exceptionType, const std::string &exceptionWhat)
QuantLib::Date fixingDate(const QuantLib::Date &d, const QuantLib::Period obsLag, const QuantLib::Frequency freq, bool interpolated)
std::map< std::string, RequiredFixings::FixingDates > FixingMap
std::map< QuantLib::Date, std::set< std::string > > QuoteMap
std::string to_string(const LocationInfo &l)