Class ResolvedCds
- java.lang.Object
-
- com.opengamma.strata.product.credit.ResolvedCds
-
- All Implemented Interfaces:
ResolvedProduct,Serializable,org.joda.beans.Bean,org.joda.beans.ImmutableBean
public final class ResolvedCds extends Object implements ResolvedProduct, org.joda.beans.ImmutableBean, Serializable
A single-name credit default swap (CDS), resolved for pricing.This is the resolved form of
Cdsand is an input to the pricers. Applications will typically create aResolvedCdsfrom aCdsusingCds.resolve(ReferenceData).- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classResolvedCds.BuilderThe bean-builder forResolvedCds.static classResolvedCds.MetaThe meta-bean forResolvedCds.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doubleaccruedYearFraction(LocalDate stepinDate)Calculates the accrued premium per fractional spread for unit notional.static ResolvedCds.Builderbuilder()Returns a builder used to create an instance of the bean.LocalDatecalculateEffectiveStartDate(LocalDate stepinDate)Obtains the effective start date from the step-in date.LocalDatecalculateSettlementDateFromValuation(LocalDate valuationDate, ReferenceData refData)Calculates the settlement date from the valuation date.booleanequals(Object obj)Optional<CreditCouponPaymentPeriod>findPeriod(LocalDate date)Finds the period that contains the specified date.LocalDategetAccrualEndDate()Obtains the accrual end date.LocalDategetAccrualStartDate()Obtains the accrual start date.BuySellgetBuySell()Gets whether the CDS is buy or sell.CurrencygetCurrency()Obtains the currency.DayCountgetDayCount()Gets the day count convention.doublegetFixedRate()Obtains the fixed coupon rate.StandardIdgetLegalEntityId()Gets the legal entity identifier.doublegetNotional()Obtains the notional.PaymentOnDefaultgetPaymentOnDefault()Gets the payment on default.ImmutableList<CreditCouponPaymentPeriod>getPaymentPeriods()Gets the periodic payments based on the fixed rate.LocalDategetProtectionEndDate()Gets the protection end date.ProtectionStartOfDaygetProtectionStart()Gets the protection start of the day.DaysAdjustmentgetSettlementDateOffset()Gets the number of days between valuation date and settlement date.DaysAdjustmentgetStepinDateOffset()Gets the number of days between valuation date and step-in date.inthashCode()static ResolvedCds.Metameta()The meta-bean forResolvedCds.ResolvedCds.MetametaBean()ResolvedCds.BuildertoBuilder()Returns a builder that allows this bean to be mutated.StringtoString()
-
-
-
Method Detail
-
getAccrualStartDate
public LocalDate getAccrualStartDate()
Obtains the accrual start date.In general this is different from the protection start date. Use
stepinDateOffsetto compute the protection start date.- Returns:
- the accrual start date
-
getAccrualEndDate
public LocalDate getAccrualEndDate()
Obtains the accrual end date.- Returns:
- the accrual end date
-
getNotional
public double getNotional()
Obtains the notional.- Returns:
- the notional
-
getCurrency
public Currency getCurrency()
Obtains the currency.- Returns:
- the currency
-
getFixedRate
public double getFixedRate()
Obtains the fixed coupon rate.- Returns:
- the fixed rate
-
calculateEffectiveStartDate
public LocalDate calculateEffectiveStartDate(LocalDate stepinDate)
Obtains the effective start date from the step-in date.- Parameters:
stepinDate- the step-in date- Returns:
- the effective start date
-
calculateSettlementDateFromValuation
public LocalDate calculateSettlementDateFromValuation(LocalDate valuationDate, ReferenceData refData)
Calculates the settlement date from the valuation date.- Parameters:
valuationDate- the valuation daterefData- the reference data to use- Returns:
- the settlement date
-
findPeriod
public Optional<CreditCouponPaymentPeriod> findPeriod(LocalDate date)
Finds the period that contains the specified date.The search is performed using unadjusted dates.
- Parameters:
date- the date to find the period for- Returns:
- the period, empty if not found
- Throws:
IllegalArgumentException- if more than one period matches
-
accruedYearFraction
public double accruedYearFraction(LocalDate stepinDate)
Calculates the accrued premium per fractional spread for unit notional.- Parameters:
stepinDate- the step-in date- Returns:
- the accrued year fraction
-
meta
public static ResolvedCds.Meta meta()
The meta-bean forResolvedCds.- Returns:
- the meta-bean, not null
-
builder
public static ResolvedCds.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public ResolvedCds.Meta metaBean()
- Specified by:
metaBeanin interfaceorg.joda.beans.Bean
-
getBuySell
public BuySell getBuySell()
Gets whether the CDS is buy or sell.A value of 'Buy' implies buying protection, where the fixed coupon is paid and the protection is received in the event of default. A value of 'Sell' implies selling protection, where the fixed coupon is received and the protection is paid in the event of default.
- Returns:
- the value of the property, not null
-
getLegalEntityId
public StandardId getLegalEntityId()
Gets the legal entity identifier.This identifier is used for the reference legal entity of the CDS.
- Returns:
- the value of the property, not null
-
getPaymentPeriods
public ImmutableList<CreditCouponPaymentPeriod> getPaymentPeriods()
Gets the periodic payments based on the fixed rate.Each payment period represents part of the life-time of the leg. In most cases, the periods do not overlap. However, since each payment period is essentially independent the data model allows overlapping periods.
- Returns:
- the value of the property, not empty
-
getProtectionEndDate
public LocalDate getProtectionEndDate()
Gets the protection end date.This may be different from the accrual end date of the last payment period in
periodicPayments.- Returns:
- the value of the property, not null
-
getDayCount
public DayCount getDayCount()
Gets the day count convention.This is used to convert dates to a numerical value.
- Returns:
- the value of the property, not null
-
getPaymentOnDefault
public PaymentOnDefault getPaymentOnDefault()
Gets the payment on default.Whether the accrued premium is paid in the event of a default.
- Returns:
- the value of the property, not null
-
getProtectionStart
public ProtectionStartOfDay getProtectionStart()
Gets the protection start of the day.When the protection starts on the start date.
- Returns:
- the value of the property, not null
-
getStepinDateOffset
public DaysAdjustment getStepinDateOffset()
Gets the number of days between valuation date and step-in date.The step-in date is also called protection effective date. It is usually 1 calendar day for standardized CDS contracts.
- Returns:
- the value of the property, not null
-
getSettlementDateOffset
public DaysAdjustment getSettlementDateOffset()
Gets the number of days between valuation date and settlement date.It is usually 3 business days for standardized CDS contracts.
- Returns:
- the value of the property, not null
-
toBuilder
public ResolvedCds.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-