Skip to main content

Module schedules

Module schedules 

Expand description

Calculation-period schedule generation.

A Schedule is the ordered list of business-day-adjusted period boundary dates produced from an effective date, a termination date, a frequency, a calendar, a business-day convention, a roll convention, and a stub type.

Structs§

Schedule
An ordered set of adjusted calculation-period boundary dates.

Enums§

ScheduleError
Why a stated list of boundary dates is not a schedule.

Functions§

adjusted 🔒
Business-day-adjusts pts: every boundary but the last by convention, the last by terminal_convention (defaulting to convention), then drops the collisions an adjustment produces — an interior boundary rolled onto or past either end merges into that end, as the two conventions can cross.
advances 🔒
Whether stepping by frequency carries the boundary cursor forward in time.
check_term 🔒
The term runs forwards: effective strictly before termination. Shared by both generators so a reversed or empty term is refused the same way whichever one is called.
generate_backward 🔒
Backward generation, anchored on termination. Each regular boundary is termination − k·frequency measured from the fixed anchor, never from the previously generated boundary (see scale).
generate_forward 🔒
Forward generation, anchored on effective. Each regular boundary is effective + k·frequency measured from the fixed anchor, never from the previously generated boundary (see scale).
negate 🔒
scale 🔒
frequency scaled by k (e.g. 6M, k=2 → 12M), so a generator can march from its fixed anchor by k whole periods rather than from the previous (possibly clamped) boundary.
unadjusted_boundaries 🔒
The unadjusted boundaries from effective to termination: the regular periods measured from one fixed anchor in the direction stub names, the interior roll applied to each before the stop test. Schedule::generate’s core, shared with Schedule::generate_with_stubs.