25 const std::vector<Time>& fixingTimes,
28 fixingTimes_(fixingTimes) {
48 tmp[i] = (a*(
T-
t)+
d)*std::exp(-
b*(
T-
t)) + c;
64 return (
T>
t) ? (a*(
T-
t)+
d)*std::exp(-
b*(
T-
t)) + c :
Real(0.0);
77 const Real k1=std::exp(
b*u);
78 const Real k2=std::exp(
b*
S);
79 const Real k3=std::exp(
b*
T);
81 return (a*a*(-1 - 2*
b*
b*
S*
T -
b*(
S +
T)
82 + k1*k1*(1 +
b*(
S +
T - 2*u) + 2*
b*
b*(
S - u)*(
T - u)))
83 + 2*
b*
b*(2*c*
d*(k2 + k3)*(k1 - 1)
84 +
d*
d*(k1*k1 - 1)+2*
b*c*c*k2*k3*u)
85 + 2*a*
b*(
d*(-1 -
b*(
S +
T) + k1*k1*(1 +
b*(
S +
T - 2*u)))
86 -2*c*(k3*(1 +
b*
S) + k2*(1 +
b*
T)
87 - k1*k3*(1 +
b*(
S - u))
88 - k1*k2*(1 +
b*(
T - u)))
1-D array used in linear algebra.
Standard constant parameter .
Array volatility(Time t, const Array &x=Null< Array >()) const override
void generateArguments() override
LmLinearExponentialVolatilityModel(const std::vector< Time > &fixingTimes, Real a, Real b, Real c, Real d)
const std::vector< Time > fixingTimes_
Real integratedVariance(Size i, Size j, Time u, const Array &x=Null< Array >()) const override
std::vector< Parameter > arguments_
Constraint imposing positivity to all arguments
ext::function< Real(Real)> b
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
std::size_t Size
size of a container
volatility model for libor market models