<PricingEngines>
  <Product type="BondTRS">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingBondTRSEngine</Engine>
    <EngineParameters>
      <Parameter name="TimestepPeriod">6M</Parameter>
    </EngineParameters>
  </Product>
  <Product type="ForwardBond">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingForwardBondEngine</Engine>
    <EngineParameters>
      <Parameter name="TimestepPeriod">3M</Parameter>
    </EngineParameters>
  </Product>  
  <Product type="Swap">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingSwapEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="CrossCurrencySwap">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingCrossCurrencySwapEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="FxForward">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingFxForwardEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="FxOption">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>AnalyticEuropeanEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="FxOptionAmerican">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>FdBlackScholesVanillaEngine</Engine>
    <EngineParameters>
      <Parameter name="Scheme">Douglas</Parameter>
      <Parameter name="TimeGridPerYear">100</Parameter>
      <Parameter name="XGrid">100</Parameter>
      <Parameter name="DampingSteps">0</Parameter>
      <Parameter name="EnforceMonotoneVariance">true</Parameter>
    </EngineParameters>
  </Product>
  <Product type="EuropeanSwaption">
    <Model>BlackBachelier</Model>
    
    <ModelParameters />
    <Engine>BlackBachelierSwaptionEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="BermudanSwaption">
    <Model>LGM</Model>
    <ModelParameters>
      <Parameter name="Calibration">Bootstrap</Parameter>
      <Parameter name="CalibrationStrategy">CoterminalATM</Parameter>
      <Parameter name="Reversion">0.0</Parameter>
      <Parameter name="ReversionType">HullWhite</Parameter>
      <Parameter name="Volatility">0.01</Parameter>
      <Parameter name="VolatilityType">Hagan</Parameter>
      
      <Parameter name="ShiftHorizon">0.5</Parameter>
      <Parameter name="Tolerance">0.10</Parameter>
    </ModelParameters>
    <Engine>Grid</Engine>
    <EngineParameters>
      <Parameter name="sy">3.0</Parameter>
      <Parameter name="ny">10</Parameter>
      <Parameter name="sx">3.0</Parameter>
      <Parameter name="nx">10</Parameter>
    </EngineParameters>
  </Product>
  <Product type="CapFloor">
    <Model>IborCapModel</Model>
    <ModelParameters />
    <Engine>IborCapEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="YYCapFloor">
    <Model>YYCapModel</Model>
    <ModelParameters />
    <Engine>YYCapEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="CapFlooredIborLeg">
    <Model>BlackOrBachelier</Model>
    <ModelParameters />
    <Engine>BlackIborCouponPricer</Engine>
    <EngineParameters>
      
      <Parameter name="TimingAdjustment">Black76</Parameter>
      
      <Parameter name="Correlation">1.0</Parameter>
    </EngineParameters>
  </Product>
  <Product type="EquityForward">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingEquityForwardEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="EquityOption">
    <Model>BlackScholesMerton</Model>
    <ModelParameters />
    <Engine>AnalyticEuropeanEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="QuantoEquityOption">
    <Model>BlackScholes</Model>
    <ModelParameters />
    <Engine>AnalyticEuropeanEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="EquityOptionAmerican">
    <Model>BlackScholesMerton</Model>
    <ModelParameters />
    <Engine>FdBlackScholesVanillaEngine</Engine>
    <EngineParameters>
      <Parameter name="Scheme">Douglas</Parameter>
      <Parameter name="TimeGridPerYear">100</Parameter>
      <Parameter name="XGrid">100</Parameter>
      <Parameter name="DampingSteps">0</Parameter>
      <Parameter name="EnforceMonotoneVariance">true</Parameter>
    </EngineParameters>
  </Product>
  <Product type="VarianceSwap">
    <Model>BlackScholesMerton</Model>
    <ModelParameters />
    <Engine>ReplicatingVarianceSwapEngine</Engine>
    <EngineParameters>
      
      
      <Parameter name="NumberOfCalls">8</Parameter>
      <Parameter name="NumberOfPuts">11</Parameter>
      <Parameter name="MoneynessStep">0.05</Parameter>
    </EngineParameters>
  </Product>
  <Product type="Bond">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingRiskyBondEngine</Engine>
    <EngineParameters>
      <Parameter name="TimestepPeriod">6M</Parameter>
    </EngineParameters>
  </Product>
  <Product type="CreditDefaultSwap">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>MidPointCdsEngine</Engine>
    <EngineParameters />
  </Product>
  
  <Product type="CMS">
    <Model>LinearTSR</Model>
    <ModelParameters />
    <Engine>LinearTSRPricer</Engine>
    <EngineParameters>
      <Parameter name="MeanReversion">0.0</Parameter>
      
      <Parameter name="Policy">RateBound</Parameter>
      
      <Parameter name="LowerRateBoundLogNormal">0.0001</Parameter>
      <Parameter name="UpperRateBoundLogNormal">2.0000</Parameter>
      
      <Parameter name="LowerRateBoundNormal">-2.0000</Parameter>
      <Parameter name="UpperRateBoundNormal">2.0000</Parameter>
      
      <Parameter name="VegaRatio">0.01</Parameter>
      
      <Parameter name="PriceThreshold">0.0000001</Parameter>
      
      <Parameter name="BsStdDev">3.0</Parameter>
    </EngineParameters>
  </Product>
  
  <Product type="CMS_DEACTIVATED">
    <Model>Hagan</Model>
    <ModelParameters />
    <Engine>Analytic</Engine>
    <EngineParameters>
      <Parameter name="YieldCurveModel">Standard</Parameter>
      
      <Parameter name="MeanReversion">0.0</Parameter>
    </EngineParameters>
  </Product>
  
  <Product type="CMS_DEACTIVATED">
    <Model>Hagan</Model>
    <ModelParameters />
    <Engine>Numerical</Engine>
    <EngineParameters>
      <Parameter name="YieldCurveModel">Standard</Parameter>
      
      <Parameter name="MeanReversion">0.0</Parameter>
      <Parameter name="UpperLimit">0.0</Parameter>
      <Parameter name="LowerLimit">1.0</Parameter>
      <Parameter name="Precision">0.000001</Parameter>
    </EngineParameters>
  </Product>
  
  <Product type="CMSSpread">
    <Model>BrigoMercurio</Model>
    <ModelParameters>
      <Parameter name="Correlation_EUR">0.8</Parameter>
      <Parameter name="Correlation_USD">0.75</Parameter>
      <Parameter name="Correlation_GBP">0.72</Parameter>
      <Parameter name="Correlation_CHF">0.7</Parameter>
    </ModelParameters>
    <Engine>Analytic</Engine>
    <EngineParameters>
      <Parameter name="IntegrationPoints">16</Parameter>
    </EngineParameters>
  </Product>
  <Product type="CommodityForward">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingCommodityForwardEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="CommoditySwap">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>CommoditySwapEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="CommoditySwaption">
    <Model>Black</Model>
    <ModelParameters />
    <Engine>AnalyticalApproximation</Engine>
    <EngineParameters>
      <Parameter name="beta">2.25</Parameter>
    </EngineParameters>
  </Product>
  <Product type="CommodityOption">
    <Model>BlackScholes</Model>
    <ModelParameters />
    <Engine>AnalyticEuropeanEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="CommodityAveragePriceOption">
    <Model>Black</Model>
    <ModelParameters />
    <Engine>AnalyticalApproximation</Engine>
    <EngineParameters>
      <Parameter name="beta">0</Parameter>
    </EngineParameters>
  </Product>
  <Product type="IndexCreditDefaultSwap">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>MidPointIndexCdsEngine</Engine>
    <EngineParameters>
      <Parameter name="Curve">Underlying</Parameter>
    </EngineParameters>
  </Product>
  <Product type="IndexCreditDefaultSwapOption">
    <Model>Black</Model>
    <ModelParameters />
    <Engine>BlackIndexCdsOptionEngine</Engine>
    <EngineParameters>
      
      
      <Parameter name="Curve">Underlying</Parameter>
      
    </EngineParameters>
  </Product>
  <Product type="FlexiSwap">
    <Model>LGM</Model>
    <ModelParameters>
      <Parameter name="Calibration">Bootstrap</Parameter>
      <Parameter name="CalibrationStrategy">CoterminalDealStrike</Parameter>
      <Parameter name="MinGapCalibrationExpiries">80</Parameter>
      <Parameter name="Reversion">0.0</Parameter>
      <Parameter name="ReversionType">HullWhite</Parameter>
      <Parameter name="Volatility">0.01</Parameter>
      <Parameter name="VolatilityType">HullWhite</Parameter>
      <Parameter name="Tolerance">0.02</Parameter>
    </ModelParameters>
    <Engine>Grid</Engine>
    <EngineParameters>
      <Parameter name="method">Automatic</Parameter>
      <Parameter name="singleSwaptionThreshold">20.0</Parameter>
      <Parameter name="sy">5.0</Parameter>
      <Parameter name="ny">30</Parameter>
      <Parameter name="sx">5.0</Parameter>
      <Parameter name="nx">30</Parameter>
    </EngineParameters>
  </Product>
  <Product type="BalanceGuaranteedSwap">
    <Model>LGM-FlexiSwap</Model>
    <ModelParameters>
      <Parameter name="MinCPRMultiplier">0.0</Parameter>
      <Parameter name="MaxCPRMultiplier">2.0</Parameter>
      <Parameter name="Calibration">Bootstrap</Parameter>
      <Parameter name="CalibrationStrategy">CoterminalDealStrike</Parameter>
      <Parameter name="MinGapCalibrationExpiries">80</Parameter>
      <Parameter name="Reversion">0.0</Parameter>
      <Parameter name="ReversionType">HullWhite</Parameter>
      <Parameter name="Volatility">0.01</Parameter>
      <Parameter name="VolatilityType">HullWhite</Parameter>
      <Parameter name="Tolerance">0.02</Parameter>
    </ModelParameters>
    <Engine>Grid</Engine>
    <EngineParameters>
      <Parameter name="method">Automatic</Parameter>
      <Parameter name="singleSwaptionThreshold">20.0</Parameter>
      <Parameter name="sy">5.0</Parameter>
      <Parameter name="ny">30</Parameter>
      <Parameter name="sx">5.0</Parameter>
      <Parameter name="nx">30</Parameter>
    </EngineParameters>
  </Product>
  <Product type="SensiTrade">
    <Model>SensiTrade</Model>
    <ModelParameters />
    <Engine>SensiTradeEngine</Engine>
    <EngineParameters>
      <Parameter name="SwaptionTenors">1Y,2Y</Parameter>
      <Parameter name="CapFloorStrikes">0.01</Parameter>
    </EngineParameters>
  </Product>
  
  <Product type="SyntheticCDO">
    <Model>GaussCopula</Model>
    <ModelParameters>
      <Parameter name="correlation">0.0</Parameter>
      <Parameter name="min">-5.0</Parameter>
      <Parameter name="max">5.0</Parameter>
      <Parameter name="steps">64</Parameter>
    </ModelParameters>
    <Engine>Bucketing</Engine>
    <EngineParameters>
      <Parameter name="buckets">124</Parameter>
      <Parameter name="homogeneousPoolWhenJustified">Y</Parameter>
    </EngineParameters>
  </Product>
  <Product type="FormulaBasedCoupon">
    <Model>BrigoMercurio</Model>
    <ModelParameters>
      <Parameter name="FXSource">GENERIC</Parameter>
    </ModelParameters>
    <Engine>MC</Engine>
    <EngineParameters>
      <Parameter name="Samples">10000</Parameter>
      <Parameter name="Seed">42</Parameter>
      <Parameter name="Sobol">Y</Parameter>
      <Parameter name="SalvagingAlgorithm">Spectral</Parameter>
    </EngineParameters>
  </Product>
  
  <Product type="FxVarianceSwap">
    <Model>BlackScholesMerton</Model>
    <ModelParameters />
    <Engine>ReplicatingVarianceSwapEngine</Engine>
    <EngineParameters>
      <Parameter name="NumberOfCalls">80</Parameter>
      <Parameter name="NumberOfPuts">110</Parameter>
      <Parameter name="MoneynessStep">0.005</Parameter>
      <Parameter name="StrikePivotType">Forward</Parameter>
    </EngineParameters>
  </Product>
  
  <Product type="EquityVarianceSwap">
    <Model>BlackScholesMerton</Model>
    <ModelParameters />
    <Engine>ReplicatingVarianceSwapEngine</Engine>
    <EngineParameters>
      <Parameter name="NumberOfCalls">80</Parameter>
      <Parameter name="NumberOfPuts">110</Parameter>
      <Parameter name="MoneynessStep">0.005</Parameter>
      <Parameter name="StrikePivotType">Forward</Parameter>
    </EngineParameters>
  </Product>
  <Product type="FxDigitalOption">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>AnalyticEuropeanEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="FxBarrierOption">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>AnalyticBarrierEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="FxDigitalBarrierOption">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>FdBlackScholesBarrierEngine</Engine>
    <EngineParameters>
      <Parameter name="Scheme">Douglas</Parameter>
      <Parameter name="TimeGridPerYear">100</Parameter>
      <Parameter name="XGrid">400</Parameter>
      <Parameter name="DampingSteps">0</Parameter>
    </EngineParameters>
  </Product>
  <Product type="FxDoubleBarrierOption">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>AnalyticDoubleBarrierEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="FxDoubleTouchOption">
      <Model>GarmanKohlhagen</Model>
      <ModelParameters />
      <Engine>AnalyticDoubleBarrierBinaryEngine</Engine>
      <EngineParameters />
  </Product>
  
  <Product type="FxTouchOption">
    <Model>GarmanKohlhagen</Model>
    <ModelParameters />
    <Engine>AnalyticDigitalAmericanEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="CommodityForward">
    <Model>DiscountedCashflows</Model>
    <ModelParameters />
    <Engine>DiscountingCommodityForwardEngine</Engine>
    <EngineParameters />
  </Product>
  <Product type="RiskParticipationAgreement_Vanilla">
    
    <Model>Black</Model>
    <ModelParameters>
      <Parameter name="Reversion">0.0</Parameter>
    </ModelParameters>
    <Engine>Analytic</Engine>
    <EngineParameters>
      <Parameter name="AlwaysRecomputeOptionRepresentation">false</Parameter>
      
      <Parameter name="MaxGapDays">400</Parameter>
      
      <Parameter name="MaxDiscretisationPoints">20</Parameter>
    </EngineParameters>
  </Product>
  <Product type="RiskParticipationAgreement_Structured">
    
    <Model>LGM</Model>
    <ModelParameters>
      <Parameter name="Calibration">Bootstrap</Parameter>
      <Parameter name="CalibrationStrategy">CoterminalATM</Parameter>
      
      <Parameter name="MinGapCalibrationExpiries">80</Parameter>
      <Parameter name="Reversion">0.0</Parameter>
      <Parameter name="ReversionType">HullWhite</Parameter>
      <Parameter name="Volatility">0.01</Parameter>
      <Parameter name="VolatilityType">Hagan</Parameter>
      
      <Parameter name="ShiftHorizon">0.5</Parameter>
      <Parameter name="Tolerance">0.02</Parameter>
    </ModelParameters>
    <Engine>Grid</Engine>
    <EngineParameters>
      <Parameter name="sy">3.0</Parameter>
      <Parameter name="ny">10</Parameter>
      <Parameter name="sx">3.0</Parameter>
      <Parameter name="nx">10</Parameter>
      
      <Parameter name="MaxGapDays">400</Parameter>
      
      <Parameter name="MaxDiscretisationPoints">20</Parameter>
    </EngineParameters>
  </Product>

  <Product type="EquityAsianOptionArithmeticPrice">
    <Model>ScriptedTrade</Model>
    <ModelParameters/>
    <Engine>ScriptedTrade</Engine>
    <EngineParameters/>
  </Product>
  <Product type="EquityAsianOptionArithmeticStrike">
    <Model>ScriptedTrade</Model>
    <ModelParameters/>
    <Engine>ScriptedTrade</Engine>
    <EngineParameters/>
  </Product>
  <Product type="FxAsianOptionArithmeticPrice">
    <Model>ScriptedTrade</Model>
    <ModelParameters/>
    <Engine>ScriptedTrade</Engine>
    <EngineParameters/>
  </Product>
  <Product type="FxAsianOptionArithmeticStrike">
    <Model>ScriptedTrade</Model>
    <ModelParameters/>
    <Engine>ScriptedTrade</Engine>
    <EngineParameters/>
  </Product>

  <Product type="ScriptedTrade">
    <Model>Generic</Model>
    <ModelParameters>
      <!-- shared parameters -->
      <Parameter name="BaseCcy">USD</Parameter>
      <Parameter name="EnforceBaseCcy">false</Parameter>
      <Parameter name="GridCoarsening">3M(1W),1Y(1M),5Y(3M),10Y(1Y),50Y(5Y)</Parameter>
      <Parameter name="IrReversion_EUR">0.0</Parameter>
      <Parameter name="IrReversion_GBP">0.0</Parameter>
      <Parameter name="IrReversion_USD">0.0</Parameter>
      <Parameter name="IrReversion_JPY">0.0</Parameter>
      <Parameter name="FullDynamicIr">true</Parameter>
      <Parameter name="FullDynamicFx">true</Parameter>
      <Parameter name="ReferenceCalibrationGrid">400,3M</Parameter>
      <Parameter name="Calibration">Deal</Parameter>
      <Parameter name="Model">BlackScholes</Parameter>
      <!-- product specific parameters -->
      <Parameter name="Model_SingleAssetOption(EQ)">BlackScholes</Parameter>
      <Parameter name="Model_SingleAssetOption(FX)">BlackScholes</Parameter>
      <Parameter name="Model_SingleAssetOption(COMM)">BlackScholes</Parameter>
      <Parameter name="Model_SingleAssetOptionBwd(EQ)">BlackScholes</Parameter>
      <Parameter name="Model_SingleAssetOptionBwd(FX)">BlackScholes</Parameter>
      <Parameter name="Model_SingleAssetOptionBwd(COMM)">BlackScholes</Parameter>
      <Parameter name="Model_SingleUnderlyingIrOption">GaussianCam</Parameter>
      <Parameter name="Model_MultiUnderlyingIrOption">GaussianCam</Parameter>
      <Parameter name="Model_IrHybrid(EQ)">GaussianCam</Parameter>
      <Parameter name="Model_IrHybrid(FX)">GaussianCam</Parameter>
      <Parameter name="Model_IrHybrid(COMM)">GaussianCam</Parameter>
    </ModelParameters>
    <Engine>Generic</Engine>
    <EngineParameters>
      <!-- shared parameters -->
      <Parameter name="Engine">MC</Parameter>
      <Parameter name="Samples">10000</Parameter>
      <Parameter name="StateGridPoints">200</Parameter>
      <Parameter name="MesherEpsilon">1E-4</Parameter>
      <Parameter name="MesherScaling">1.5</Parameter>
      <Parameter name="MesherConcentration">0.1</Parameter>
      <Parameter name="MesherMaxConcentratingPoints">9999</Parameter>
      <Parameter name="MesherIsStatic">true</Parameter>
      <Parameter name="RegressionOrder">2</Parameter>
      <Parameter name="TimeStepsPerYear">24</Parameter>
      <Parameter name="Interactive">false</Parameter>
      <Parameter name="BootstrapTolerance">0.1</Parameter>
      <!-- product specific parameters -->
      <Parameter name="RegressionOrder_SingleAssetOption(EQ)">6</Parameter>
      <Parameter name="RegressionOrder_SingleAssetOption(FX)">6</Parameter>
      <Parameter name="RegressionOrder_SingleAssetOption(COMM)">6</Parameter>
      <Parameter name="Engine_SingleAssetOptionBwd(EQ)">FD</Parameter>
      <Parameter name="Engine_SingleAssetOptionBwd(FX)">FD</Parameter>
      <Parameter name="Engine_SingleAssetOptionBwd(COMM)">FD</Parameter>
      <Parameter name="Engine_SingleUnderlyingIrOption">6</Parameter>
      <!-- MultiUnderlyingIrOption -->
      <!-- IrHybrid(EQ) -->
      <!-- IrHybrid(FX) -->
      <!-- IrHybrid(COMM) -->
    </EngineParameters>
  </Product>

  
  <GlobalParameters>
    <Parameter name="ContinueOnCalibrationError">true</Parameter>
    <Parameter name="PseudoCurrency.TreatAsFX">false</Parameter>
    <Parameter name="PseudoCurrency.BaseCurrency">USD</Parameter>
    <Parameter name="PseudoCurrency.FXIndexTag">GENERIC</Parameter>
    <Parameter name="PseudoCurrency.Curve.XAU">PM:XAUUSD</Parameter>
    <Parameter name="PseudoCurrency.Curve.XAG">PM:XAGUSD</Parameter>
    <Parameter name="PseudoCurrency.Curve.XPT">PM:XPTUSD</Parameter>
    <Parameter name="PseudoCurrency.Curve.XPD">PM:XPDUSD</Parameter>
  </GlobalParameters>
</PricingEngines>
