Options
All
  • Public
  • Public/Protected
  • All
Menu

Capped or floored inflation coupon.

Essentially a copy of the nominal version but taking a different index and a set of pricers (not just one).

The payoff $ P $ of a capped inflation-rate coupon with paysWithin = true is:

$$ P = N \times T \times \min(a L + b, C). $$

where $ N $ is the notional, $ T $ is the accrual time, $ L $ is the inflation rate, $ a $ is its gearing, $ b $ is the spread, and $ C $ and $ F $ the strikes.

The payoff of a floored inflation-rate coupon is:

$$ P = N \times T \times \max(a L + b, F). $$

The payoff of a collared inflation-rate coupon is:

$$ P = N \times T \times \min(\max(a L + b, F), C). $$

If paysWithin = false then the inverse is returned (this provides for instrument cap and caplet prices).

They can be decomposed in the following manner. Decomposition of a capped floating rate coupon when paysWithin = true: $$ R = \min(a L + b, C) = (a L + b) + \min(C - b - \xi |a| L, 0) $$ where $ \xi = sgn(a) $. Then: $$ R = (a L + b) + |a| \min(\frac{C - b}{|a|} - \xi L, 0) $$

Hierarchy

Implements

Index

Properties

_accrualEndDate

_accrualEndDate: Date

_accrualPeriod

_accrualPeriod: Real

_accrualStartDate

_accrualStartDate: Date

Protected _cap

_cap: Rate

Protected _dayCounter

_dayCounter: DayCounter

_exCouponDate

_exCouponDate: Date

Protected _fixingDays

_fixingDays: Natural

Protected _floor

_floor: Rate

Protected _gearing

_gearing: Real

Protected _index

Protected _isCapped

_isCapped: boolean

_isDisposed

_isDisposed: boolean = false

Protected _isFloored

_isFloored: boolean

_nominal

_nominal: Real

_observables

_observables: Set<Observable> = new Set()

Protected _observationLag

_observationLag: Period

_observers

_observers: Set<Observer> = new Set()

_paymentDate

_paymentDate: Date

Protected _pricer

_refPeriodEnd

_refPeriodEnd: Date

_refPeriodStart

_refPeriodStart: Date

Protected _spread

_spread: Spread

Protected _underlying

_underlying: YoYInflationCoupon

accrualDays

accrualDays: () => Integer

Type declaration

accrualEndDate

accrualEndDate: () => Date

Type declaration

    • (): Date
    • Returns Date

accrualPeriod

accrualPeriod: () => Time

Type declaration

accrualStartDate

accrualStartDate: () => Date

Type declaration

    • (): Date
    • Returns Date

accruedDays

accruedDays: (d: Date) => Integer

Type declaration

accruedPeriod

accruedPeriod: (d: Date) => Time

Type declaration

    • Parameters

      • d: Date

      Returns Time

date

date: () => Date

Type declaration

    • (): Date
    • Returns Date

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • Returns void

exCouponDate

exCouponDate: () => Date

Type declaration

    • (): Date
    • Returns Date

hasOccurred

hasOccurred: (refDate: Date, includeRefDate: boolean) => boolean

Type declaration

    • (refDate: Date, includeRefDate: boolean): boolean
    • Parameters

      • refDate: Date
      • includeRefDate: boolean

      Returns boolean

init

init: (paymentDate: Date, nominal: Real, accrualStartDate: Date, accrualEndDate: Date, refPeriodStart?: Date, refPeriodEnd?: Date, exCouponDate?: Date) => Coupon

Type declaration

    • (paymentDate: Date, nominal: Real, accrualStartDate: Date, accrualEndDate: Date, refPeriodStart?: Date, refPeriodEnd?: Date, exCouponDate?: Date): Coupon
    • Parameters

      • paymentDate: Date
      • nominal: Real
      • accrualStartDate: Date
      • accrualEndDate: Date
      • Optional refPeriodStart: Date
      • Optional refPeriodEnd: Date
      • Optional exCouponDate: Date

      Returns Coupon

isDisposed

isDisposed: boolean

nominal

nominal: () => Real

Type declaration

notifyObservers

notifyObservers: () => void

Type declaration

    • (): void
    • Returns void

referencePeriodEnd

referencePeriodEnd: () => Date

Type declaration

    • (): Date
    • Returns Date

referencePeriodStart

referencePeriodStart: () => Date

Type declaration

    • (): Date
    • Returns Date

registerObserver

registerObserver: (o: Observer) => void

Type declaration

registerWith

registerWith: (h: Observable) => void

Type declaration

registerWithObservables

registerWithObservables: (o: Observer) => void

Type declaration

tradingExCoupon

tradingExCoupon: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

unregisterObserver

unregisterObserver: (o: Observer) => void

Type declaration

unregisterWith

unregisterWith: (h: Observable) => Size

Type declaration

unregisterWithAll

unregisterWithAll: () => void

Type declaration

    • (): void
    • Returns void

Methods

accept

accruedAmount

  • accruedAmount(d: Date): Real

adjustedFixing

  • adjustedFixing(): Rate

amount1

cap

  • Returns Rate

cfyoyicInit1

cfyoyicInit2

  • Parameters

    • paymentDate: Date
    • nominal: Real
    • startDate: Date
    • endDate: Date
    • fixingDays: Natural
    • index: YoYInflationIndex
    • observationLag: Period
    • dayCounter: DayCounter
    • Default value gearing: Real = 1
    • Default value spread: Spread = 0
    • Default value cap: Rate = QL_NULL_REAL
    • Default value floor: Rate = QL_NULL_REAL
    • Default value refPeriodStart: Date = null
    • Default value refPeriodEnd: Date = null

    Returns CappedFlooredYoYInflationCoupon

Protected checkPricerImpl

dayCounter

effectiveCap

  • effectiveCap(): Rate
  • Returns Rate

effectiveFloor

  • effectiveFloor(): Rate
  • Returns Rate

fixingDate

  • fixingDate(): Date

fixingDays

floor

  • Returns Rate

gearing

icInit

  • Parameters

    • paymentDate: Date
    • nominal: Real
    • startDate: Date
    • endDate: Date
    • fixingDays: Natural
    • index: InflationIndex
    • observationLag: Period
    • dayCounter: DayCounter
    • Default value refPeriodStart: Date = null
    • Default value refPeriodEnd: Date = null
    • Default value exCouponDate: Date = null

    Returns InflationCoupon

index

indexFixing

  • indexFixing(): Rate

isCapped

  • isCapped(): boolean
  • Returns boolean

isFloored

  • isFloored(): boolean
  • Returns boolean

observationLag

price

pricer

rate

Protected setCommon

  • setCommon(cap: Rate, floor: Rate): void
  • Parameters

    Returns void

setPricer

spread

update

  • update(): void

yoyIndex

yoyicInit