Options
All
  • Public
  • Public/Protected
  • All
Menu

Capped and/or floored floating-rate coupon

The payoff $ P $ of a capped floating-rate coupon is: $$ P = N \times T \times \min(a L + b, C). $$ The payoff of a floored floating-rate coupon is: $$ P = N \times T \times \max(a L + b, F). $$ The payoff of a collared floating-rate coupon is: $$ P = N \times T \times \min(\max(a L + b, F), C). $$

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

They can be decomposed in the following manner. Decomposition of a capped floating rate coupon: $$ 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

Constructors

constructor

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

Protected _isInArrears

_isInArrears: boolean

_nominal

_nominal: Real

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_paymentDate

_paymentDate: Date

Protected _pricer

_refPeriodEnd

_refPeriodEnd: Date

_refPeriodStart

_refPeriodStart: Date

Protected _spread

_spread: Spread

Protected _swapletRate

_swapletRate: Real

Protected _underlying

_underlying: FloatingRateCoupon

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

convexityAdjustment

  • convexityAdjustment(): Rate

Protected convexityAdjustmentImpl

  • convexityAdjustmentImpl(fixing: Rate): Rate

dayCounter

effectiveCap

  • effectiveCap(): Rate
  • Returns Rate

effectiveFloor

  • effectiveFloor(): Rate
  • Returns Rate

fixingDate

  • fixingDate(): Date

fixingDays

floor

  • Returns Rate

gearing

  • index gearing, i.e. multiplicative coefficient for the index

    Returns Real

index

indexFixing

  • indexFixing(): Rate

isCapped

  • isCapped(): boolean
  • Returns boolean

isFloored

  • isFloored(): boolean
  • Returns boolean

isInArrears

  • isInArrears(): boolean
  • whether or not the coupon fixes in arrears

    Returns boolean

price

pricer

rate

setPricer

spread

  • spread paid over the fixing of the underlying index

    Returns Spread

underlying

update

  • update(): void