public abstract class IsdaCompliantCreditCurveCalibrator extends Object
A single credit curve is calibrated for credit default swaps on a legal entity.
The curve is defined using one or more nodes. Each node primarily defines enough information to produce a reference CDS trade. All of the curve nodes must be based on a common legal entity and currency.
Calibration involves pricing, and re-pricing, these trades to find the best fit using a root finder. Relevant discount curve and recovery rate curve are required to complete the calibration.
| Modifier | Constructor and Description |
|---|---|
protected |
IsdaCompliantCreditCurveCalibrator() |
protected |
IsdaCompliantCreditCurveCalibrator(AccrualOnDefaultFormula formula) |
protected |
IsdaCompliantCreditCurveCalibrator(AccrualOnDefaultFormula formula,
ArbitrageHandling arbHandling) |
| Modifier and Type | Method and Description |
|---|---|
LegalEntitySurvivalProbabilities |
calibrate(IsdaCreditCurveDefinition curveDefinition,
MarketData marketData,
ImmutableCreditRatesProvider ratesProvider,
ReferenceData refData)
Calibrates the ISDA compliant credit curve to the market data.
|
abstract NodalCurve |
calibrate(List<ResolvedCdsTrade> calibrationCDSs,
DoubleArray flactionalSpreads,
DoubleArray pointsUpfront,
CurveName name,
LocalDate valuationDate,
CreditDiscountFactors discountFactors,
RecoveryRates recoveryRates,
ReferenceData refData)
Calibrate the ISDA compliant credit curve to points upfront and fractional spread.
|
protected AccrualOnDefaultFormula |
getAccrualOnDefaultFormula()
Obtains the accrual-on-default formula.
|
protected ArbitrageHandling |
getArbitrageHandling()
Obtains the arbitrage handling.
|
protected IsdaCdsTradePricer |
getTradePricer()
Obtains the trade pricer used in this calibration.
|
protected IsdaCompliantCreditCurveCalibrator()
protected IsdaCompliantCreditCurveCalibrator(AccrualOnDefaultFormula formula)
protected IsdaCompliantCreditCurveCalibrator(AccrualOnDefaultFormula formula, ArbitrageHandling arbHandling)
protected ArbitrageHandling getArbitrageHandling()
See ArbitrageHandling for detail.
protected AccrualOnDefaultFormula getAccrualOnDefaultFormula()
See AccrualOnDefaultFormula for detail.
protected IsdaCdsTradePricer getTradePricer()
public LegalEntitySurvivalProbabilities calibrate(IsdaCreditCurveDefinition curveDefinition, MarketData marketData, ImmutableCreditRatesProvider ratesProvider, ReferenceData refData)
This creates the single credit curve for a legal entity.
The curve nodes in IsdaCreditCurveDefinition should be single-name credit default swaps on this legal entity.
The relevant discount curve and recovery rate curve must be stored in ratesProvider.
The day count convention for the resulting credit curve is the same as that of the discount curve.
curveDefinition - the curve definitionmarketData - the market dataratesProvider - the rates providerrefData - the reference datapublic abstract NodalCurve calibrate(List<ResolvedCdsTrade> calibrationCDSs, DoubleArray flactionalSpreads, DoubleArray pointsUpfront, CurveName name, LocalDate valuationDate, CreditDiscountFactors discountFactors, RecoveryRates recoveryRates, ReferenceData refData)
calibrationCDSs - the calibration CDSflactionalSpreads - the fractional spreadspointsUpfront - the points upfront valuesname - the curve namevaluationDate - the valuation datediscountFactors - the discount factorsrecoveryRates - the recovery ratesrefData - the reference dataCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.