Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
csvscenariogenerator.hpp
Go to the documentation of this file.
1/*
2 Copyright (C) 2016 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#pragma once
20
21#include <fstream>
22
26
27namespace ore {
28namespace analytics {
29
30//! Class for generating scenarios from a csv file assumed to be in a format compatible with ScenarioWriter.
32public:
33 CSVScenarioGenerator(const std::string& filename, const QuantLib::ext::shared_ptr<ScenarioFactory> scenarioFactory,
34 const char sep = ',');
35
36 virtual ~CSVScenarioGenerator();
37
38 virtual QuantLib::ext::shared_ptr<Scenario> next(const Date& d) override;
39
40 virtual void reset() override;
41
42private:
43 void readKeys();
44
45 vector<RiskFactorKey> keys_;
46 std::ifstream file_;
47 const char sep_;
48 const std::string& filename_;
49 const QuantLib::ext::shared_ptr<ScenarioFactory> scenarioFactory_;
50};
51} // namespace analytics
52} // namespace ore
Class for generating scenarios from a csv file assumed to be in a format compatible with ScenarioWrit...
const QuantLib::ext::shared_ptr< ScenarioFactory > scenarioFactory_
virtual QuantLib::ext::shared_ptr< Scenario > next(const Date &d) override
Return the next scenario for the given date.
virtual void reset() override
Reset the generator so calls to next() return the first scenario.
Scenario generator base class.
Scenario class.
factory classes for scenarios
Scenario generator base classes.