Recently came across building Histroical VaR for commodity forward position. Understood from quants guru the best way to calculate VaR is using full re-valuation, Full reval is computationally intensive . Any other alternative approach will be appreciated . On a different note, my forward position has following risk drivers

  1. Commodity Price
  2. Fx Rate
  3. IR Rate (To discount the forward cash flows)
  4. Commodity Spread.

I need to find a model that can accommodate all the risk drivers without using full reval and parametric approach.


1 Answer 1


Why is it so expensive to use the full revaluation method? The commodity forward price is

$$ F = (S + U)e^{rT} $$

where $S$ is the current spot price, $U$ is the cost of storage between $0$ and $T$ and $r$ is the risk-free rate (you may also have an FX rate if the forward is priced in a different currency from the underlying).

If you have a joint model for the distribution of $(S, U, r)$ you can sample from this distribution (say 10,000 times), compute the forward price (which is fast) and find the 5th percentile (which is also fast). It takes ~2 milliseconds in MATLAB.

If you don't have a joint distribution, you can sample from the historical distribution instead (e.g. over the last 252 days).

If you want to speed it up, notice that for most commodities the primary risk driver is the price of the underlying, so you can either just sample from the distribution of the underlying, or if you have a model for the price moves (e.g. lognormal) you can calculate the VaR exactly by applying the appropriate transofmration to the VaR of the underlying.

Another approach, which will approximate the VaR, is to expand the pricing formula to first order. For example, for the pricing formula above,

$$ dF = FTdr + e^{rT}dS + e^{rT}dU $$

which expresses the change in the futures value as a linear combination of the risk drivers $dr$, $dS$ and $dU$ (you can do the same for the specific risk drivers for your contracts).

You can compute the coefficients in front of the risk drivers before historical sampling, and now just compute VaR as the 5th percentile of your approximate P&L $dF$.

  • $\begingroup$ Full reval REQUIRES grid computing. The short dec-2016 Milling wheat position. The Market Prices are quoted in the EUR/MT and sold in the ZAR/MT financial book currency is USD . Using the full reval method to calculate VaR on the 504( 2 year) historical point requires calculating the PnL for 500 points + Linear Interpolation for IR to discount the PnL vector and convert . Portfolio size is a 1000 Forward position with two cash flow. To value the portfolio system needs to Interpolate the 2000 IR curve using nearby maturity that is a (1008000) + PnL 1000* 504 (504000) = >1512000. $\endgroup$ Commented Apr 14, 2016 at 9:07
  • $\begingroup$ I am still skeptical that re-pricing a million times requires grid computing (I regularly do much more intensive calculations than this on my laptop) but I will take you at your word. I updated my answer to describe a method of computing approximate VaR that doesn't require repricing for each historical point. Instead you compute some coefficients once, and then the historical P&L is a linear sum of your risk drivers. $\endgroup$ Commented Apr 14, 2016 at 9:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.