37 void build(
const QuantLib::ext::shared_ptr<EngineFactory>&)
override;
57 vector<double> underlyingStrikes, vector<double> underlyingNotionals,
double basketNotional,
60 double cap = 0.0,
double floor = 0.0,
int accrualLag = 1)
94 const vector<QuantLib::ext::shared_ptr<Underlying>>&
underlyings, vector<double> underlyingStrikes,
97 ScheduleData laggedValuationSchedule,
double payoffLimit = 0.0,
double cap = 0.0,
98 double floor = 0.0,
int accrualLag = 1)
101 laggedValuationSchedule, payoffLimit, cap, floor, accrualLag) {
106 std::map<AssetClass, std::set<std::string>>
107 underlyingIndices(
const QuantLib::ext::shared_ptr<ReferenceDataManager>& referenceDataManager =
nullptr)
const override;
114 vector<double> underlyingStrikes, vector<double> underlyingNotionals,
double basketNotional,
116 ScheduleData laggedValuationSchedule,
double payoffLimit = 0.0,
double cap = 0.0,
117 double floor = 0.0,
int accrualLag = 1)
120 laggedValuationSchedule, payoffLimit, cap, floor, accrualLag) {
pairwise variance swap engine builder
Serializable object holding generic trade data, reporting dimensions.
EqPairwiseVarSwap(ore::data::Envelope &env, string longShort, const vector< QuantLib::ext::shared_ptr< Underlying > > &underlyings, vector< double > underlyingStrikes, vector< double > underlyingNotionals, double basketNotional, double basketStrike, ScheduleData valuationSchedule, string currency, string settlementDate, ScheduleData laggedValuationSchedule, double payoffLimit=0.0, double cap=0.0, double floor=0.0, int accrualLag=1)
std::map< AssetClass, std::set< std::string > > underlyingIndices(const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const override
Add underlying Equity names.
FxPairwiseVarSwap(Envelope &env, string longShort, const vector< QuantLib::ext::shared_ptr< Underlying > > &underlyings, vector< double > underlyingStrikes, vector< double > underlyingNotionals, double basketNotional, double basketStrike, ScheduleData valuationSchedule, string currency, string settlementDate, ScheduleData laggedValuationSchedule, double payoffLimit=0.0, double cap=0.0, double floor=0.0, int accrualLag=1)
vector< QuantLib::ext::shared_ptr< Underlying > > underlyings_
vector< Real > underlyingStrikes_
ScheduleData valuationSchedule_
virtual void fromXML(XMLNode *node) override
virtual XMLNode * toXML(XMLDocument &doc) const override
ScheduleData laggedValuationSchedule_
const vector< QuantLib::ext::shared_ptr< Underlying > > & underlyings() const
vector< Real > underlyingNotionals_
PairwiseVarSwap(Envelope &env, string longShort, const vector< QuantLib::ext::shared_ptr< Underlying > > &underlyings, vector< double > underlyingStrikes, vector< double > underlyingNotionals, double basketNotional, double basketStrike, ScheduleData valuationSchedule, string currency, string settlementDate, AssetClass assetClassUnderlyings, ScheduleData laggedValuationSchedule, double payoffLimit=0.0, double cap=0.0, double floor=0.0, int accrualLag=1)
AssetClass assetClassUnderlyings_
const string & name(int idx) const
vector< string > indexNames_
AssetClass & assetClassUnderlyings()
const string & longShort()
const string & currency()
void build(const QuantLib::ext::shared_ptr< EngineFactory > &) override
PairwiseVarSwap(AssetClass assetClassUnderlyings)
Serializable schedule data.
virtual QuantLib::Real notional() const
Return the current notional in npvCurrency. See individual sub-classes for the precise definition.
Small XML Document wrapper class.
Serializable Credit Default Swap.
base trade data model and serialization