Browse By

Calculating Value at Risk for Options, Futures, FX Forwards

Value at Risk. VaR Options Futures FX Forwards

In this course we provide a methodology for calculating the Value at Risk (VaR) measure for futures and options. The methodology that we have employed uses a Monte Carlo Simulator to first generate terminal prices series, then calculates the related payoffs and prices series. The prices series is used to determine the return series which is used in the volatility and VaR calculations.

As a pre-requisite to this course the user may like to review the following two courses:

Step 1: Construct a Monte Carlo Simulator for prices of the underlying

The first step of the process involves the construction of a Monte Carlo simulator for determining the terminal price of the underlying. As we are interested in daily prices of the options, the interval or time step length should be for a day. In our illustration we have assumed that the option contract will expire after 10 days so we have used ten intermediate steps to simulate the development of prices of the underlying security for this period.

The simulated prices are generated based on the Black Schole’s Terminal Price formula:

St=S0*exp[(r-q-0.5sigma^2)t+sqroot(sigma)*zt]

Where S0 is the spot price at time zero,

r is the risk free rate

q is the convenience yield

sigma is the annualized volatility in the commodity’s price

t is the duration since time zero, and

zt is a random sample from a normal distribution with mean zero and standard deviation of 1. zt was obtained in these models by normally scaling the random numbers generated using Excel’s RAND() function, i.e. NORMINV(RAND()).

Step 2: Expand the Monte Carlo Simulator

In order to calculate the Value at Risk (VaR) measure we require a series of returns which in turn requires time-series price data. To simulate this particular environment we assume that we have a series of similar option contracts that commence and expire on a one-day roll-forward basis. Suppose that for the original option the commencement was at time 0 and the expiry was at time step 10, the next option will commence at time 1 and expire at time step 11, the next will start at time 2 and expire at time step 12, and so on. Based on this premise we will obtain a time series of daily terminal prices. In our illustration we have repeated this process in order to generate time-series data for terminal prices for a period of 365 days.

Step 3: Run scenarios

Step 2 above generates a 365-day terminal price series under a single scenario. The process now needs to be repeated several times (in our illustration we have used 1000 simulation runs) in order to generate a data set of times series data with the aid of EXCEL’s Data Table functionality. Once this process has been completed an average terminal price time-series will be calculated, by taking a simple average of the terminal prices at each future date across all the simulated runs. The figure below shows this process for our example.

The Average Terminal Price for Date 1 is the average of all the terminal prices generated for this date across the 1000 simulated runs. The Average Terminal Price for Date 363 is the average of all the terminal prices generated for this date across the 1000 simulated runs.

Step 4: Calculate the intrinsic value or payoffs

Individual payoffs at each data point

For each data point given in the terminal price data set mentioned in Step 3 above we now have to calculate the payoffs or intrinsic values of the derivatives contract. In our illustration, we have assumed that we have a futures contract, a European call option and a European put option all having a strike or exercise price of 1300. The payoffs for these contracts are calculated as follows:

Payoff for a long futures = Terminal Price – Strike

Payoff for a long call option = Maximum of (Terminal Price –Strike, 0)

Payoff for the long put option = Maximum of (0, Strike-Terminal Price)

This is illustrated for a subset of futures payoffs below:

For example, for scenario 3 (third data row) on date 2 (second data column) the Terminal price is 1333.04. The strike price as mentioned earlier is 1300. The futures payoff therefore works out to Terminal Price – Strike Price = 1333.04 – 1300 = 33.04.

Average payoff time-series

Once all the payoffs have been calculated we determine the average payoff time series by taking a simple average of the payoffs at each future date across all the simulated runs.

 

Step 5: Calculate discount values of payoffs, i.e. prices

Individual prices at each data point

For each data point given in the terminal price data set mentioned in Step 3 above for which we have determined the payoffs or intrinsic values of the derivatives contract as mentioned in Step 4 above, we will now calculated their discounted values as follows:

Payoff * e-rT

Where r is the risk free rate and

T is the tenor of the option, i.e. 10 days.

The discounted values derived are the values/ prices of the futures contract and the call and put options respectively. This is illustrated for a subset of futures prices below:

For example, for scenario 3 (third data row) on date 2 (second data column) the payoff is 33.04. The risk free rate is 0.15% and as mentioned earlier the tenor of the contract is 10 days. The futures price therefore works out to Payoff * e-rT =33.04*exp (-0.15%*(10/365))=33.03.

Average price time-series

Once all the prices have been calculated we determine the average price time series by taking a simple average of the prices at each future date across all the simulated runs.

Step 6: Calculate the return series

Now that we have the derivatives average price series we will determine the return series by taking the natural logarithm of successive prices.  This is illustrated for a subset of the futures, call option and put option contracts below:

The average prices of a call on Date 1 and 2 are 12.31 and 12.65 respectively. The return on Date 2 will therefore be ln(12.65/12.31) =2.71%.

Step 7: Calculate the VaR measure

Next we have calculated the VaR measure using the techniques outline in our course Calculating Value at Risk, in particular we have used the Simple Moving Average (SMA) Variance Covariance (VCV) Approach and the Historical Simulation Approach.

For our illustration, the 10-day holding period VaR at different confidence levels, using the VCV approach has been calculated as follows:

A graphical representation of the results for futures is given below:

The 10-day holding period VaR at the 95% confidence level, using the Historical simulation approach is illustrated below:

Alternate VaR method for FX Forwards: Delta VaR

If you need to calculate VaR for foreign exchange forward contracts there is a shorter alternate approach that combines the underlying currency pair VaR estimate with the delta estimate for the forward contract.

To factor in the impact of the interest rates differential between the foreign and domestic risk free rates, the forward exchange rates risk factor is considered. The VaR for the forward contract will approximately equal this factor’s VaR times the sensitivity of the forward’s price to fluctuations in the underlying factor. The sensitivity is measured as the forwards delta[1]. In particular the VaR of the forward position will be:

 VaR forward position = Delta*VaR forward exchange rates.

 Where Delta = e-rfT

rf is the foreign risk free rate as of the report date

T is the days to maturity (DTM) (=midpoint of DTM bucket, see below), expressed in years

 FX Forward VaR – Data requirements

  • FX Forward Exchange Rates history for the look back period (Daily Prices>Yield Curves>Forex)
  • Foreign risk free rate for the report date for each currency where a position is present (Daily Prices>Yield Curves> Risk Free Rates)

The steps for calculating VaR for forwards and swaps are given below.  

Step 1: Identify the currencies (Foreign currency (FCY) & domestic currency (DCY)) for each forward deal. Treat the near and far legs of a swap deal as two separate forward deals.

 Step 2:  Identify the long and short positions for each forward deal.

Step 3: Calculate the Days to Maturity (DTM) for each position and allocate pre-specified standardized DTM buckets to each position. We have used the following DTM buckets with the midpoint for each bucket specified below. This midpoint will be used to select the relevant Forward Exchange Rate buckets to use:  

DTM BucketMidpoint (days)
1 -15 days8
16 -30 days23
1-3 months60
3-6 months135
6-9 months225
9-12 months318
greater than 1 year366

 

Step 4: Sum all the long positions by currency and DTM bucket. Sum all the short positions by currency and DTM bucket.

 Step 5: Calculate the Gross position by currency and DTM bucket. This is the sum of the absolute value of long and absolute value of short positions.

 Step 6: Calculate a Net position by currency and DTM bucket. This is the sum of the long and short positions for the bucket.

 Step 7: Using the interpolated[2] forward foreign exchange rate for the calculation date calculate the MTM of the position on a Gross and Net basis (MTM) (Gross), i.e.:

  • MTM (Gross) = Gross Position*FX Forward Exchange Rate* Delta;
  • MTM (Net) = Net Position * FX Forward Exchange Rate * Delta

 Step 8: Calculate the holding volatility & VaR% of for 1 unit of an FX forward exchange rates in the given currency:   

  • Obtain the FX forward exchange rates for the specified lookback period
  • Calculate the return series for these rates
  • Calculate the daily volatility for the returns & the holding volatility based on the selected holding period
  • Calculate the holding VaR % based on the selected confidence level

Step 9: Multiply the holding VaR % with the MTM (Gross) & MTM (Net) amounts respectively to determine the Holding VaR (Gross) & Holding VaR (Net) amounts for each currency & DTM bucket.

 Step 10: Calculate portfolio VaR (Total (Gross) & Total (Net)) across all instruments & currencies

  • Calculate weights for each currency and DTM bucket using the absolute value of the MTM (Gross) & MTM (Net) respectively
  • Using the return series of the FX Forward rates for each currency and DTM bucket, and the weights calculated above, determined a weighted average return series for the portfolio
  • Calculate the daily volatility for the returns & the holding volatility based on the selected holding period
  • Calculate the holding VaR based on the selected confidence level
  • Multiply the resulting portfolio VaR%s with the MTM (Gross) and MTM(Net) total amounts to determine Holding VaR (Gross) & Holding VaR (Net) for the portfolio.

 

 [1] Understanding market, credit and operational risk – The value at risk approach –Linda Allen, et al.

[2] Interpolated based on the relevant midpoint of DTM bucket


 

Exotic Options pricing using Monte Carlo simulation in Excel – now in store  Option Pricing using Monte Carlo Simulation

One thought on “Calculating Value at Risk for Options, Futures, FX Forwards”

  1. Pingback: Calculating-Value-at-Risk-VaR | Finance Training Course
  2. Trackback: Calculating-Value-at-Risk-VaR | Finance Training Course

Comments are closed.

Comodo SSL