Module Daml.Finance.Instrument.Swap.Fpml.Util¶
Data Types¶
- type O
- = Observation Date Decimal Observable
Functions¶
- createCalculationPeriodicSchedule
: CalculationPeriodDates -> PeriodicSchedule
Create a schedule for calculation periods.
- createPaymentPeriodicSchedule
: SwapStream -> PeriodicSchedule
Create a schedule for payment periods.
- getCalendarsAndAdjust
: Date -> BusinessDayAdjustments -> Party -> Party -> Update Date
Retrieve holiday calendars and adjust a date as specified in a BusinessDayAdjustments FpML element
- adjustDateAccordingToBusinessDayAdjustments
: Date -> BusinessDayAdjustments -> Party -> Party -> Update Date
Adjust a date as specified in a BusinessDayAdjustments FpML element (or not at all if NoAdjustment)
- getSingleStubRate
: StubFloatingRate -> Optional O
Define observable part of claim when one specific floating rate is provided for a stub period.
- getInterpolatedStubRate
: StubFloatingRate -> StubFloatingRate -> SchedulePeriod -> HolidayCalendarData -> BusinessDayConventionEnum -> Optional O
Linearly interpolates two rates within a period, as specified in https://www.isda.org/a/aWkgE/Linear-interpolation-04022022.pdf
- getStubRateFloating
: [StubFloatingRate] -> SchedulePeriod -> HolidayCalendarData -> BusinessDayConventionEnum -> Optional O
Get the floating stub rate to be used for a stub period.
- getStubRate
: StubCalculationPeriodAmount -> Bool -> SchedulePeriod -> HolidayCalendarData -> BusinessDayConventionEnum -> Bool -> Optional O
Get the stub rate to be used for a stub period. Currently, three main options from the FpML schema are supported:
- A fix stubRate.
- One or two floating rates for the stub.
- No specific stub rate defined -> use the same rate as is used for regular periods.
- alignPaymentSchedule
: [SchedulePeriod] -> [SchedulePeriod] -> Update [SchedulePeriod]
Align the payment schedule with the calculation schedule.
- verifyFxScheduleAndGetId
- : [SchedulePeriod] -> SwapStream -> Party -> Party -> FxLinkedNotionalSchedule -> Update (Optional Text, Optional Decimal, Optional [Date])
- getFxRateId
- : [SchedulePeriod] -> SwapStream -> Party -> Party -> Update (Optional Text, Optional Decimal, Optional [Date])
- getRateFixingsAndCalendars
- : SwapStream -> ResetDates -> [SchedulePeriod] -> Party -> Party -> Update ([Date], HolidayCalendarData)
- calculateFixPaymentClaimsFromSwapStream
: FixedRateSchedule -> SwapStream -> PeriodicSchedule -> [SchedulePeriod] -> [SchedulePeriod] -> Bool -> Bool -> Deliverable -> Party -> Party -> Optional Text -> Optional [Date] -> [(Decimal, Bool)] -> Update [TaggedClaim]
Create claims from swapStream that describes a fixed or floating coupon stream.
- calculatePrincipalExchangePaymentClaims
: [SchedulePeriod] -> Bool -> Deliverable -> Optional Text -> [(Decimal, Bool)] -> [Date] -> PrincipalExchanges -> TaggedClaim
Create principal exchange claims
- calculateFloatingPaymentClaimsFromSwapStream
: FloatingRateCalculation -> SwapStream -> PeriodicSchedule -> [SchedulePeriod] -> [SchedulePeriod] -> Bool -> Bool -> Deliverable -> Party -> Party -> Optional Text -> Optional [Date] -> [(Decimal, Bool)] -> Update [TaggedClaim]
Create claims from swapStream that describes a fixed or floating coupon stream.
- calculateClaimsFromSwapStream
: SwapStream -> PeriodicSchedule -> [SchedulePeriod] -> [SchedulePeriod] -> Optional SwapStream -> Bool -> Bool -> Deliverable -> Party -> Party -> Update [TaggedClaim]
Create claims from swapStream that describes a fixed or floating coupon stream.