28#include <ql/types.hpp>
63 const QuantLib::ext::shared_ptr<Market>& market,
65 const QuantLib::ext::shared_ptr<CrossAssetModelData>& config,
79 const bool dontCalibrate =
false,
81 const bool continueOnError =
false,
85 const SalvagingAlgorithm::Type salvaging = SalvagingAlgorithm::None,
87 const std::string&
id =
"unknown");
93 Handle<QuantExt::CrossAssetModel>
model()
const;
116 const Real mult)
const;
118 mutable std::vector<std::vector<QuantLib::ext::shared_ptr<BlackCalibrationHelper>>>
swaptionBaskets_;
119 mutable std::vector<std::vector<QuantLib::ext::shared_ptr<BlackCalibrationHelper>>>
fxOptionBaskets_;
120 mutable std::vector<std::vector<QuantLib::ext::shared_ptr<BlackCalibrationHelper>>>
eqOptionBaskets_;
121 mutable std::vector<std::vector<QuantLib::ext::shared_ptr<BlackCalibrationHelper>>>
comOptionBaskets_;
135 std::map<QuantLib::Size, QuantLib::ext::shared_ptr<QuantExt::ModelBuilder>>>
139 const QuantLib::ext::shared_ptr<ore::data::Market>
market_;
140 const QuantLib::ext::shared_ptr<CrossAssetModelData>
config_;
160 mutable RelinkableHandle<QuantExt::CrossAssetModel>
model_;
164 QuantLib::Size modelIdx,
165 const std::vector<QuantLib::ext::shared_ptr<QuantLib::BlackCalibrationHelper>>& calibrationBasket,
166 const QuantLib::ext::shared_ptr<QuantExt::InfDkParametrization>& inflationParam)
const;
170 QuantLib::Size modelIdx,
171 const QuantLib::ext::shared_ptr<InfJyBuilder>& jyBuilder,
172 const QuantLib::ext::shared_ptr<QuantExt::InfJyParameterization>& inflationParam)
const;
176 const std::vector<QuantLib::ext::shared_ptr<QuantLib::CalibrationHelper>>& calibrationBasket,
177 bool indexIsInterpolated)
const;
Cross Asset Model Builder.
const SalvagingAlgorithm::Type salvaging_
void forceRecalculate() override
void performCalculations() const override
std::vector< Real > comOptionCalibrationErrors_
void setJyPricingEngine(QuantLib::Size modelIdx, const std::vector< QuantLib::ext::shared_ptr< QuantLib::CalibrationHelper > > &calibrationBasket, bool indexIsInterpolated) const
std::vector< Array > optionExpiries_
QuantLib::ext::shared_ptr< QuantExt::MarketObserver > marketObserver_
const std::string configurationComCalibration_
void copyModelParams(const CrossAssetModel::AssetType t0, const Size param0, const Size index0, const Size i0, const CrossAssetModel::AssetType t1, const Size param1, const Size index1, const Size i1, const Real mult) const
void calibrateInflation(const InfJyData &data, QuantLib::Size modelIdx, const QuantLib::ext::shared_ptr< InfJyBuilder > &jyBuilder, const QuantLib::ext::shared_ptr< QuantExt::InfJyParameterization > &inflationParam) const
std::vector< Array > fxOptionExpiries_
std::vector< Array > comOptionExpiries_
std::vector< std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > > swaptionBaskets_
std::vector< Array > eqOptionExpiries_
void calibrateInflation(const InfDkData &data, QuantLib::Size modelIdx, const std::vector< QuantLib::ext::shared_ptr< QuantLib::BlackCalibrationHelper > > &calibrationBasket, const QuantLib::ext::shared_ptr< QuantExt::InfDkParametrization > &inflationParam) const
const bool continueOnError_
std::vector< std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > > comOptionBaskets_
const std::string configurationCrCalibration_
const std::vector< Real > & swaptionCalibrationErrors()
std::vector< std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > > eqOptionBaskets_
const std::string configurationInfCalibration_
Handle< QuantExt::CrossAssetModel > model() const
return the model
const std::string configurationFxCalibration_
std::map< QuantExt::CrossAssetModel::AssetType, std::map< QuantLib::Size, QuantLib::ext::shared_ptr< QuantExt::ModelBuilder > > > subBuilders_
Store model builders for each asset under each asset type.
const std::vector< Real > & eqOptionCalibrationErrors()
std::vector< Array > swaptionMaturities_
RelinkableHandle< QuantExt::CrossAssetModel > model_
const std::string configurationFinalModel_
bool requiresRecalibration() const override
const std::string configurationEqCalibration_
const std::vector< Real > & inflationCalibrationErrors()
const QuantLib::ext::shared_ptr< ore::data::Market > market_
std::vector< std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > > fxOptionBaskets_
std::vector< Real > eqOptionCalibrationErrors_
QuantLib::ext::shared_ptr< OptimizationMethod > optimizationMethod_
void resetModelParams(const CrossAssetModel::AssetType t, const Size param, const Size index, const Size i) const
const std::vector< Real > & fxOptionCalibrationErrors()
~CrossAssetModelBuilder()
Default destructor.
const std::string referenceCalibrationGrid_
const QuantLib::ext::shared_ptr< CrossAssetModelData > config_
const std::string configurationLgmCalibration_
const bool dontCalibrate_
std::vector< Real > inflationCalibrationErrors_
const std::vector< Real > & comOptionCalibrationErrors()
std::vector< Real > swaptionCalibrationErrors_
std::vector< Real > fxOptionCalibrationErrors_
static const string defaultConfiguration
Default configuration label.
Dodgson Kainth inflation model component data for the cross asset model.
Builder for a Jarrow Yildrim inflation model component.
Jarrow Yildirim inflation model component data for the cross asset model.
Serializable Credit Default Swap.