Future Price Models
Future Price Model Types
DiffFusion.MarkovFutureModel — Type
struct MarkovFutureModel <: SeparableHjmModel
hjm_model::GaussianHjmModel
state_alias::Vector{String}
factor_alias::Vector{String}
endA Markov model for Future prices with piece-wise constant benchmark price volatility and constant mean reversion.
We implement an object adapter for the GaussianHjmModel to re-use implementation for common modelling parts.
The MarkovFutureModel differs from the GaussianHjmModel essentially only by the drift Theta.
Moreover, we do not require the integrated state variable and want to identify correlations with Future prices instead of forward rates.
DiffFusion.markov_future_model — Function
markov_future_model(
alias::String,
delta::ParameterTermstructure,
chi::ParameterTermstructure,
sigma_f::BackwardFlatVolatility,
correlation_holder::Union{CorrelationHolder, Nothing},
quanto_model::Union{AssetModel, Nothing},
scaling_type::BenchmarkTimesScaling = ForwardRateScaling,
)Create a Gausian Markov model for Future prices.
Model Functions for Payoff Evaluation
DiffFusion.log_future — Function
log_future(m::Model, alias::String, t::ModelTime, T::ModelTime, X::ModelState)Calculate the Future price term h(t,T)'[x(t) + 0.5y(t)(1 - h(t,T))].
log_future(m::CompositeModel, alias::String, t::ModelTime, T::ModelTime, X::ModelState)Calculate the Future price term h(t,T)'[x(t) + 0.5y(t)(1 - h(t,T))].
log_future(m::MarkovFutureModel, alias::String, t::ModelTime, T::ModelTime, X::ModelState)Calculate the Future price term (h(t,T)'[x(t) + 0.5y(t)(1 - h(t,T))])'.