Volatilities
Volatility Term Structure Types
DiffFusion.VolatilityTermstructure
— Typeabstract type VolatilityTermstructure <: Termstructure end
An abstract volatility term structure that provides methods to calculate volatility values for various incarnations of signatures.
DiffFusion.BackwardFlatVolatility
— Typestruct BackwardFlatVolatility <: VolatilityTermstructure
alias::String
times::AbstractVector
values::AbstractMatrix
end
A vector-valued volatility term structure with piece-wise constant (backward-flat) interpolation and constant extrapolation.
DiffFusion.backward_flat_volatility
— Functionbackward_flat_volatility(
alias::String,
times::AbstractVector,
values::AbstractMatrix,
)
Create a BackwardFlatVolatility object for vector-valued volatility.
Volatility values are of size (nvols, ntimes).
backward_flat_volatility(
alias::String,
times::AbstractVector,
values::AbstractVector,
)
Create a BackwardFlatVolatility object for scalar volatility.
DiffFusion.flat_volatility
— Functionflat_volatility(alias::String, value)
Create a BackwardFlatVolatility object for a flat volatility.
flat_volatility(alias::String, value)
Create a BackwardFlatVolatility object for a flat volatility.
Functions
Call operator for VolatilityTermstructure
is defined as
(ts::VolatilityTermstructure)(args...) = volatility(ts, args...)
DiffFusion.volatility
— Functionvolatility(ts::VolatilityTermstructure, t::ModelTime, result_size::TermstructureResultSize = TermstructureVector)
Return a volatility for a given observation time t
.
DiffFusion.volatility
— Methodvolatility(ts::VolatilityTermstructure, t::ModelTime, x::ModelValue)
Return a scalar volatility for a given observation time t
and underlying or strike value x
.
DiffFusion.volatility
— Functionvolatility(ts::BackwardFlatVolatility, t::ModelTime, result_size::TermstructureResultSize = TermstructureVector)
Return a vector of volatilities for a given observation time t.
DiffFusion.time_idx
— Methodtime_idx(ts::BackwardFlatVolatility, t)
Find the index such that T[idx-1] < t <= T[idx]
. If t
is larger than the last (or all) times T
then return length(T)+1
.