#include <orea/engine/sensitivitycubestream.hpp>
Public Member Functions | |
SensitivityCubeStream (const QuantLib::ext::shared_ptr< SensitivityCube > &cube, const std::string ¤cy) | |
SensitivityCubeStream (const std::vector< QuantLib::ext::shared_ptr< SensitivityCube > > &cubes, const std::string ¤cy) | |
SensitivityRecord | next () override |
void | reset () override |
Resets the stream so that SensitivityRecord objects can be streamed again. More... | |
Public Member Functions inherited from SensitivityStream | |
virtual | ~SensitivityStream () |
Destructor. More... | |
virtual SensitivityRecord | next ()=0 |
Returns the next SensitivityRecord in the stream. More... | |
virtual void | reset ()=0 |
Resets the stream so that SensitivityRecord objects can be streamed again. More... | |
Private Member Functions | |
void | updateForNewTrade () |
Private Attributes | |
std::vector< QuantLib::ext::shared_ptr< SensitivityCube > > | cubes_ |
Handle on the SensitivityCubes. More... | |
std::string | currency_ |
Currency of the sensitivities in the SensitivityCubes. More... | |
Size | currentCubeIdx_ |
Current cube index in vector. More... | |
std::set< RiskFactorKey > | currentDeltaKeys_ |
Current delta risk factor keys to process and iterators. More... | |
std::set< std::pair< RiskFactorKey, RiskFactorKey > > | currentCrossGammaKeys_ |
std::set< RiskFactorKey >::const_iterator | currentDeltaKey_ |
std::set< std::pair< RiskFactorKey, RiskFactorKey > >::const_iterator | currentCrossGammaKey_ |
std::map< std::string, QuantLib::Size >::const_iterator | tradeIdx_ |
Current trade iterator. More... | |
bool | canComputeGamma_ |
Can only compute gamma if the up and down risk factors align. More... | |
Class for streaming SensitivityRecords from a SensitivityCube
Definition at line 37 of file sensitivitycubestream.hpp.
SensitivityCubeStream | ( | const QuantLib::ext::shared_ptr< SensitivityCube > & | cube, |
const std::string & | currency | ||
) |
Constructor providing the sensitivity cube
and currency of the sensitivities
Definition at line 33 of file sensitivitycubestream.cpp.
SensitivityCubeStream | ( | const std::vector< QuantLib::ext::shared_ptr< SensitivityCube > > & | cubes, |
const std::string & | currency | ||
) |
Constructor providing the sensitivity cubes
and currency of the sensitivities
Definition at line 36 of file sensitivitycubestream.cpp.
|
overridevirtual |
Returns the next SensitivityRecord in the stream
Implements SensitivityStream.
Definition at line 57 of file sensitivitycubestream.cpp.
|
overridevirtual |
Resets the stream so that SensitivityRecord objects can be streamed again.
Implements SensitivityStream.
Definition at line 147 of file sensitivitycubestream.cpp.
|
private |
Definition at line 113 of file sensitivitycubestream.cpp.
|
private |
Handle on the SensitivityCubes.
Definition at line 57 of file sensitivitycubestream.hpp.
|
private |
Currency of the sensitivities in the SensitivityCubes.
Definition at line 59 of file sensitivitycubestream.hpp.
|
private |
Current cube index in vector.
Definition at line 62 of file sensitivitycubestream.hpp.
|
private |
Current delta risk factor keys to process and iterators.
Definition at line 65 of file sensitivitycubestream.hpp.
|
private |
Definition at line 66 of file sensitivitycubestream.hpp.
|
private |
Definition at line 68 of file sensitivitycubestream.hpp.
|
private |
Definition at line 69 of file sensitivitycubestream.hpp.
|
private |
Current trade iterator.
Definition at line 72 of file sensitivitycubestream.hpp.
|
private |
Can only compute gamma if the up and down risk factors align.
Definition at line 75 of file sensitivitycubestream.hpp.