Abcd functional form More...
#include <ql/math/abcdmathfunction.hpp>
Public Types | |
typedef Time | argument_type |
typedef Real | result_type |
Public Member Functions | |
AbcdMathFunction (Real a=0.002, Real b=0.001, Real c=0.16, Real d=0.0005) | |
AbcdMathFunction (const std::vector< Real > &abcd) | |
Real | operator() (Time t) const |
function value at time t: More... | |
Time | maximumLocation () const |
time at which the function reaches maximum (if any) | |
Real | maximumValue () const |
maximum value of the function | |
Real | longTermValue () const |
function value at time +inf: More... | |
Real | derivative (Time t) const |
Real | primitive (Time t) const |
Real | definiteIntegral (Time t1, Time t2) const |
Real | a () const |
Real | b () const |
Real | c () const |
Real | d () const |
const std::vector< Real > & | coefficients () |
const std::vector< Real > & | derivativeCoefficients () |
std::vector< Real > | definiteIntegralCoefficients (Time t, Time t2) const |
std::vector< Real > | definiteDerivativeCoefficients (Time t, Time t2) const |
Static Public Member Functions | |
static void | validate (Real a, Real b, Real c, Real d) |
Protected Attributes | |
Real | a_ |
Real | b_ |
Real | c_ |
Real | d_ |
Abcd functional form
\[ f(t) = [ a + b*t ] e^{-c*t} + d \]
following Rebonato's notation.
Real longTermValue | ( | ) | const |
function value at time +inf:
\[ f(\inf) \]
first derivative of the function at time t
\[ f'(t) = [ (b-c*a) + (-c*b)*t) ] e^{-c*t} \]
indefinite integral of the function at time t
\[ \int f(t)dt = [ (-a/c-b/c^2) + (-b/c)*t ] e^{-c*t} + d*t \]
definite integral of the function between t1 and t2
\[ \int_{t1}^{t2} f(t)dt \]
Real a | ( | ) | const |
Inspectors
coefficients of a AbcdMathFunction defined as definite integral on a rolling window of length tau, with tau = t2-t
coefficients of a AbcdMathFunction defined as definite derivative on a rolling window of length tau, with tau = t2-t