Logo
Fully annotated reference manual - version 1.8.12
Loading...
Searching...
No Matches
Public Member Functions | List of all members
EquityOutperformanceOption Class Reference

Serializable EQ Outperformance Option. More...

#include <ored/portfolio/equityoutperformanceoption.hpp>

+ Inheritance diagram for EquityOutperformanceOption:
+ Collaboration diagram for EquityOutperformanceOption:

Public Member Functions

 EquityOutperformanceOption ()
 Default constructor. More...
 
 EquityOutperformanceOption (Envelope &env, OptionData option, const string &currency, Real notional, const QuantLib::ext::shared_ptr< ore::data::Underlying > &underlying1, const QuantLib::ext::shared_ptr< ore::data::Underlying > &underlying2, Real initialPrice1, Real initialPrice2, Real strike, const string &initialPriceCurrency1="", const string &initialPriceCurrency2="", Real knockInPrice=Null< Real >(), Real knockOutPrice=Null< Real >(), string fxIndex1="", string fxIndex2="")
 Constructor. More...
 
void build (const QuantLib::ext::shared_ptr< EngineFactory > &) override
 Build QuantLib/QuantExt instrument, link pricing engine. More...
 
Inspectors
const OptionDataoption () const
 
const string & currency () const
 
const std::string & name1 () const
 
const QuantLib::ext::shared_ptr< ore::data::Underlying > & underlying1 () const
 
const std::string & name2 () const
 
const QuantLib::ext::shared_ptr< ore::data::Underlying > & underlying2 () const
 
const Real & initialPrice1 () const
 
const Real & initialPrice2 () const
 
const string & initialPriceCurrency1 () const
 
const string & initialPriceCurrency2 () const
 
const Real & strikeReturn () const
 
const Real & knockInPrice () const
 
const Real & knockOutPrice () const
 
const string & fxIndex1 () const
 
const string & fxIndex2 () const
 
- Public Member Functions inherited from Trade
 Trade ()
 Default constructor. More...
 
 Trade (const string &tradeType, const Envelope &env=Envelope(), const TradeActions &ta=TradeActions())
 Base class constructor. More...
 
virtual ~Trade ()
 Default destructor. More...
 
virtual void build (const QuantLib::ext::shared_ptr< EngineFactory > &)=0
 
virtual std::map< std::string, RequiredFixings::FixingDatesfixings (const QuantLib::Date &settlementDate=QuantLib::Date()) const
 
const RequiredFixingsrequiredFixings () const
 
virtual std::map< AssetClass, std::set< std::string > > underlyingIndices (const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const
 
void reset ()
 Reset trade, clear all base class data. This does not reset accumulated timings for this trade. More...
 
void resetPricingStats (const std::size_t numberOfPricings=0, const boost::timer::nanosecond_type cumulativePricingTime=0)
 Reset accumulated timings to given values. More...
 
string & id ()
 Set the trade id. More...
 
void setEnvelope (const Envelope &envelope)
 Set the envelope with counterparty and portfolio info. More...
 
void setAdditionalData (const std::map< std::string, boost::any > &additionalData)
 
TradeActionstradeActions ()
 Set the trade actions. More...
 
const string & id () const
 
const string & tradeType () const
 
const Envelopeenvelope () const
 
const set< string > & portfolioIds () const
 
const TradeActionstradeActions () const
 
const QuantLib::ext::shared_ptr< InstrumentWrapper > & instrument () const
 
const std::vector< QuantLib::Leg > & legs () const
 
const std::vector< string > & legCurrencies () const
 
const std::vector< bool > & legPayers () const
 
const string & npvCurrency () const
 
virtual QuantLib::Real notional () const
 Return the current notional in npvCurrency. See individual sub-classes for the precise definition. More...
 
virtual string notionalCurrency () const
 
const Date & maturity () const
 
virtual bool isExpired (const Date &d)
 
const string & issuer () const
 
template<typename T >
additionalDatum (const std::string &tag) const
 returns any additional datum. More...
 
virtual const std::map< std::string, boost::any > & additionalData () const
 returns all additional data returned by the trade once built More...
 
const std::string & sensitivityTemplate () const
 
void validate () const
 Utility to validate that everything that needs to be set in this base class is actually set. More...
 
virtual bool hasCashflows () const
 
boost::timer::nanosecond_type getCumulativePricingTime () const
 Get cumulative timing spent on pricing. More...
 
std::size_t getNumberOfPricings () const
 Get number of pricings. More...
 
- Public Member Functions inherited from XMLSerializable
virtual ~XMLSerializable ()
 
virtual void fromXML (XMLNode *node)=0
 
virtual XMLNodetoXML (XMLDocument &doc) const =0
 
void fromFile (const std::string &filename)
 
void toFile (const std::string &filename) const
 
void fromXMLString (const std::string &xml)
 Parse from XML string. More...
 
std::string toXMLString () const
 Parse from XML string. More...
 

Serialisation

OptionData option_
 
string currency_
 
Real amount_
 
QuantLib::ext::shared_ptr< ore::data::Underlyingunderlying1_
 
QuantLib::ext::shared_ptr< ore::data::Underlyingunderlying2_
 
Real initialPrice1_
 
Real initialPrice2_
 
Real strikeReturn_
 
Real knockInPrice_
 
Real knockOutPrice_
 
string initialPriceCurrency1_ = ""
 
string initialPriceCurrency2_ = ""
 
string fxIndex1_ = ""
 
string fxIndex2_ = ""
 
virtual void fromXML (XMLNode *node) override
 
virtual XMLNodetoXML (XMLDocument &doc) const override
 

Additional Inherited Members

- Protected Member Functions inherited from Trade
Date addPremiums (std::vector< QuantLib::ext::shared_ptr< Instrument > > &instruments, std::vector< Real > &multipliers, const Real tradeMultiplier, const PremiumData &premiumData, const Real premiumMultiplier, const Currency &tradeCurrency, const QuantLib::ext::shared_ptr< EngineFactory > &factory, const string &configuration)
 
void setLegBasedAdditionalData (const Size legNo, Size resultLegId=Null< Size >()) const
 
void setSensitivityTemplate (const EngineBuilder &builder)
 
void setSensitivityTemplate (const std::string &id)
 
- Protected Attributes inherited from Trade
string tradeType_
 
QuantLib::ext::shared_ptr< InstrumentWrapperinstrument_
 
std::vector< QuantLib::Leg > legs_
 
std::vector< string > legCurrencies_
 
std::vector< boollegPayers_
 
string npvCurrency_
 
QuantLib::Real notional_
 
string notionalCurrency_
 
Date maturity_
 
string issuer_
 
string sensitivityTemplate_
 
bool sensitivityTemplateSet_ = false
 
std::size_t savedNumberOfPricings_ = 0
 
boost::timer::nanosecond_type savedCumulativePricingTime_ = 0
 
RequiredFixings requiredFixings_
 
std::map< std::string, boost::any > additionalData_
 

Detailed Description

Serializable EQ Outperformance Option.

Definition at line 39 of file equityoutperformanceoption.hpp.

Constructor & Destructor Documentation

◆ EquityOutperformanceOption() [1/2]

Default constructor.

Definition at line 42 of file equityoutperformanceoption.hpp.

42: Trade("EquityOutperformanceOption") {}
Trade()
Default constructor.
Definition: trade.hpp:59

◆ EquityOutperformanceOption() [2/2]

EquityOutperformanceOption ( Envelope env,
OptionData  option,
const string &  currency,
Real  notional,
const QuantLib::ext::shared_ptr< ore::data::Underlying > &  underlying1,
const QuantLib::ext::shared_ptr< ore::data::Underlying > &  underlying2,
Real  initialPrice1,
Real  initialPrice2,
Real  strike,
const string &  initialPriceCurrency1 = "",
const string &  initialPriceCurrency2 = "",
Real  knockInPrice = Null<Real>(),
Real  knockOutPrice = Null<Real>(),
string  fxIndex1 = "",
string  fxIndex2 = "" 
)

Constructor.

Definition at line 45 of file equityoutperformanceoption.cpp.

50 : Trade("EquityOutperformanceOption", env), option_(option), currency_(currency), amount_(notional),
54 }
const QuantLib::ext::shared_ptr< ore::data::Underlying > & underlying1() const
const QuantLib::ext::shared_ptr< ore::data::Underlying > & underlying2() const
QuantLib::ext::shared_ptr< ore::data::Underlying > underlying2_
QuantLib::ext::shared_ptr< ore::data::Underlying > underlying1_
virtual QuantLib::Real notional() const
Return the current notional in npvCurrency. See individual sub-classes for the precise definition.
Definition: trade.hpp:153

Member Function Documentation

◆ build()

void build ( const QuantLib::ext::shared_ptr< EngineFactory > &  engineFactory)
overridevirtual

Build QuantLib/QuantExt instrument, link pricing engine.

Implements Trade.

Definition at line 56 of file equityoutperformanceoption.cpp.

56 {
57
58 const QuantLib::ext::shared_ptr<Market> market = engineFactory->market();
59
60 // Only European exercise supported for now
61 QL_REQUIRE(option_.style() == "European", "Option Style unknown: " << option_.style());
62 QL_REQUIRE(option_.exerciseDates().size() == 1, "Invalid number of excercise dates");
63 Currency ccy = parseCurrency(currency_);
64
65 QuantLib::ext::shared_ptr<QuantExt::FxIndex> fxIndex1 = nullptr;
66 QuantLib::ext::shared_ptr<QuantExt::FxIndex> fxIndex2 = nullptr;
67
69 if (initialPriceCurrency1_ != "") {
72
73 auto eqCurve1 = *engineFactory->market()->equityCurve(name1());
74 Currency eqCurrency1 = eqCurve1->currency();
75
76 // if the initialPrice differs from the equity price
77 if (ccy1 != eqCurrency1) {
78 QL_REQUIRE(!fxIndex1_.empty(), "FX settlement index must be specified: " << ccy1 << " " << eqCurrency1 << " " << fxIndex1_);
79 fxIndex1 = buildFxIndex(fxIndex1_, eqCurrency1.code(), ccy1.code(), engineFactory->market(),
80 engineFactory->configuration(MarketContext::pricing));
81 }
82 }
83
85 if (initialPriceCurrency2_ != "") {
88
89 auto eqCurve2 = *engineFactory->market()->equityCurve(name2());
90 Currency eqCurrency2 = eqCurve2->currency();
91
92 // if the initialPrice differs from the equity price
93 if (ccy2 != eqCurrency2) {
94 QL_REQUIRE(!fxIndex2_.empty(), "FX settlement index must be specified");
95 fxIndex2 = buildFxIndex(fxIndex2_, eqCurrency2.code(), ccy2.code(), engineFactory->market(),
96 engineFactory->configuration(MarketContext::pricing));
97 }
98 }
99
100 Date valuationDate = parseDate(option_.exerciseDates().front());
101 QuantLib::ext::shared_ptr<Exercise> exercise;
102 exercise = QuantLib::ext::make_shared<EuropeanExercise>(valuationDate);
103
104 Option::Type optionType = parseOptionType(option_.callPut());
105 QuantLib::ext::shared_ptr<Instrument> inst = QuantLib::ext::make_shared<QuantExt::OutperformanceOption>(exercise, optionType, strikeReturn_, initialPrice1, initialPrice2, amount_, knockInPrice_, knockOutPrice_, fxIndex1, fxIndex2);
106
107 QuantLib::ext::shared_ptr<EngineBuilder> builder = engineFactory->builder(tradeType_);
108 QL_REQUIRE(builder, "No builder found for " << tradeType_);
109 QuantLib::ext::shared_ptr<EquityOutperformanceOptionEngineBuilder> eqOptBuilder = QuantLib::ext::dynamic_pointer_cast<EquityOutperformanceOptionEngineBuilder>(builder);
110
111 inst->setPricingEngine(eqOptBuilder->engine(name1(), name2(), ccy));
112 setSensitivityTemplate(*eqOptBuilder);
113
114 // Add additional premium payments
115 Position::Type positionType = parsePositionType(option_.longShort());
116 Real bsInd = (positionType == QuantLib::Position::Long ? 1.0 : -1.0);
117 Real mult = bsInd;
118
119 std::vector<QuantLib::ext::shared_ptr<Instrument>> additionalInstruments;
120 std::vector<Real> additionalMultipliers;
121 Date lastPremiumDate = addPremiums(additionalInstruments, additionalMultipliers, mult, option_.premiumData(),
122 -bsInd, ccy, engineFactory, eqOptBuilder->configuration(MarketContext::pricing));
123
124 instrument_ = QuantLib::ext::shared_ptr<InstrumentWrapper>(new VanillaInstrument(inst, mult, additionalInstruments, additionalMultipliers));
126 maturity_ = std::max(lastPremiumDate, std::max(maturity_, valuationDate));
129}
const string & callPut() const
Definition: optiondata.hpp:71
const string & longShort() const
Definition: optiondata.hpp:70
const string & style() const
Definition: optiondata.hpp:74
const PremiumData & premiumData() const
Definition: optiondata.hpp:83
const vector< string > & exerciseDates() const
Definition: optiondata.hpp:76
string npvCurrency_
Definition: trade.hpp:201
QuantLib::Real notional_
Definition: trade.hpp:202
Date addPremiums(std::vector< QuantLib::ext::shared_ptr< Instrument > > &instruments, std::vector< Real > &multipliers, const Real tradeMultiplier, const PremiumData &premiumData, const Real premiumMultiplier, const Currency &tradeCurrency, const QuantLib::ext::shared_ptr< EngineFactory > &factory, const string &configuration)
Definition: trade.cpp:58
void setSensitivityTemplate(const EngineBuilder &builder)
Definition: trade.cpp:295
string tradeType_
Definition: trade.hpp:196
QuantLib::ext::shared_ptr< InstrumentWrapper > instrument_
Definition: trade.hpp:197
string notionalCurrency_
Definition: trade.hpp:203
Currency parseCurrencyWithMinors(const string &s)
Convert text to QuantLib::Currency.
Definition: parsers.cpp:310
Date parseDate(const string &s)
Convert std::string to QuantLib::Date.
Definition: parsers.cpp:51
QuantLib::Real convertMinorToMajorCurrency(const std::string &s, QuantLib::Real value)
Convert a value from a minor ccy to major.
Definition: parsers.cpp:324
Currency parseCurrency(const string &s)
Convert text to QuantLib::Currency.
Definition: parsers.cpp:290
Position::Type parsePositionType(const std::string &s)
Convert text to QuantLib::Position::Type.
Definition: parsers.cpp:404
Option::Type parseOptionType(const std::string &s)
Convert text to QuantLib::Option::Type.
Definition: parsers.cpp:481
QuantLib::ext::shared_ptr< QuantExt::FxIndex > buildFxIndex(const string &fxIndex, const string &domestic, const string &foreign, const QuantLib::ext::shared_ptr< Market > &market, const string &configuration, bool useXbsCurves)
Definition: marketdata.cpp:137
+ Here is the call graph for this function:

◆ option()

const OptionData & option ( ) const

Definition at line 54 of file equityoutperformanceoption.hpp.

54{ return option_; }

◆ currency()

const string & currency ( ) const

Definition at line 55 of file equityoutperformanceoption.hpp.

55{ return currency_; }

◆ name1()

const std::string & name1 ( ) const

Definition at line 56 of file equityoutperformanceoption.hpp.

56{ return underlying1_->name(); }
+ Here is the caller graph for this function:

◆ underlying1()

const QuantLib::ext::shared_ptr< ore::data::Underlying > & underlying1 ( ) const

Definition at line 57 of file equityoutperformanceoption.hpp.

57{ return underlying1_; }

◆ name2()

const std::string & name2 ( ) const

Definition at line 58 of file equityoutperformanceoption.hpp.

58{ return underlying2_->name(); }
+ Here is the caller graph for this function:

◆ underlying2()

const QuantLib::ext::shared_ptr< ore::data::Underlying > & underlying2 ( ) const

Definition at line 59 of file equityoutperformanceoption.hpp.

59{ return underlying2_; }

◆ initialPrice1()

const Real & initialPrice1 ( ) const

Definition at line 61 of file equityoutperformanceoption.hpp.

61{ return initialPrice1_; }
+ Here is the caller graph for this function:

◆ initialPrice2()

const Real & initialPrice2 ( ) const

Definition at line 62 of file equityoutperformanceoption.hpp.

62{ return initialPrice2_; }
+ Here is the caller graph for this function:

◆ initialPriceCurrency1()

const string & initialPriceCurrency1 ( ) const

Definition at line 64 of file equityoutperformanceoption.hpp.

64{ return initialPriceCurrency1_; }

◆ initialPriceCurrency2()

const string & initialPriceCurrency2 ( ) const

Definition at line 65 of file equityoutperformanceoption.hpp.

65{ return initialPriceCurrency2_; }

◆ strikeReturn()

const Real & strikeReturn ( ) const

Definition at line 67 of file equityoutperformanceoption.hpp.

67{ return strikeReturn_; }

◆ knockInPrice()

const Real & knockInPrice ( ) const

Definition at line 69 of file equityoutperformanceoption.hpp.

69{ return knockInPrice_; }

◆ knockOutPrice()

const Real & knockOutPrice ( ) const

Definition at line 70 of file equityoutperformanceoption.hpp.

70{ return knockOutPrice_; }

◆ fxIndex1()

const string & fxIndex1 ( ) const

Definition at line 72 of file equityoutperformanceoption.hpp.

72{ return fxIndex1_; }
+ Here is the caller graph for this function:

◆ fxIndex2()

const string & fxIndex2 ( ) const

Definition at line 73 of file equityoutperformanceoption.hpp.

73{ return fxIndex2_; }
+ Here is the caller graph for this function:

◆ fromXML()

void fromXML ( XMLNode node)
overridevirtual

Reimplemented from Trade.

Definition at line 131 of file equityoutperformanceoption.cpp.

131 {
132 Trade::fromXML(node);
133 XMLNode* eqNode = XMLUtils::getChildNode(node, "EquityOutperformanceOptionData");
134 QL_REQUIRE(eqNode, "No EquityOutperformanceOptionData Node");
135 option_.fromXML(XMLUtils::getChildNode(eqNode, "OptionData"));
136 knockInPrice_ = Null<Real>();
137 if (XMLUtils::getChildNode(eqNode, "KnockInPrice")) {
138 knockInPrice_ = XMLUtils::getChildValueAsDouble(eqNode, "KnockInPrice", true);
139 }
140 knockOutPrice_ = Null<Real>();
141 if (XMLUtils::getChildNode(eqNode, "KnockOutPrice")) {
142 knockOutPrice_ = XMLUtils::getChildValueAsDouble(eqNode, "KnockOutPrice", true);
143 }
144
145 currency_ = XMLUtils::getChildValue(eqNode, "Currency", true);
146 amount_ = XMLUtils::getChildValueAsDouble(eqNode, "Notional", true);
147
148 XMLNode* tmp1 = XMLUtils::getChildNode(eqNode, "Underlying1");
149 if (!tmp1)
150 tmp1 = XMLUtils::getChildNode(eqNode, "Name1");
151 UnderlyingBuilder underlyingBuilder1("Underlying1", "Name1");
152 underlyingBuilder1.fromXML(tmp1);
153 underlying1_ = underlyingBuilder1.underlying();
154
155 XMLNode* fxt1 = XMLUtils::getChildNode(eqNode, "InitialPriceFXTerms1");
156 if (fxt1)
157 fxIndex1_ = XMLUtils::getChildValue(fxt1, "FXIndex", true);
158
159 XMLNode* tmp2 = XMLUtils::getChildNode(eqNode, "Underlying2");
160 if (!tmp2)
161 tmp2 = XMLUtils::getChildNode(eqNode, "Name2");
162 UnderlyingBuilder underlyingBuilder2("Underlying2", "Name2");
163 underlyingBuilder2.fromXML(tmp2);
164 underlying2_ = underlyingBuilder2.underlying();
165
166 XMLNode* fxt2 = XMLUtils::getChildNode(eqNode, "InitialPriceFXTerms2");
167 if (fxt2)
168 fxIndex2_ = XMLUtils::getChildValue(fxt2, "FXIndex", true);
169
170 initialPrice1_ = XMLUtils::getChildValueAsDouble(eqNode, "InitialPrice1", true);
171 initialPrice2_ = XMLUtils::getChildValueAsDouble(eqNode, "InitialPrice2", true);
172
173 tmp1 = XMLUtils::getChildNode(eqNode, "InitialPriceCurrency1");
174 if (tmp1)
175 initialPriceCurrency1_ = XMLUtils::getChildValue(eqNode, "InitialPriceCurrency1", true);
176 tmp2 = XMLUtils::getChildNode(eqNode, "InitialPriceCurrency2");
177 if (tmp2)
178 initialPriceCurrency2_ = XMLUtils::getChildValue(eqNode, "InitialPriceCurrency2", true);
179 strikeReturn_ = XMLUtils::getChildValueAsDouble(eqNode, "StrikeReturn", true);
180
181}
virtual void fromXML(XMLNode *node) override
Definition: optiondata.cpp:32
virtual void fromXML(XMLNode *node) override
Definition: trade.cpp:34
static Real getChildValueAsDouble(XMLNode *node, const string &name, bool mandatory=false, double defaultValue=0.0)
Definition: xmlutils.cpp:286
static string getChildValue(XMLNode *node, const string &name, bool mandatory=false, const string &defaultValue=string())
Definition: xmlutils.cpp:277
static XMLNode * getChildNode(XMLNode *n, const string &name="")
Definition: xmlutils.cpp:387
rapidxml::xml_node< char > XMLNode
Definition: xmlutils.hpp:60
+ Here is the call graph for this function:

◆ toXML()

XMLNode * toXML ( XMLDocument doc) const
overridevirtual

Reimplemented from Trade.

Definition at line 183 of file equityoutperformanceoption.cpp.

183 {
184 XMLNode* node = Trade::toXML(doc);
185 XMLNode* eqNode = doc.allocNode("EquityOutperformanceOptionData");
186 XMLUtils::appendNode(node, eqNode);
187 XMLUtils::appendNode(eqNode, option_.toXML(doc));
188
189 XMLUtils::addChild(doc, eqNode, "Currency", currency_);
190 XMLUtils::addChild(doc, eqNode, "Notional", amount_);
191
192 XMLUtils::appendNode(eqNode, underlying1_->toXML(doc));
193 XMLUtils::appendNode(eqNode, underlying2_->toXML(doc));
194
195 XMLUtils::addChild(doc, eqNode, "InitialPrice1", initialPrice1_);
196 XMLUtils::addChild(doc, eqNode, "InitialPrice2", initialPrice2_);
197 if (initialPriceCurrency1_ != "")
198 XMLUtils::addChild(doc, eqNode, "InitialPriceCurrency1", initialPriceCurrency1_);
199 if (initialPriceCurrency2_ != "")
200 XMLUtils::addChild(doc, eqNode, "InitialPriceCurrency2", initialPriceCurrency2_);
201 XMLUtils::addChild(doc, eqNode, "StrikeReturn", strikeReturn_);
202 if (knockInPrice_ != Null<Real>())
203 XMLUtils::addChild(doc, eqNode, "KnockInPrice", knockInPrice_);
204 if (knockOutPrice_ != Null<Real>())
205 XMLUtils::addChild(doc, eqNode, "KnockOutPrice", knockOutPrice_);
206
207 if (fxIndex1_ != "") {
208 XMLNode* fxNode = doc.allocNode("InitialPriceFXTerms1");
209 XMLUtils::addChild(doc, fxNode, "FXIndex", fxIndex1_);
210 XMLUtils::appendNode(eqNode, fxNode);
211 }
212
213 if (fxIndex2_ != "") {
214 XMLNode* fxNode = doc.allocNode("InitialPriceFXTerms2");
215 XMLUtils::addChild(doc, fxNode, "FXIndex", fxIndex2_);
216 XMLUtils::appendNode(eqNode, fxNode);
217 }
218
219 return node;
220}
virtual XMLNode * toXML(XMLDocument &doc) const override
Definition: optiondata.cpp:86
virtual XMLNode * toXML(XMLDocument &doc) const override
Definition: trade.cpp:46
static XMLNode * addChild(XMLDocument &doc, XMLNode *n, const string &name)
Definition: xmlutils.cpp:181
static void appendNode(XMLNode *parent, XMLNode *child)
Definition: xmlutils.cpp:406
+ Here is the call graph for this function:

Member Data Documentation

◆ option_

OptionData option_
private

Definition at line 82 of file equityoutperformanceoption.hpp.

◆ currency_

string currency_
private

Definition at line 83 of file equityoutperformanceoption.hpp.

◆ amount_

Real amount_
private

Definition at line 84 of file equityoutperformanceoption.hpp.

◆ underlying1_

QuantLib::ext::shared_ptr<ore::data::Underlying> underlying1_
private

Definition at line 85 of file equityoutperformanceoption.hpp.

◆ underlying2_

QuantLib::ext::shared_ptr<ore::data::Underlying> underlying2_
private

Definition at line 86 of file equityoutperformanceoption.hpp.

◆ initialPrice1_

Real initialPrice1_
private

Definition at line 87 of file equityoutperformanceoption.hpp.

◆ initialPrice2_

Real initialPrice2_
private

Definition at line 88 of file equityoutperformanceoption.hpp.

◆ strikeReturn_

Real strikeReturn_
private

Definition at line 89 of file equityoutperformanceoption.hpp.

◆ knockInPrice_

Real knockInPrice_
private

Definition at line 90 of file equityoutperformanceoption.hpp.

◆ knockOutPrice_

Real knockOutPrice_
private

Definition at line 91 of file equityoutperformanceoption.hpp.

◆ initialPriceCurrency1_

string initialPriceCurrency1_ = ""
private

Definition at line 92 of file equityoutperformanceoption.hpp.

◆ initialPriceCurrency2_

string initialPriceCurrency2_ = ""
private

Definition at line 93 of file equityoutperformanceoption.hpp.

◆ fxIndex1_

string fxIndex1_ = ""
private

Definition at line 94 of file equityoutperformanceoption.hpp.

◆ fxIndex2_

string fxIndex2_ = ""
private

Definition at line 95 of file equityoutperformanceoption.hpp.