public class CompositePeriodBuilder
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static int |
ACCRUAL_COMPOUNDING_RULE_ARITHMETIC
Accrual Compounding Rule - Arithmetic
|
static int |
ACCRUAL_COMPOUNDING_RULE_GEOMETRIC
Accrual Compounding Rule - Geometric
|
static int |
EDGE_DATE_SEQUENCE_FORWARD
Edge Date Generation Sequence - Forward
|
static int |
EDGE_DATE_SEQUENCE_OVERNIGHT
Edge Date Generation Sequence - Overnight
|
static int |
EDGE_DATE_SEQUENCE_REGULAR
Edge Date Generation Sequence - Regular
|
static int |
EDGE_DATE_SEQUENCE_REVERSE
Edge Date Generation Sequence - Reverse
|
static int |
EDGE_DATE_SEQUENCE_SINGLE
Edge Date Generation Sequence - Single Edge Date Pair Between Dates
|
static int |
FULL_FRONT_PERIOD
Period Set Generation Customization - Merge the front periods to produce a long front
|
static int |
LONG_STUB
Period Set Generation Customization - Long Stub (if present) belongs to the front/back end depending
upon backwards/forwards generation scheme
|
static int |
REFERENCE_PERIOD_IN_ADVANCE
Reference Period Fixing is IN-ADVANCE (i.e., the same as that) of the Coupon Period
|
static int |
REFERENCE_PERIOD_IN_ARREARS
Reference Period Fixing is IN-ARREARS (i.e., displaced one period to the right) of the Coupon Period
|
static int |
SHORT_STUB
Period Set Generation Customization - Short Stub (i.e., No adjustment on either end)
|
Constructor and Description |
---|
CompositePeriodBuilder() |
Modifier and Type | Method and Description |
---|---|
static java.util.List<java.lang.Integer> |
BackwardEdgeDates(int iEffective,
int iMaturity,
java.lang.String strTenor,
DateAdjustParams dap,
int iPSEC)
Generate a list of period edge dates backward from the end.
|
static java.util.List<java.lang.Integer> |
BackwardEdgeDates(JulianDate dtEffective,
JulianDate dtMaturity,
java.lang.String strTenor,
DateAdjustParams dap,
int iPSEC)
Generate a list of period edge dates backward from the end.
|
static java.util.List<java.lang.Integer> |
EdgePair(JulianDate dtStart,
JulianDate dtEnd)
Generate a single Spanning Edge Pair between the specified dates, using the specified Calendar
|
static java.util.List<CompositePeriod> |
FixedCompositeUnit(java.util.List<java.lang.Integer> lsCompositeEdgeDate,
CompositePeriodSetting cps,
UnitCouponAccrualSetting ucas,
ComposableFixedUnitSetting cfus)
Construct the List of Composite Fixed Periods from the corresponding composable Fixed Period Units
|
static java.util.List<ComposableUnitPeriod> |
FixedUnits(int iUnitPeriodStartDate,
int iUnitPeriodEndDate,
UnitCouponAccrualSetting ucas,
ComposableFixedUnitSetting cfus)
Construct the List of Composable Fixed Units from the inputs
|
static java.util.List<CompositePeriod> |
FloatingCompositeUnit(java.util.List<java.lang.Integer> lsCompositeEdgeDate,
CompositePeriodSetting cps,
ComposableFloatingUnitSetting cfus)
Construct the List of Composite Floating Period from the corresponding composable Floating Period Units
|
static java.util.List<ComposableUnitPeriod> |
FloatingUnits(int iUnitPeriodStartDate,
int iUnitPeriodEndDate,
ComposableFloatingUnitSetting cfus)
Construct the List of Composable Floating Units from the inputs
|
static java.util.List<java.lang.Integer> |
ForwardEdgeDates(int iEffective,
int iMaturity,
java.lang.String strTenor,
DateAdjustParams dap,
int iPSEC)
Generate a list of period edge dates forward from the start.
|
static java.util.List<java.lang.Integer> |
ForwardEdgeDates(JulianDate dtEffective,
JulianDate dtMaturity,
java.lang.String strTenor,
DateAdjustParams dap,
int iPSEC)
Generate a list of period edge dates forward from the start.
|
static java.util.List<java.lang.Integer> |
IMMEdgeDates(JulianDate dtSpot,
int iRollMonths,
java.lang.String strPeriodTenor,
java.lang.String strMaturityTenor,
DateAdjustParams dap)
Generate a list of the IMM period edge dates forward from the spot date.
|
static ReferenceIndexPeriod |
MakeReferencePeriod(int iStartDate,
int iEndDate,
ForwardLabel forwardLabel,
int iReferencePeriodArrearsType)
Construct a Reference Period using the Start/End Dates, Fixing DAP, Forward Label, and the Reference
Period Arrears Type
|
static ReferenceIndexPeriod |
MakeReferencePeriod(JulianDate dtStart,
JulianDate dtEnd,
ForwardLabel forwardLabel,
int iReferencePeriodArrearsType)
Construct a Reference Period using the Start/End Dates, Fixing DAP, Forward Label, and the Reference
Period Arrears Type
|
static java.util.List<java.lang.Integer> |
OvernightEdgeDates(int iStartDate,
int iEndDate,
java.lang.String strCalendar)
Generate the List of Overnight Edge Dates between the specified dates, using the specified Calendar
|
static java.util.List<java.lang.Integer> |
OvernightEdgeDates(JulianDate dtStart,
JulianDate dtEnd,
java.lang.String strCalendar)
Generate the List of Overnight Edge Dates between the specified dates, using the specified Calendar
|
static java.util.List<java.lang.Integer> |
RegularEdgeDates(int iStartDate,
int iEndDate,
java.lang.String strPeriodTenor,
DateAdjustParams dap)
Generate a list of regular period edge dates forward from the start.
|
static java.util.List<java.lang.Integer> |
RegularEdgeDates(int iEffective,
java.lang.String strPeriodTenor,
java.lang.String strMaturityTenor,
DateAdjustParams dap)
Generate a list of regular period edge dates forward from the start.
|
static java.util.List<java.lang.Integer> |
RegularEdgeDates(JulianDate dtEffective,
java.lang.String strPeriodTenor,
java.lang.String strMaturityTenor,
DateAdjustParams dap)
Generate a list of regular period edge dates forward from the start.
|
static java.util.List<java.lang.Integer> |
UnitDateEdges(int iUnitPeriodStartDate,
int iUnitPeriodEndDate,
java.lang.String strCalendar,
ComposableUnitBuilderSetting cubs)
Retrieve the List of Edge Dates across all Units
|
static boolean |
ValidateCompoundingRule(int iAccrualCompoundingRule)
Verify if the Specified Accrual Compounding Rule is a Valid One
|
public static final int EDGE_DATE_SEQUENCE_FORWARD
public static final int EDGE_DATE_SEQUENCE_REVERSE
public static final int EDGE_DATE_SEQUENCE_REGULAR
public static final int EDGE_DATE_SEQUENCE_OVERNIGHT
public static final int EDGE_DATE_SEQUENCE_SINGLE
public static final int SHORT_STUB
public static final int FULL_FRONT_PERIOD
public static final int LONG_STUB
public static final int REFERENCE_PERIOD_IN_ARREARS
public static final int REFERENCE_PERIOD_IN_ADVANCE
public static final int ACCRUAL_COMPOUNDING_RULE_ARITHMETIC
public static final int ACCRUAL_COMPOUNDING_RULE_GEOMETRIC
public static final boolean ValidateCompoundingRule(int iAccrualCompoundingRule)
iAccrualCompoundingRule
- The Accrual Compounding Rulepublic static final java.util.List<java.lang.Integer> ForwardEdgeDates(JulianDate dtEffective, JulianDate dtMaturity, java.lang.String strTenor, DateAdjustParams dap, int iPSEC)
dtEffective
- Effective datedtMaturity
- Maturity datestrTenor
- Period Tenordap
- Inner Date Adjustment ParametersiPSEC
- Period Set Edge Customizer Settingpublic static final java.util.List<java.lang.Integer> BackwardEdgeDates(JulianDate dtEffective, JulianDate dtMaturity, java.lang.String strTenor, DateAdjustParams dap, int iPSEC)
dtEffective
- Effective datedtMaturity
- Maturity datestrTenor
- Period Tenordap
- Inner Date Adjustment ParametersiPSEC
- Period Set Edge Customizer Settingpublic static final java.util.List<java.lang.Integer> RegularEdgeDates(JulianDate dtEffective, java.lang.String strPeriodTenor, java.lang.String strMaturityTenor, DateAdjustParams dap)
dtEffective
- Effective datestrPeriodTenor
- Period TenorstrMaturityTenor
- Period Tenordap
- Inner Date Adjustment Parameterspublic static final java.util.List<java.lang.Integer> RegularEdgeDates(int iStartDate, int iEndDate, java.lang.String strPeriodTenor, DateAdjustParams dap)
iStartDate
- Start DateiEndDate
- End DatestrPeriodTenor
- Period Tenordap
- Inner Date Adjustment Parameterspublic static final java.util.List<java.lang.Integer> IMMEdgeDates(JulianDate dtSpot, int iRollMonths, java.lang.String strPeriodTenor, java.lang.String strMaturityTenor, DateAdjustParams dap)
dtSpot
- Spot DateiRollMonths
- Number of Months to Roll to the Next IMM DatestrPeriodTenor
- Period TenorstrMaturityTenor
- Period Tenordap
- Inner Date Adjustment Parameterspublic static final java.util.List<java.lang.Integer> OvernightEdgeDates(JulianDate dtStart, JulianDate dtEnd, java.lang.String strCalendar)
dtStart
- Start DatedtEnd
- End DatestrCalendar
- Calendarpublic static final java.util.List<java.lang.Integer> EdgePair(JulianDate dtStart, JulianDate dtEnd)
dtStart
- Start DatedtEnd
- End Datepublic static final ReferenceIndexPeriod MakeReferencePeriod(JulianDate dtStart, JulianDate dtEnd, ForwardLabel forwardLabel, int iReferencePeriodArrearsType)
dtStart
- Start DatedtEnd
- End DateforwardLabel
- Forward LabeliReferencePeriodArrearsType
- Reference Period Arrears Typepublic static final java.util.List<java.lang.Integer> ForwardEdgeDates(int iEffective, int iMaturity, java.lang.String strTenor, DateAdjustParams dap, int iPSEC)
iEffective
- Effective DateiMaturity
- Maturity DatestrTenor
- Period Tenordap
- Inner Date Adjustment ParametersiPSEC
- Period Set Edge Customizer Settingpublic static final java.util.List<java.lang.Integer> BackwardEdgeDates(int iEffective, int iMaturity, java.lang.String strTenor, DateAdjustParams dap, int iPSEC)
iEffective
- Effective DateiMaturity
- Maturity DatestrTenor
- Period Tenordap
- Inner Date Adjustment ParametersiPSEC
- Period Set Edge Customizer Settingpublic static final java.util.List<java.lang.Integer> RegularEdgeDates(int iEffective, java.lang.String strPeriodTenor, java.lang.String strMaturityTenor, DateAdjustParams dap)
iEffective
- Effective DatestrPeriodTenor
- Period TenorstrMaturityTenor
- Period Tenordap
- Inner Date Adjustment Parameterspublic static final java.util.List<java.lang.Integer> OvernightEdgeDates(int iStartDate, int iEndDate, java.lang.String strCalendar)
iStartDate
- Start DateiEndDate
- End DatestrCalendar
- Calendarpublic static final ReferenceIndexPeriod MakeReferencePeriod(int iStartDate, int iEndDate, ForwardLabel forwardLabel, int iReferencePeriodArrearsType)
iStartDate
- Start DateiEndDate
- End DateforwardLabel
- Forward LabeliReferencePeriodArrearsType
- Reference Period Arrears Typepublic static final java.util.List<java.lang.Integer> UnitDateEdges(int iUnitPeriodStartDate, int iUnitPeriodEndDate, java.lang.String strCalendar, ComposableUnitBuilderSetting cubs)
iUnitPeriodStartDate
- Unit Period Start DateiUnitPeriodEndDate
- Unit Period End DatestrCalendar
- Unit Date Generation Calendarcubs
- Composable Unit Builder Settingpublic static final java.util.List<ComposableUnitPeriod> FixedUnits(int iUnitPeriodStartDate, int iUnitPeriodEndDate, UnitCouponAccrualSetting ucas, ComposableFixedUnitSetting cfus)
iUnitPeriodStartDate
- Unit Period Start DateiUnitPeriodEndDate
- Unit Period End Dateucas
- Unit Coupon/Accrual Settingcfus
- Composable Fixed Unit Settingpublic static final java.util.List<ComposableUnitPeriod> FloatingUnits(int iUnitPeriodStartDate, int iUnitPeriodEndDate, ComposableFloatingUnitSetting cfus)
iUnitPeriodStartDate
- Unit Period Start DateiUnitPeriodEndDate
- Unit Period End Datecfus
- Composable Floating Unit Settingpublic static final java.util.List<CompositePeriod> FixedCompositeUnit(java.util.List<java.lang.Integer> lsCompositeEdgeDate, CompositePeriodSetting cps, UnitCouponAccrualSetting ucas, ComposableFixedUnitSetting cfus)
lsCompositeEdgeDate
- The Composite Period Edge Datescps
- Composite Period Setting Instanceucas
- Unit Coupon/Accrual Settingcfus
- Composable Fixed Unit Settingpublic static final java.util.List<CompositePeriod> FloatingCompositeUnit(java.util.List<java.lang.Integer> lsCompositeEdgeDate, CompositePeriodSetting cps, ComposableFloatingUnitSetting cfus)
lsCompositeEdgeDate
- The Composite Period Edge Datescps
- Composite Period Setting Instancecfus
- Composable Floating Unit Setting