Struct PyCmsSpreadCorrelationCurve
pub struct PyCmsSpreadCorrelationCurve {
pub(crate) inner: CmsSpreadCorrelationCurve,
}Expand description
The market’s correlation between two swap indices’ rates by option expiry in years — linear between pillars, flat beyond them — or one flat mark with no pillar.
Fields§
§inner: CmsSpreadCorrelationCurveImplementations§
§impl PyCmsSpreadCorrelationCurve
impl PyCmsSpreadCorrelationCurve
pub(crate) fn __repr__(&self) -> String
pub(crate) fn new(pillars: Vec<(f64, f64)>) -> PyResult<Self>
pub(crate) fn new(pillars: Vec<(f64, f64)>) -> PyResult<Self>
Builds a term structure from (expiry_years, correlation) pillars in
rising expiry order.
pub(crate) fn with_strikes(nodes: Vec<((f64, f64), f64)>) -> PyResult<Self>
pub(crate) fn with_strikes(nodes: Vec<((f64, f64), f64)>) -> PyResult<Self>
A 2-D surface from ((expiry, strike), correlation) nodes.
pub(crate) fn is_surface(&self) -> bool
pub(crate) fn is_surface(&self) -> bool
Whether this is a 2-D surface.
pub(crate) fn parameters(&self) -> Vec<f64>
pub(crate) fn parameters(&self) -> Vec<f64>
The correlations, one per pillar (or the one flat mark).
pub(crate) fn correlation(
&self,
expiry: f64,
strike: Option<f64>,
) -> PyResult<f64>
pub(crate) fn correlation( &self, expiry: f64, strike: Option<f64>, ) -> PyResult<f64>
The correlation at an option expiry in years and strike (if a surface).
Trait Implementations§
§impl Clone for PyCmsSpreadCorrelationCurve
impl Clone for PyCmsSpreadCorrelationCurve
§fn clone(&self) -> PyCmsSpreadCorrelationCurve
fn clone(&self) -> PyCmsSpreadCorrelationCurve
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl DerefToPyAny for PyCmsSpreadCorrelationCurve
§impl IntoPy<Py<PyAny>> for PyCmsSpreadCorrelationCurve
impl IntoPy<Py<PyAny>> for PyCmsSpreadCorrelationCurve
§impl PyClass for PyCmsSpreadCorrelationCurve
impl PyClass for PyCmsSpreadCorrelationCurve
§impl PyClassImpl for PyCmsSpreadCorrelationCurve
impl PyClassImpl for PyCmsSpreadCorrelationCurve
§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
#[pyclass(subclass)]
§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
#[pyclass(extends=…)]
§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
#[pyclass(mapping)]
§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
#[pyclass(sequence)]
§type ThreadChecker = SendablePyClass<PyCmsSpreadCorrelationCurve>
type ThreadChecker = SendablePyClass<PyCmsSpreadCorrelationCurve>
This handles following two situations: Read more
§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::ImmutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::ImmutableChild
Immutable or mutable
§type BaseNativeType = PyAny
type BaseNativeType = PyAny
The closest native ancestor. This is
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
fn dict_offset() -> Option<isize>
fn weaklist_offset() -> Option<isize>
§impl PyClassNewTextSignature<PyCmsSpreadCorrelationCurve> for PyClassImplCollector<PyCmsSpreadCorrelationCurve>
impl PyClassNewTextSignature<PyCmsSpreadCorrelationCurve> for PyClassImplCollector<PyCmsSpreadCorrelationCurve>
fn new_text_signature(self) -> Option<&'static str>
§impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a PyCmsSpreadCorrelationCurve
impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a PyCmsSpreadCorrelationCurve
§impl PyMethods<PyCmsSpreadCorrelationCurve> for PyClassImplCollector<PyCmsSpreadCorrelationCurve>
impl PyMethods<PyCmsSpreadCorrelationCurve> for PyClassImplCollector<PyCmsSpreadCorrelationCurve>
fn py_methods(self) -> &'static PyClassItems
§impl PyTypeInfo for PyCmsSpreadCorrelationCurve
impl PyTypeInfo for PyCmsSpreadCorrelationCurve
§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
Returns the PyTypeObject instance for this type.
§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
Returns the safe abstraction over the type object.
§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
Checks if
object is an instance of this type or a subclass of this type.§fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of_bound(object: &Bound<'_, PyAny>) -> bool
Checks if
object is an instance of this type.Auto Trait Implementations§
impl Freeze for PyCmsSpreadCorrelationCurve
impl RefUnwindSafe for PyCmsSpreadCorrelationCurve
impl Send for PyCmsSpreadCorrelationCurve
impl Sync for PyCmsSpreadCorrelationCurve
impl Unpin for PyCmsSpreadCorrelationCurve
impl UnsafeUnpin for PyCmsSpreadCorrelationCurve
impl UnwindSafe for PyCmsSpreadCorrelationCurve
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