Class ResolvedCdsIndex
- java.lang.Object
-
- com.opengamma.strata.product.credit.ResolvedCdsIndex
-
- All Implemented Interfaces:
ResolvedProduct
,Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class ResolvedCdsIndex extends Object implements ResolvedProduct, org.joda.beans.ImmutableBean, Serializable
A CDS (portfolio) index, resolved for pricing.This is the resolved form of
CdsIndex
and is an input to the pricers. Applications will typically create aResolvedCdsIndex
from aCdsIndex
usingCdsIndex.resolve(ReferenceData)
.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ResolvedCdsIndex.Builder
The bean-builder forResolvedCdsIndex
.static class
ResolvedCdsIndex.Meta
The meta-bean forResolvedCdsIndex
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description double
accruedYearFraction(LocalDate stepinDate)
Calculates the accrued premium per fractional spread for unit notional.static ResolvedCdsIndex.Builder
builder()
Returns a builder used to create an instance of the bean.LocalDate
calculateEffectiveStartDate(LocalDate stepinDate)
Obtains the effective start date from the step-in date.LocalDate
calculateSettlementDateFromValuation(LocalDate valuationDate, ReferenceData refData)
Calculates the settlement date from the valuation date.boolean
equals(Object obj)
Optional<CreditCouponPaymentPeriod>
findPeriod(LocalDate date)
Finds the period that contains the specified date.LocalDate
getAccrualEndDate()
Obtains the accrual end date.LocalDate
getAccrualStartDate()
Obtains the accrual start date.BuySell
getBuySell()
Gets whether the CDS index is buy or sell.StandardId
getCdsIndexId()
Gets the CDS index identifier.Currency
getCurrency()
Obtains the currency.DayCount
getDayCount()
Gets the day count convention.double
getFixedRate()
Obtains the fixed coupon rate.ImmutableList<StandardId>
getLegalEntityIds()
Gets the legal entity identifiers.double
getNotional()
Obtains the notional.PaymentOnDefault
getPaymentOnDefault()
Gets the payment on default.ImmutableList<CreditCouponPaymentPeriod>
getPaymentPeriods()
Gets the periodic payments based on the fixed rate.LocalDate
getProtectionEndDate()
Gets the protection end date.ProtectionStartOfDay
getProtectionStart()
Gets the protection start of the day.DaysAdjustment
getSettlementDateOffset()
Gets the number of days between valuation date and settlement date.DaysAdjustment
getStepinDateOffset()
Gets the number of days between valuation date and step-in date.int
hashCode()
static ResolvedCdsIndex.Meta
meta()
The meta-bean forResolvedCdsIndex
.ResolvedCdsIndex.Meta
metaBean()
ResolvedCdsIndex.Builder
toBuilder()
Returns a builder that allows this bean to be mutated.ResolvedCds
toSingleNameCds()
Reduce this instance toResolvedCds
.String
toString()
-
-
-
Method Detail
-
getAccrualStartDate
public LocalDate getAccrualStartDate()
Obtains the accrual start date.In general this is different from the protection start date. Use
stepinDateOffset
to 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
-
toSingleNameCds
public ResolvedCds toSingleNameCds()
Reduce this instance toResolvedCds
.The resultant object is used for pricing CDS index products under the homogeneous pool assumption on constituent credit curves.
- Returns:
- the CDS product
-
meta
public static ResolvedCdsIndex.Meta meta()
The meta-bean forResolvedCdsIndex
.- Returns:
- the meta-bean, not null
-
builder
public static ResolvedCdsIndex.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public ResolvedCdsIndex.Meta metaBean()
- Specified by:
metaBean
in interfaceorg.joda.beans.Bean
-
getBuySell
public BuySell getBuySell()
Gets whether the CDS index 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
-
getCdsIndexId
public StandardId getCdsIndexId()
Gets the CDS index identifier.This identifier is used to refer this CDS index product.
- Returns:
- the value of the property, not null
-
getLegalEntityIds
public ImmutableList<StandardId> getLegalEntityIds()
Gets the legal entity identifiers.These identifiers refer to the reference legal entities of the CDS index.
- 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 index 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 index contracts.
- Returns:
- the value of the property, not null
-
toBuilder
public ResolvedCdsIndex.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-