Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

futures_price_forecast

Forecast the futures prices of an N-factor model


Description

Analytically forecast future expected Futures prices under the risk-neutral version of a specified N-factor model.

Usage

futures_price_forecast(
  x_0,
  parameters,
  t = 0,
  futures_TTM = 1:10,
  percentiles = NULL
)

Arguments

x_0

Initial values of the state vector.

parameters

A named vector of parameter values of a specified N-factor model. Function NFCP_parameters is recommended.

t

a numeric specifying the time point at which to forecast futures prices

futures_TTM

a vector specifying the time to maturity of futures contracts to value.

percentiles

Optional. A vector of percentiles to include probabilistic forecasting intervals.

Details

Under the assumption or risk-neutrality, futures prices are equal to the expected future spot price. Additionally, under deterministic interest rates, forward prices are equal to futures prices. Let \(F_{T,t}\) denote the market price of a futures contract at time \(t\) with time \(T\) until maturity. let * denote the risk-neutral expectation and variance of futures prices. The following equations assume that the first factor follows a Brownian Motion.

Where: \[A(T-t) = \mu^*(T-t)-\sum_{i=1}^N - \frac{1-e^{-\kappa_i (T-t)}\lambda_i}{\kappa_i}+\frac{1}{2}(\sigma_1^2(T-t) + \sum_{i.j\neq 1} \sigma_i \sigma_j \rho_{i,j} \frac{1-e^{-(\kappa_i+\kappa_j)(T-t)}}{\kappa_i+\kappa_j})\] The variance is given by: \[Var^*[ln(F_{T,t})]= \sigma_1^2t + \sum_{i.j\neq1} e^{-(\kappa_i + \kappa_j)(T-t)}\sigma_i\sigma_j\rho_{i,j}\frac{1-e^{-(\kappa_i+\kappa_j)t}}{\kappa_i+\kappa_j}\]

Value

futures_price_forecast returns a vector of expected Futures prices under a given N-factor model with specified time to maturities at time \(t\). When percentiles are specified, the function returns a matrix with the corresponding confidence bands in each column of the matrix.

References

Schwartz, E. S., and J. E. Smith, (2000). Short-Term Variations and Long-Term Dynamics in Commodity Prices. Manage. Sci., 46, 893-911.

Cortazar, G., and L. Naranjo, (2006). An N-factor Gaussian model of oil futures prices. Journal of Futures Markets: Futures, Options, and Other Derivative Products, 26(3), 243-268.

Examples

# Forecast futures prices of the Schwartz and Smith (2000) two-factor oil model:
## Step 1 - Run the Kalman filter for the two-factor oil model:
SS_2F_filtered <- NFCP_Kalman_filter(parameter_values = SS_oil$two_factor,
                                    parameter_names = names(SS_oil$two_factor),
                                    log_futures = log(SS_oil$stitched_futures),
                                    dt = SS_oil$dt,
                                    futures_TTM = SS_oil$stitched_TTM,
                                    verbose = TRUE)

## Step 2 - Probabilistic forecast of the risk-neutral two-factor
## stochastic differential equation (SDE):
futures_price_forecast(x_0 = SS_2F_filtered$x_t,
                      parameters = SS_oil$two_factor,
                      t = 0,
                      futures_TTM = seq(0,9,1/12),
                      percentiles = c(0.1, 0.9))

NFCP

N-Factor Commodity Pricing Through Term Structure Estimation

v1.0.1
GPL-3
Authors
Thomas Aspinall [aut, cre] (<https://orcid.org/0000-0002-6968-1989>), Adrian Gepp [aut] (<https://orcid.org/0000-0003-1666-5501>), Geoff Harris [aut] (<https://orcid.org/0000-0003-4284-8619>), Simone Kelly [aut] (<https://orcid.org/0000-0002-6528-8557>), Colette Southam [aut] (<https://orcid.org/0000-0001-7263-2347>), Bruce Vanstone [aut] (<https://orcid.org/0000-0002-3977-2468>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.