40 SensitivityCubeStream(
const QuantLib::ext::shared_ptr<SensitivityCube>& cube,
const std::string& currency);
42 SensitivityCubeStream(
const std::vector<QuantLib::ext::shared_ptr<SensitivityCube>>& cubes,
const std::string& currency);
51 void reset()
override;
57 std::vector<QuantLib::ext::shared_ptr<SensitivityCube>>
cubes_;
72 std::map<std::string, QuantLib::Size>::const_iterator
tradeIdx_;
std::string currency_
Currency of the sensitivities in the SensitivityCubes.
std::set< std::pair< RiskFactorKey, RiskFactorKey > > currentCrossGammaKeys_
std::map< std::string, QuantLib::Size >::const_iterator tradeIdx_
Current trade iterator.
std::set< RiskFactorKey >::const_iterator currentDeltaKey_
std::vector< QuantLib::ext::shared_ptr< SensitivityCube > > cubes_
Handle on the SensitivityCubes.
bool canComputeGamma_
Can only compute gamma if the up and down risk factors align.
std::set< std::pair< RiskFactorKey, RiskFactorKey > >::const_iterator currentCrossGammaKey_
std::set< RiskFactorKey > currentDeltaKeys_
Current delta risk factor keys to process and iterators.
Size currentCubeIdx_
Current cube index in vector.
void reset() override
Resets the stream so that SensitivityRecord objects can be streamed again.
SensitivityRecord next() override
Base Class for streaming SensitivityRecords.
holds a grid of NPVs for a list of trades under various scenarios
Base class for sensitivity record streamer.