pub struct RolloverInterestCalculator { /* private fields */ }Expand description
Calculates overnight rollover interest rates for FX currency pairs.
Uses short-term interest rate data (OECD format) to compute the daily differential between base and quote currency rates.
Implementations§
Source§impl RolloverInterestCalculator
impl RolloverInterestCalculator
Sourcepub fn new(records: Vec<InterestRateRecord>) -> Self
pub fn new(records: Vec<InterestRateRecord>) -> Self
Creates a new calculator from interest rate records.
Sourcepub fn calc_overnight_rate(
&self,
instrument_id: InstrumentId,
date: NaiveDate,
) -> Result<f64>
pub fn calc_overnight_rate( &self, instrument_id: InstrumentId, date: NaiveDate, ) -> Result<f64>
Calculates the overnight interest rate differential for a currency pair.
Returns (base_rate - quote_rate) / 365 / 100 as a daily decimal rate.
§Errors
Returns an error if rate data is missing for either currency.
Trait Implementations§
Source§impl Clone for RolloverInterestCalculator
impl Clone for RolloverInterestCalculator
Source§fn clone(&self) -> RolloverInterestCalculator
fn clone(&self) -> RolloverInterestCalculator
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for RolloverInterestCalculator
impl RefUnwindSafe for RolloverInterestCalculator
impl Send for RolloverInterestCalculator
impl Sync for RolloverInterestCalculator
impl Unpin for RolloverInterestCalculator
impl UnsafeUnpin for RolloverInterestCalculator
impl UnwindSafe for RolloverInterestCalculator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more