Exercise 1

The investor has a portfolio with a zero delta (delta neutral) and a gamma value equal to \(-3000\). Delta and gamma for the options included in this portfolio are 0.62 and 1.5 respectively. The investor wants to bring the value of the gamma and delta ratios of the above portfolio to zero. Suggest a strategy.

Solution

In order to bring gamma of the portfolio to 0 we should use the formula (17):

\(w_T = -\frac{\Gamma}{\Gamma_T} = -\frac{-3000}{1.5} = 2000\)

Thus we should buy call options on 2000 stocks. This transaction changes the delta of the portfolio from \(0\) to \(2000*0.62=1240\)

To bring the delta to \(0\) we should sell (or short sell) \(1240\) units of the underlying asset (note that the gamma of underlying assets like stocks or futures is equal to \(0\))

Exercise 2

Calculate the value of the european call option for EURPLN (treat EUR as foreign currency), with the following characteristics: \(S = 4.05\), \(K = 4.0000\), \(r = 7\%\), \(r_f = 3\%\), \(T = 0.5\), \(\sigma = 32\%\). Check how the price of this option will change if its volatility changes to:
a) 22%
b) 41%

Solution

We should use the formula (1):

\(Call =Se^{-r_fT} N(d_1) - Ke^{-rT}N(d_2)\)

\(d_1 = \frac{ln\frac{S}{K} + (r - r_f + \frac{\sigma^2}{2})T}{\sigma\sqrt{T}}\)

\(d_2 = \frac{ln\frac{S}{K} + (r - r_f- \frac{\sigma^2}{2})T}{\sigma\sqrt{T}} = d_1 - \sigma\sqrt{T}\)

The solution in R:

fx_call_price  <- function(S, K, r, r_f, T, sigma) {
  d1  <-  (log(S / K) + (r - r_f + sigma ^ 2 / 2)*T) / (sigma * sqrt(T))
  d2  <-  d1 - sigma * sqrt(T)
  S * exp(-r_f * T) * pnorm(d1)  - K * exp(-r * T) * pnorm(d2)
}
fx_call_price(4.05, 4.00, 0.07, 0.03, 0.5, 0.32)
## [1] 0.4209017
# a) volatility = 22% 
fx_call_price(4.05, 4.00, 0.07, 0.03, 0.5, 0.22)
## [1] 0.3123066
# b) volatility = 41% 
fx_call_price(4.05, 4.00, 0.07, 0.03, 0.5, 0.41)
## [1] 0.5189463

Exercise 3

You have a portfolio of shares that reflects the composition of S&P500 index. The value of the portfolio is 100 mln USD. S&P500 is at the level of 2900. You would like to insure your portfolio against S&P500 decrease higher than 5% over the next 3 months. Risk-free rate is 2%, dividend ratio is 1% (for S&P500 and your portfolio) and the volatility of the S&P500 is 24%.
a) How much the insurance will cost if you decide to use put option?
b) How the strategy will look like if you want to create delta neutral portfolio using options.

Solution:

  1. To secure your portfolio against decrease higher than 5% of the index you need to use long put options with strike equal to \(K=0.95\% * 2900 = 2755\). The price of this option for \(S=2900\), \(K=2755\), \(r=2\%\), \(q=1\%\), \(T=0.25\), \(\sigma=24\%\) is (for calculation simplification we assume index multiplier 1 per option):

\(Put = Ke^{-rT}N(-d_2) - Se^{-qT} N(-d_1)\)

\(d_1 = \frac{ln\frac{S}{K} + (r - q + \frac{\sigma^2}{2})T}{\sigma\sqrt{T}}\)

\(d_2 = \frac{ln\frac{S}{K} + (r - q- \frac{\sigma^2}{2})T}{\sigma\sqrt{T}} = d_1 - \sigma\sqrt{T}\)

\(Put =72.3279\) Please see R calculations below.

The required number of options is:

\(\frac{\text{value of the portfolio}}{S} = \frac{100\ 000\ 000}{2900} = 34\ 483\ options\)

The cost of the insurance is:

\(34\ 483 * 72.3279= 2\ 494\ 083\ USD\)

  1. The delta of the portfolio equals \(34\ 483\) (Note that delta of stocks is equal 1 and in this case portfolio can be treated as portfolio of index instrument). To create delta neutral strategy you should buy put option. The delta of one put option is presendet by formula (14):

\(\Delta_{put} = e^{-qT}[N(d_1) -1] = -0.3046\) Please see the R calculation below.

\(d_1 = \frac{ln\frac{S}{K} + (r - q + \frac{\sigma^2}{2})T}{\sigma\sqrt{T}}\)

To create delta neutral portfolio you should buy \(n\text{ put options}\):

\(\Delta_{current} + n * \Delta_{put} = 0\)

\(34\ 483 + n * -0.3046 = 0\)

\(n = \frac{34\ 483}{0.3046} = 113\ 096 \text{ put options}\)

Note that we assumed one option is for one underlying instrument whereas in reality S&P500 is multiplied by 100 to define the size of the option contract.

put_price  <- function(S, K, r, q, T, sigma) {
  d1  <-  (log(S / K) + (r - q + sigma ^ 2 / 2)*T) / (sigma * sqrt(T))
  d2  <-  d1 - sigma * sqrt(T)
  K *exp(-r*T)*pnorm(-d2) - S * exp(-q * T)* pnorm(-d1)
}
put_price(2900, 2755, 0.02, 0.01, 0.25, 0.24)
## [1] 72.32791
put_delta  <- function(S, K, r, q, T, sigma) {
  d1  <-  (log(S / K) + (r - q + sigma ^ 2 / 2)*T) / (sigma * sqrt(T))
  exp(-q * T) * (pnorm(d1) - 1)
}
put_delta(2900, 2755, 0.02, 0.01, 0.25, 0.24)
## [1] -0.3048663

Exercise 4

Calculate the value of the european call option for the S&P500 futures contract with the following characteristics: \(S = 920\), \(K = 960\), \(r = 3\%\), \(T = 0.25\), \(σ = 29\%\). Investor has the portfolio with delta (\(\Delta_p\)) equals \(-300\) and gamma (\(\Gamma_p\)) equals \(2.9\). The investor wants to bring the value of the gamma and delta ratios of the above portfolio to zero. Suggest a strategy.

Solution

We should use the formula (5):

\(Call = Fe^{-rT} N(d_1) - Ke^{-rT}N(d_2)\)
\(d_1 = \frac{ln\frac{F}{K} + \frac{\sigma^2}{2}T}{\sigma\sqrt{T}}\)
\(d_2 = \frac{ln\frac{F}{K} - \frac{\sigma^2}{2}T}{\sigma\sqrt{T}} = d_1 - \sigma\sqrt{T}\)

Inserting our parameters to the formula we get call price on the level of \(36.37\). Please see the R calculation below.

We will use this option to bring delta and gamma of the investors’ portfolio to \(0\). Therefore we have to calculate the greeks:

To calculate delta of the option we should use the formula (15). Note that delta for futures option is defined as the rate of change of the option price with respect to the futures price (not the spot price)$:

\(\Delta = e^{-rT}N(d_1) = 0.4095\) Please see the R calculation below.

To calculate gamma of the option we should use the formula (19):

\(\Gamma_o = e^{-rT}\frac{N^{'}(d_1)}{S\sigma \sqrt{T}} = 0.0029\) Please see the R calculation below.

Where

\(d_1 = \frac{ln\frac{F}{K} + \frac{\sigma^2}{2}T}{\sigma\sqrt{T}}\)

\(N^{'}(y) = \frac{1}{\sqrt{2\pi}}e^{\frac{-y^2}{2}}\)

To bring the gamma of the option to \(0\) the investor should open short call position in \(w_o\) options for futures:

\(w_o = -\frac{\Gamma_p}{\Gamma_o} = -\frac{2.9}{0.0029}=-1000\)

The transaction changes the delta of the portfolio. New delta is equal:

\(\Delta_p^{'} = \Delta_p - 1000 * 0.4095 = -300 - 409.5 = -709.5\)

To bring the delta of the portfolio to \(0\) the investor should buy \(709\) stocks (note that delta of one stock equals \(1\)).

\(\Delta_p^{'} + n_{stocks}*\Delta_{stocks} = 0\)

\(n_{stocks} = \frac{-\Delta_p^{'}}{\Delta_{stocks}} = \frac{709.5}{1} = 709.5\)

In case the investor wants to open position in futures instead of stocks the number of long futures is equal to (note that delta of futures is equal \(e^{(r-q)T}\), in our case \(q=0\)):

\(\Delta_p^{'} + n_{futures}*\Delta_{futures} = 0\)

\(n_{futures} = \frac{-\Delta_p^{'}}{\Delta_{futures}}=\frac{-\Delta_p^{'}}{e^{(r-q)T}} = \frac{709.5}{0.9925} = 704.2\)

Calculation in R:

futures_call_price  <- function(F, K, r, T, sigma) {
  d1  <-  (log(F / K) + (sigma ^ 2 / 2)*T) / (sigma * sqrt(T))
  d2  <-  d1 - sigma * sqrt(T)
  F * exp(-r * T) * pnorm(d1)  - K * exp(-r * T) * pnorm(d2)
}
futures_call_price(920, 960, 0.03, 0.25, 0.29)
## [1] 36.37346
option_delta  <- function(F, K, r, T, sigma) {
  d1  <-  (log(F / K) + (sigma ^ 2 / 2)*T) / (sigma * sqrt(T))
  exp(-r * T) * pnorm(d1)
}
option_delta(920, 960, 0.03, 0.25, 0.29)
## [1] 0.4094581
option_gamma  <- function(F, K, r, T, sigma) {
  d1  <-  (log(F / K) + (sigma ^ 2 / 2)*T) / (sigma * sqrt(T))
  N_prim_d1  <-  (1 / sqrt(2 * pi)) * exp ((-d1 ^ 2) / 2)
  exp(-r * T) * N_prim_d1 / (F * sigma * sqrt(T))
}
option_gamma(920, 960, 0.03, 0.25, 0.29)
## [1] 0.002896609
# Delta of futures:
exp(-0.03 * 0.25)
## [1] 0.9925281