All Downloads are FREE. Search and download functionalities are using the official Maven repository.

.cdm-java.6.0.0-dev.82.source-code.product-common-schedule-func.rosetta Maven / Gradle / Ivy

There is a newer version: 6.0.0-dev.89
Show newest version
namespace cdm.product.common.schedule : <"Common product schedule concepts: calculation period, reset, fixing and payment dates, stub, notional schedule, roll convention.">
version "${project.version}"

import cdm.base.datetime.*

import cdm.product.template.*

func PaymentDate:
    inputs:
        economicTerms EconomicTerms (1..1)
    output:
        result date (0..1)
    set result:
        economicTerms -> payout -> InterestRatePayout only-element -> paymentDate -> adjustedDate

func PeriodsInYear:
    inputs:
        frequency CalculationPeriodFrequency (1..1)
    output:
        numberOfPeriods int (1..1)

func CalculationPeriod: <"2006 ISDA Definition Section 4.13. 'Calculation Period' means, in respect of a Swap Transaction and a party, each period from, and including, one Period End Date of that party to, but excluding, the next following applicable Period End Date during the Term of the Swap Transaction, except that (a) the initial Calculation Period for the party will commence on, and include, the Effective Date and (b) the final Calculation Period for the party will end on, but exclude, the Termination Date.">
    inputs:
        calculationPeriodDates CalculationPeriodDates (1..1)
        date date (1..1)
    output:
        result CalculationPeriodData (1..1)

func CalculationPeriods: <"2006 ISDA Definition Section 4.13. 'Calculation Period' means, in respect of a Swap Transaction and a party, each period from, and including, one Period End Date of that party to, but excluding, the next following applicable Period End Date during the Term of the Swap Transaction, except that (a) the initial Calculation Period for the party will commence on, and include, the Effective Date and (b) the final Calculation Period for the party will end on, but exclude, the Termination Date.">
    inputs:
        calculationPeriodDates CalculationPeriodDates (1..1)
    output:
        result CalculationPeriodData (0..*)

func CalculationPeriodRange:
    inputs:
        startDate date (0..1) // should be AdjustableOrRelativeDate
        endDate date (0..1) // should be AdjustableOrRelativeDate
        dateAdjustments BusinessDayAdjustments (0..1)
    output:
        result CalculationPeriodData (1..1)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy