@@ -82,7 +82,7 @@ void BondTrsUnderlyingBuilder::build(
8282 Real& underlyingMultiplier, std::map<std::string, double >& indexQuantities,
8383 std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices, Real& initialPrice,
8484 std::string& assetCurrency, std::string& creditRiskCurrency,
85- std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping, Date& maturity,
85+ std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping,
8686 const std::function<QuantLib::ext::shared_ptr<QuantExt::FxIndex>(
8787 const QuantLib::ext::shared_ptr<Market> market, const std::string& configuration, const std::string& domestic,
8888 const std::string& foreign, std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices)>&
@@ -120,8 +120,6 @@ void BondTrsUnderlyingBuilder::build(
120120 SimmCreditQualifierMapping (t->bondData ().securityId (), t->bondData ().creditGroup ());
121121 creditQualifierMapping[t->bondData ().creditCurveId ()] =
122122 SimmCreditQualifierMapping (t->bondData ().securityId (), t->bondData ().creditGroup ());
123- // FIXME shouldn't we leave that empty and let TRS determine the maturity date based on valuation / funding dates?
124- maturity = qlBond->maturityDate ();
125123}
126124
127125void ForwardBondTrsUnderlyingBuilder::build (
@@ -131,7 +129,7 @@ void ForwardBondTrsUnderlyingBuilder::build(
131129 Real& underlyingMultiplier, std::map<std::string, double >& indexQuantities,
132130 std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices, Real& initialPrice,
133131 std::string& assetCurrency, std::string& creditRiskCurrency,
134- std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping, Date& maturity,
132+ std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping,
135133 const std::function<QuantLib::ext::shared_ptr<QuantExt::FxIndex>(
136134 const QuantLib::ext::shared_ptr<Market> market, const std::string& configuration, const std::string& domestic,
137135 const std::string& foreign, std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices)>&
@@ -181,7 +179,7 @@ void AssetPositionTrsUnderlyingBuilder<T>::build(
181179 Real& underlyingMultiplier, std::map<std::string, double >& indexQuantities,
182180 std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices, Real& initialPrice,
183181 std::string& assetCurrency, std::string& creditRiskCurrency,
184- std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping, Date& maturity,
182+ std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping,
185183 const std::function<QuantLib::ext::shared_ptr<QuantExt::FxIndex>(
186184 const QuantLib::ext::shared_ptr<Market> market, const std::string& configuration, const std::string& domestic,
187185 const std::string& foreign, std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices)>&
@@ -267,7 +265,7 @@ void EquityOptionPositionTrsUnderlyingBuilder::build(
267265 Real& underlyingMultiplier, std::map<std::string, double >& indexQuantities,
268266 std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices, Real& initialPrice,
269267 std::string& assetCurrency, std::string& creditRiskCurrency,
270- std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping, Date& maturity,
268+ std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping,
271269 const std::function<QuantLib::ext::shared_ptr<QuantExt::FxIndex>(
272270 const QuantLib::ext::shared_ptr<Market> market, const std::string& configuration, const std::string& domestic,
273271 const std::string& foreign, std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices)>&
@@ -325,7 +323,7 @@ void BondPositionTrsUnderlyingBuilder::build(
325323 Real& underlyingMultiplier, std::map<std::string, double >& indexQuantities,
326324 std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices, Real& initialPrice,
327325 std::string& assetCurrency, std::string& creditRiskCurrency,
328- std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping, Date& maturity,
326+ std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping,
329327 const std::function<QuantLib::ext::shared_ptr<QuantExt::FxIndex>(
330328 const QuantLib::ext::shared_ptr<Market> market, const std::string& configuration, const std::string& domestic,
331329 const std::string& foreign, std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices)>&
@@ -388,9 +386,6 @@ void BondPositionTrsUnderlyingBuilder::build(
388386
389387 if (hasCreditRisk)
390388 creditRiskCurrency = assetCurrency;
391- // FIXME same question as for single bond underlying: shouldn't we leave that empty and let TRS determine the
392- // maturity date based on valuation / funding dates?
393- maturity = t->maturity ();
394389}
395390
396391void DerivativeTrsUnderlyingBuilder::build (
@@ -400,7 +395,7 @@ void DerivativeTrsUnderlyingBuilder::build(
400395 Real& underlyingMultiplier, std::map<std::string, double >& indexQuantities,
401396 std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices, Real& initialPrice,
402397 std::string& assetCurrency, std::string& creditRiskCurrency,
403- std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping, Date& maturity,
398+ std::map<std::string, SimmCreditQualifierMapping>& creditQualifierMapping,
404399 const std::function<QuantLib::ext::shared_ptr<QuantExt::FxIndex>(
405400 const QuantLib::ext::shared_ptr<Market> market, const std::string& configuration, const std::string& domestic,
406401 const std::string& foreign, std::map<std::string, QuantLib::ext::shared_ptr<QuantExt::FxIndex>>& fxIndices)>&
@@ -412,9 +407,6 @@ void DerivativeTrsUnderlyingBuilder::build(
412407 underlyingIndex = QuantLib::ext::make_shared<QuantExt::GenericIndex>(indexName);
413408 indexQuantities[indexName] = 1.0 ;
414409 underlyingMultiplier = 1.0 ;
415- // FIXME same question as for single bond underlying: shouldn't we leave that empty and let TRS determine the
416- // maturity date based on valuation / funding dates?
417- maturity = underlying->maturity ();
418410
419411 auto fxIndex = getFxIndex (engineFactory->market (), engineFactory->configuration (MarketContext::pricing),
420412 assetCurrency, fundingCurrency, fxIndices);
0 commit comments