Struct MeetingSchedule
pub struct MeetingSchedule {
bank: CentralBank,
decisions: Vec<NaiveDate>,
effective: Vec<NaiveDate>,
}Expand description
A central bank’s schedule: its published decision days, with the effective date each opens a window on derived by the bank’s rule on its home calendar. The knots it yields sit on the effective dates and carry the decisions’ identities.
Fields§
§bank: CentralBank§decisions: Vec<NaiveDate>§effective: Vec<NaiveDate>Each decision’s effective date, in step with decisions — resolved
once on the bank’s home calendar, since every window, knot and
locator reads them.
Implementations§
§impl MeetingSchedule
impl MeetingSchedule
pub fn new(bank: CentralBank, decisions: &[NaiveDate]) -> Self
pub fn new(bank: CentralBank, decisions: &[NaiveDate]) -> Self
A schedule for bank from its published decision days, sorted with
duplicates collapsed.
pub fn seeded(bank: CentralBank) -> Option<Self>
pub fn seeded(bank: CentralBank) -> Option<Self>
The embedded seed of published decision days for a seeded bank
(Fed/Ecb/Boe), or None for any other bank. The seed is a
convenience as-of 2026-06 and the default where a market pins no
schedule; pin new with the bank’s published dates for
anything beyond it.
§Panics
Never in practice. The seed tables are (year, month, day) literals in
this file; a panic would mean one was edited to a date that does not
exist.
pub fn for_bank(code: &str) -> Result<Self, VocabularyParseError>
pub fn for_bank(code: &str) -> Result<Self, VocabularyParseError>
The seeded schedule of the bank code names (FED, ECB, BOE).
§Errors
VocabularyParseError naming the seeded banks, for a bank with no
seeded schedule.
pub fn bank(&self) -> &CentralBank
pub fn bank(&self) -> &CentralBank
The deciding bank.
pub fn effective_of(&self, decision: NaiveDate) -> NaiveDate
pub fn effective_of(&self, decision: NaiveDate) -> NaiveDate
The effective date of decision under the bank’s rule on its home
calendar — read from the schedule for one of its own decisions.
pub fn effective_dates(&self) -> &[NaiveDate]
pub fn effective_dates(&self) -> &[NaiveDate]
The effective dates, one per decision, strictly ascending.
pub fn decision_opening(&self, effective: NaiveDate) -> Option<NaiveDate>
pub fn decision_opening(&self, effective: NaiveDate) -> Option<NaiveDate>
The decision whose window opens on effective, if one does.
pub fn windows(&self) -> Vec<(NaiveDate, NaiveDate, NaiveDate)>
pub fn windows(&self) -> Vec<(NaiveDate, NaiveDate, NaiveDate)>
The windows the schedule describes: (effective_i, effective_{i+1}, decision_i) for each decision but the last, whose window has no end
the schedule knows.
pub fn knots(&self) -> Vec<KnottedDate>
pub fn knots(&self) -> Vec<KnottedDate>
The knots, strictly ascending by date: each decision’s effective date
carrying KnotKind::Meeting named by the decision.
pub fn between(&self, start: NaiveDate, end: NaiveDate) -> Vec<KnottedDate>
pub fn between(&self, start: NaiveDate, end: NaiveDate) -> Vec<KnottedDate>
The knots whose effective date falls in [start, end] (inclusive),
retaining order — the window a curve over a finite horizon actually
pillars.
fn knots_where(&self, keep: impl Fn(NaiveDate) -> bool) -> Vec<KnottedDate>
fn knots_where(&self, keep: impl Fn(NaiveDate) -> bool) -> Vec<KnottedDate>
The knots on the effective dates keep accepts, strictly ascending.
Trait Implementations§
§impl Clone for MeetingSchedule
impl Clone for MeetingSchedule
§fn clone(&self) -> MeetingSchedule
fn clone(&self) -> MeetingSchedule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more