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