Delta hedžing sa používa na zaistenie portfólia proti posunu ceny podkladového aktíva pomocou vhodnej kombinácie akcií a opcií. Pri odvodení Black-Scholesovej rovnice sme mali porfólio \[ 1\ \text{Opcia} - \Delta\ \text{Akcií} \] A pre vhodne zvolenú deltu sme dostali bezrizikové portfólio \[ \Delta = \frac{\partial V}{\partial S} \]
Ak by sme poznali hodnotu \(\frac{\partial V}{\partial S}\), môžeme v portfóliu eliminovať riziko. V Black-Scholesovom modeli sa dá delta call opcie, napísať ako \(\Delta = \Phi(d_1)\), ak akcia nevypláca dividendy. Implementujte funkciu, ktorá vypočíta deltu pre put opciu
CallValue <- function(s, e, r, sigma, tau, q=0) {
d1 <- (log(s/e) + (r-q+0.5*sigma^2)*tau)/(sigma*sqrt(tau))
d2 <- (log(s/e) + (r-q-0.5*sigma^2)*tau)/(sigma*sqrt(tau))
return(s*exp(-q*tau)*pnorm(d1) - e*exp(-r*tau)*pnorm(d2))
}
PutValue <- function(s, e, r, sigma, tau, q=0) {
d1 <- (log(s/e) + (r - q + 0.5*sigma^2)*tau)/(sigma*sqrt(tau))
d2 <- (log(s/e) +(r - q - 0.5*sigma^2)*tau)/(sigma*sqrt(tau))
return(-s*exp(-q*tau)*pnorm(-d1) + e*exp(-r*tau)*pnorm(-d2))
}
CallDelta <- function(s, e, r, sigma, tau) {
d1 <- (log(s/e) + (r + 0.5*sigma^2)*tau)/(sigma*sqrt(tau))
return(pnorm(d1))
}
PutDelta <- function(s, e, r, sigma, tau){
# TODO
}
Cena akcie dnes je 20 USD, jej volatilita je 0.3 a úroková miera je 0.5 percenta.
# TODO
Zaujíma nás počet akcií v portfóliu ak sme…
vypísali 1000 call opcií s exspiračnou cenou 25 USD a exspiráciou o pol roka,
# TODO
vypísali 1000 put opcií s exspiračnou cenou 20 USD a exspiráciou o pol roka,
# TODO
kúpili 1000 call opcií s exspiračnou cenou 30 USD a exspiráciou o pol roka
# TODO
kúpili 1000 put opcií s exspiračnou cenou 20 USD a exspiráciou o pol roka,
# TODO
Nasledovný graf zobrazuje deltu troch call opcií ako funkcií ceny akcie. Tieto opcie majú rôzny čas do exspirácie. 1 deň, 1/2 roka, 2 roky. Ostatné parametre sú rovnaké. Priraďte časy exspirácie ku grafom. Svoju odpoveď overte výpočtom.
# TODO
Chceme vypočítať limitu \(\Delta\), pre \(\tau\to 0^+\) a pre \(\tau \to \infty\). Treba rozlíšiť prípady \(S>E, S=E, S<E\).
Skúsime aj graficky:
s <- 50
r <- 0.005
sigma <- 0.5
tau <- seq(0, 5, length.out=501)
# S > E
e <- 40
v <- CallDelta(s, e, r, sigma, tau)
plot(tau, v, type="l", col="blue", ylim = c(0,1), ylab = "delta call opcie" )
# S = E
e <- 50
v <- CallDelta(s, e, r, sigma, tau)
lines(tau, v, type="l", col="red" )
# S < E
e <- 60
v <- CallDelta(s, e, r, sigma, tau)
lines(tau, v, type="l", col="green" )
# limita
abline(0.5, 0) # FIXME
Napíšte funkciu, ktorá vráti deltu pre call a put opcie v prípade, že akcia vypláca dividendy.
CallDelta <- function(s, e, r, signa, tau, q=0) {
# TODO
}
PutDelta <- function(s, e, r, signa, tau, q=0) {
# TODO
}
Put opcia s exspiračnou cenou \(E=450\) s exspiráciou o dva mesiace má cenu \(51,\!34\). Aká je úroková miera, ak má podkladové aktívum cenu \(400\) a volatilitu \(\sigma = 25\%\)?
Nech sú splnené všetky predpoklady Black-Scholesovho modelu. Nájdite cenu derivátu, ktorý v čase exspirácie \(T\) vyplatí \((S_T)^n\). Použite ansatz v tvare \(V(S, t) = S^n\cdot A(t)\), kde \(A(t)\) je nejaká funkcia.
Koľko kusov tohto derivátu treba nakúpiť/predať, aby sme zaistili \(1000\) akcií pomocou delta hedžingu? Dnešná cena akcie je \(S=50\), úroková miera je \(0,\!2\%\), volatilita je \(\sigma = 40\%\) a čas do exspirácie je pol roka.
Pán Bohatý má v portfóliu jednu put opciu s exspiračnou cenou \(E = 70\) a jednu call opciu s exspiračnou cenou \(E = 50\), pričom akcia nevypláca dividendy. Rozhodnite či platí tvrdenie: „Hodnota portfólia pána Bohatého je minimálne 20.”
Dá sa nájsť cena opcie aj pomocou simulácie?
Predpokladajme, že cena podkladového aktíva sa riadi geometrickým Brownovým pohybom: \[ S_t = 100 \exp(0,\!1\, t + 0,\!3\, w_t) \]
Poznámka: binárna call opcia vyplatí hodnotu \(1\), ak cena podkladového aktíva v čase exspirácie presiahne exspiračnú cenu.
Podmienky odovzdania sú rovnaké ako pri prvej domácej úlohe. Pracovať možno samostatne alebo v skupinkách maximálne troch ľudí. Vaše riešenie odovzdajte mailom s predmetom FD 2023 – nick do 12.03.2023.