58 void build(
const QuantLib::ext::shared_ptr<ore::data::EngineFactory>&)
override;
61 std::map<AssetClass, std::set<std::string>>
62 underlyingIndices(
const QuantLib::ext::shared_ptr<ReferenceDataManager>& referenceDataManager =
nullptr)
const override;
66 const std::vector<QuantLib::ext::shared_ptr<QuantExt::EquityIndex2>>&
indices()
const {
return indices_; }
77 std::vector<QuantLib::ext::shared_ptr<QuantExt::EquityIndex2>>
indices_;
91 const std::vector<QuantLib::ext::shared_ptr<QuantExt::EquityIndex2>>& equities,
92 const std::vector<Real>& weights,
93 const std::vector<Handle<Quote>>& fxConversion = {});
98 void fetchResults(
const QuantLib::PricingEngine::results*)
const override;
106 std::vector<QuantLib::ext::shared_ptr<QuantExt::EquityIndex2>>
equities_;
115 std::vector<QuantLib::ext::shared_ptr<QuantExt::EquityIndex2>>
equities_;
128 :
public QuantLib::GenericEngine<EquityPositionInstrumentWrapper::arguments,
129 EquityPositionInstrumentWrapper::results> {};
Serializable object holding generic trade data, reporting dimensions.
Serializable Equity Position Data.
EquityPositionData(const Real quantity, const std::vector< EquityUnderlying > &underlyings)
const std::vector< EquityUnderlying > & underlyings() const
void fromXML(XMLNode *node) override
XMLNode * toXML(XMLDocument &doc) const override
std::vector< EquityUnderlying > underlyings_
Serializable Equity Position.
std::map< AssetClass, std::set< std::string > > underlyingIndices(const QuantLib::ext::shared_ptr< ReferenceDataManager > &referenceDataManager=nullptr) const override
EquityPosition(const Envelope &env, const EquityPositionData &data)
void fromXML(XMLNode *node) override
std::vector< Handle< Quote > > fxConversion_
void setNpvCurrencyConversion(const std::string &ccy, const Handle< Quote > &conversion)
XMLNode * toXML(XMLDocument &doc) const override
const EquityPositionData & data() const
std::vector< QuantLib::ext::shared_ptr< QuantExt::EquityIndex2 > > indices_
const std::vector< Real > & weights() const
std::vector< Real > weights_
void build(const QuantLib::ext::shared_ptr< ore::data::EngineFactory > &) override
bool isSingleCurrency() const
const std::vector< QuantLib::ext::shared_ptr< QuantExt::EquityIndex2 > > & indices() const
std::vector< QuantLib::ext::shared_ptr< QuantExt::EquityIndex2 > > equities_
std::vector< Handle< Quote > > fxConversion_
std::vector< Real > weights_
Handle< Quote > npvCcyConversion_
void validate() const override
void calculate() const override
Equity Position instrument wrapper.
void fetchResults(const QuantLib::PricingEngine::results *) const override
std::vector< QuantLib::ext::shared_ptr< QuantExt::EquityIndex2 > > equities_
bool isExpired() const override
std::vector< Handle< Quote > > fxConversion_
std::vector< Real > weights_
Handle< Quote > npvCcyConversion_
void setupExpired() const override
void setupArguments(QuantLib::PricingEngine::arguments *) const override
void setNpvCurrencyConversion(const Handle< Quote > &npvCcyConversion)
Small XML Document wrapper class.
Base class for all serializable classes.
Serializable Credit Default Swap.
base trade data model and serialization