Struct BaseCorrelation
pub struct BaseCorrelation {
attachments: Vec<f64>,
correlations: Vec<f64>,
}Expand description
Asset correlation by attachment point: linear between quoted points, flat beyond either end.
Fields§
§attachments: Vec<f64>§correlations: Vec<f64>Implementations§
§impl BaseCorrelation
impl BaseCorrelation
pub fn new(points: &[(f64, f64)]) -> Result<Self, BaseCorrelationError>
pub fn new(points: &[(f64, f64)]) -> Result<Self, BaseCorrelationError>
A curve from (attachment, correlation) points.
§Errors
BaseCorrelationError for no points, attachments not strictly
increasing in (0, 1], or a correlation outside [0, 1).
pub fn flat(rho: f64) -> Result<Self, BaseCorrelationError>
pub fn flat(rho: f64) -> Result<Self, BaseCorrelationError>
pub fn shifted(&self, shift: f64) -> Result<Self, BaseCorrelationError>
pub fn shifted(&self, shift: f64) -> Result<Self, BaseCorrelationError>
This curve with every correlation moved by shift — a parallel shift
of the skew, the bump a correlation sensitivity is taken under.
§Errors
BaseCorrelationError::Correlation naming the first point the shift
takes outside [0, 1); nothing is clamped.
pub fn attachments(&self) -> &[f64]
pub fn attachments(&self) -> &[f64]
The quoted attachment points, in order: where each parameter sits.
pub fn parameters(&self) -> &[f64]
pub fn parameters(&self) -> &[f64]
The stored correlations, in point order: the curve’s parameters.
pub fn correlation(&self, attachment: f64) -> f64
pub fn correlation(&self, attachment: f64) -> f64
The correlation at attachment.
pub fn view<R: Scalar>(&self) -> BaseCorrelationView<'_, R>
pub fn view<R: Scalar>(&self) -> BaseCorrelationView<'_, R>
This curve at its stored correlations, lifted into mode R as
constants.
pub fn view_with<'a, R: Scalar>(
&'a self,
params: &'a [R],
) -> Result<BaseCorrelationView<'a, R>, BaseCorrelationError>
pub fn view_with<'a, R: Scalar>( &'a self, params: &'a [R], ) -> Result<BaseCorrelationView<'a, R>, BaseCorrelationError>
This curve read at params in place of its stored correlations — the
span the market lifted for it.
§Errors
BaseCorrelationError::ParameterCount when params is not one per
point.
Trait Implementations§
§impl Clone for BaseCorrelation
impl Clone for BaseCorrelation
§fn clone(&self) -> BaseCorrelation
fn clone(&self) -> BaseCorrelation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more