Skip to main content

FraTemplate

Struct FraTemplate 

pub struct FraTemplate {
    pub name: String,
    pub index: IborIndex,
    pub calendar: Arc<dyn Calendar>,
    pub business_day_convention: BusinessDayConvention,
}
Expand description

The conventions of a forward-rate agreement (a type = "FRA" projection pillar): a forward accrual over the underlying index’s period (e.g. 3M), starting at the pillar’s locator. The quoted value is the simple forward rate. It pins the index’s forward (projection) curve, not discount; it carries the index name (the forward-curve key), the accrual length, and the schedule conventions needed to turn the locator into the accrual [start, end].

Fields§

§name: String

Template name (doubles as the registry code).

§index: IborIndex

The underlying term index. Carried whole rather than as three copied fields (name, tenor, day-count): a FRA product needs the handle’s fixing lag and calendar too, and three restatements of one registry row is how a product and its calibration helper come to disagree.

§calendar: Arc<dyn Calendar>

Calendar advancing the locator (FRA start) to the accrual end.

§business_day_convention: BusinessDayConvention

Business-day convention applied to that advance.

Implementations§

§

impl FraTemplate

pub fn with_business_day_convention( self, convention: BusinessDayConvention, ) -> Self

Generates under convention rather than the registered one. A forward-rate agreement advances its spot date to the forward start and then by the index period under this convention, so the override reaches the instrument.

pub fn with_calendar(self, calendar: Arc<dyn Calendar>) -> Self

Generates on calendar rather than the registered business centres — FpML’s businessCenters stated per trade. A payment lag with no payment calendar of its own rolls on it too.

pub fn index_name(&self) -> &str

The forward-curve key the helper pins (e.g. "EURIBOR"), matching the IRS projection’s float_index.name.

pub fn index_period(&self) -> Period

The index accrual length (e.g. 3M) — the FRA’s end = start ⊕ index_period.

pub fn day_count(&self) -> DayCountFraction

Accrual day-count.

Trait Implementations§

§

impl Clone for FraTemplate

§

fn clone(&self) -> FraTemplate

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl From<FraTemplate> for AnyTemplate

§

fn from(t: FraTemplate) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.