Struct PyInterpolation
pub struct PyInterpolation {
pub(crate) inner: Interpolation,
}Expand description
The scheme a discount curve reads between its pillars, as a value that
carries its parameters: one member per parameter-free scheme, and
tension_spline(sigma) / clamped_cubic(left, right) for the two that
take them. A string code is accepted beside it wherever a scheme is named.
Fields§
§inner: InterpolationImplementations§
§impl PyInterpolation
impl PyInterpolation
§impl PyInterpolation
impl PyInterpolation
pub(crate) fn new(code: &str) -> PyResult<Self>
pub(crate) fn new(code: &str) -> PyResult<Self>
A parameter-free scheme from its code. The two schemes that carry
parameters are built by tension_spline and clamped_cubic.
pub(crate) fn tension_spline(sigma: f64) -> Self
pub(crate) fn tension_spline(sigma: f64) -> Self
A tension spline with tension sigma.
pub(crate) fn clamped_cubic(left: f64, right: f64) -> Self
pub(crate) fn clamped_cubic(left: f64, right: f64) -> Self
A clamped cubic with the end slopes left and right.
pub(crate) fn anchored_linear_zero(anchor: f64) -> Self
pub(crate) fn anchored_linear_zero(anchor: f64) -> Self
Linear in the zero rate, from the continuously compounded rate anchor
at the reference date (on ACT/365 fixed time).
pub(crate) fn code(&self) -> &'static str
pub(crate) fn code(&self) -> &'static str
The scheme’s code, as DiscountCurve.interpolation() reads it back.
pub(crate) fn read_log_df(
&self,
taus: Vec<f64>,
ys: Vec<f64>,
tau: f64,
) -> PyResult<f64>
pub(crate) fn read_log_df( &self, taus: Vec<f64>, ys: Vec<f64>, tau: f64, ) -> PyResult<f64>
The log discount factor this scheme reads at tau from knots at
taus (year fractions, positive and strictly increasing) with log
discount factors ys, the anchor (0, 0) implicit and the forward
held flat past the last knot — what a DiscountCurve under this
scheme reads. Malformed knots raise ValueError naming the defect.
pub(crate) fn __str__(&self) -> &'static str
pub(crate) fn __repr__(&self) -> String
pub(crate) fn log_linear() -> Self
pub(crate) fn backward_flat() -> Self
pub(crate) fn forward_flat() -> Self
pub(crate) fn linear_zero() -> Self
pub(crate) fn natural_cubic() -> Self
pub(crate) fn not_a_knot_cubic() -> Self
pub(crate) fn monotone_convex() -> Self
pub(crate) fn monotone_cubic() -> Self
pub(crate) fn akima() -> Self
pub(crate) fn monotonic_natural_cubic() -> Self
pub(crate) fn kruger_zero() -> Self
pub(crate) fn kruger() -> Self
Trait Implementations§
§impl Clone for PyInterpolation
impl Clone for PyInterpolation
§fn clone(&self) -> PyInterpolation
fn clone(&self) -> PyInterpolation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PyInterpolation
§impl Debug for PyInterpolation
impl Debug for PyInterpolation
impl DerefToPyAny for PyInterpolation
§impl IntoPy<Py<PyAny>> for PyInterpolation
impl IntoPy<Py<PyAny>> for PyInterpolation
§impl PartialEq for PyInterpolation
impl PartialEq for PyInterpolation
§impl PyClass for PyInterpolation
impl PyClass for PyInterpolation
§impl PyClassImpl for PyInterpolation
impl PyClassImpl for PyInterpolation
§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
§type ThreadChecker = SendablePyClass<PyInterpolation>
type ThreadChecker = SendablePyClass<PyInterpolation>
§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::ImmutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::ImmutableChild
§type BaseNativeType = PyAny
type BaseNativeType = PyAny
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<PyInterpolation> for PyClassImplCollector<PyInterpolation>
impl PyClassNewTextSignature<PyInterpolation> for PyClassImplCollector<PyInterpolation>
fn new_text_signature(self) -> Option<&'static str>
§impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a PyInterpolation
impl<'a, 'py> PyFunctionArgument<'a, 'py> for &'a PyInterpolation
§impl PyMethods<PyInterpolation> for PyClassImplCollector<PyInterpolation>
impl PyMethods<PyInterpolation> for PyClassImplCollector<PyInterpolation>
fn py_methods(self) -> &'static PyClassItems
§impl PyTypeInfo for PyInterpolation
impl PyTypeInfo for PyInterpolation
§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
fn type_object_bound(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
fn is_type_of_bound(object: &Bound<'_, PyAny>) -> bool
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
object is an instance of this type.