-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathModel description.tex
153 lines (115 loc) · 10.5 KB
/
Model description.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
\documentclass[10pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{geometry}
\usepackage{color}
\usepackage{url}
%\usepackage{hyperref}
\theoremstyle{definition}
\setlength{\parindent}{0pt}
\newtheorem{definition}{Definition}[section]
\newtheorem{lemma}{Lemma}[section]
\newtheorem{remark}{Remark}[section]
\newtheorem{example}{Example}[section]
\newtheorem{theorem}{Theorem}[section]
\newtheorem{cor}{Corollary}[section]
\newtheorem{conj}{Conjecture}[section]
\newtheorem{prop}{Proposition}[section]
\providecommand{\abs}[1]{\lvert#1\rvert}
\providecommand{\norm}[1]{\lVert#1\rVert}
\title{DB Summer challenge 2016: Model descriptions}
\author{Team: More risk more fun \\
Members: D. Be{\ss}lich, B. Stemper, J. Sternberg}
\begin{document}
\maketitle
In this paper, we outline the algorithms used for the various exercises, together with the assumptions that led us to their adoption.
\section*{Exercise 1}
In the first exercise, it is required to compute the 1-day VaR at the $99\%$ confidence level for a stock-only portfolio. In his expository article on VaR \cite{Damodaran}, Damodaran claims that the variance-covariance method poses a suitable method for this purpose since the time horizon is short and the portfolio does not contain derivatives. In our code, we make use of the following two critical assumptions:
\begin{itemize}
\item We assume that daily log returns (or equivalently daily changes of log prices)
are normally distributed. While it is a stylized fact that this assumption does not
hold in reality, we nevertheless use it as it dramatically simplifies calculations
and is a common assumption in industry, with the very popular Black-Scholes
framework being a model that uses this assumption in particular. Since we are
going to make use of the Black-Scholes framework (and in particular its Greeks)
in the following exercise, this provides some kind of consistency between our
models/algorithms for our portfolios with and without derivatives.
\item The expectation and covariance matrix used in our framework do not use the uniform probability measure,
but instead a weighted probability measure which places a higher emphasis on recent events compared to past events in order to capture possible trends in the data. In particular, we use the discrete probability measure $\mathbb{P}^T$ on $\{1,\dots,T\}$ with $\sigma$-algebra $\mathcal{F}=\mathcal{P}(\{1,\dots,T\})$ and
\[
\mathbb{P}^T(\{i\}):=\frac{i}{\frac{T(T+1)}{2}}=\frac{2i}{T(T+1)}
\]
for $i\in \{1,\dots,T\}$.
\item For computational reasons, we also linearise our daily loss function $L_{T+1}$. The concrete formula we use is that in \cite{QRM}, see in particular formula $(2.8)$ on page $29$:
\begin{align*}
L_{t+1} = \sum_{i=1}^{15} \lambda_i S_{t,i}X_{t+1,i},
\end{align*}
where $\lambda$ represents the position of our portfolio in the respective assets,
$X_{t+1,i}=\ln(S_{t+1,i})-\ln(S_{t,i})$ are
the log returns of asset $i$ at time $t+1$ (which is random at time $t$)
and $S_{t,i}$ represents the stock price of asset $i$ at time $t$.
\end{itemize}
Algebraic computations give the parameters of the normally distributed random variable $L_{t+1}$ and then the 'inverse Gaussian' yields the required quantile.
\section*{Exercise 2}
In this exercise, we are required to compute the 1-day VaR at the $99\%$ confidence level for a portfolio comprising both stocks as well as European call options on these stocks. In line with standard risk management practice, we determine the relevant risk factors to be the daily log changes of the respective underlyings as well as the changes in implied vol, ignoring changes in interest rates since these are assumed to be deterministically zero. As in exercise (1), we use the weighted variance-covariance method for the log-returns and then approximate the non-linear changes in value of our option portfolio by a first-order approximation using the various Greeks in the Black-Scholes framework. In particular, using all our weighted log-returns from the past, we compute daily realized variance, annualize it by multiplying it by 260 (the number of trading days per year) and squaring it to get a proxy for implied vol (see formula (1) on p. 6 in \cite{EG06}). As a proxy for our daily implied vol changes, we then use this yearly implied vol proxy divided by 260. Consequently, our daily loss function is a small extension of the formula proposed in \cite{QRM}:
\begin{align*}
L_{t+1} = \sum_{i=1}^{15} \left[(\lambda_i + \phi_i C^{\text{BS}}_{i,S}) S_{t,i} X_{t+1,i} + \phi_i C^{\text{BS}}_{i, \sigma} (\sigma_{t+1,i} - \sigma_{t,i}) + \phi_i C^{\text{BS}}_{i,t} \cdot 1/260 \right]
\end{align*}
where the the variables are parametrised such that for example $C^{\text{BS}}_{i,t}$ denotes the \emph{Black Scholes theta} of asset $i$, $\lambda_i$ denotes holdings of asset $i$, $\phi_i$ holdings of European calls on asset $i$ and the rest as before in exercise (1). Algebraic computations give the parameters of the normally distributed random variable $L_{t+1}$ and then the 'inverse Gaussian' yields the required quantile.
\section*{Exercise 3}
In this exercise, it is required to compute the 1-day VaR at the $99\%$ confidence level for a portfolio containing only European put options. There are two things that we have to be careful about:
\begin{itemize}
\item Definitions of moneyness differ for puts and calls. Intuitively, we want a value larger than 1 to mean that the option is in the money. Consequently, moneyness for calls is commonly defined to be spot/strike and moneyness for puts to be strike/spot. In our code we arrange for this subtle difference.
\item Other than that, we may however - thanks to an intricate relationship between the values/prices of European puts and calls, known as \emph{put-call-parity} \cite{G03} - reuse the code from exercise (2) by only slightly changing some of the Greeks. In a zero-interest rate world, \emph{put-call-parity} is given by
\begin{align*}
C^{\text{BS}}- P^{\text{BS}} = S - K
\end{align*}
Differentiating on both sides then yields the relationship between the Greeks of the two different types of European options:
\begin{align}
\text{delta} &= \frac{\partial P^{\text{BS}}}{\partial S} = \frac{\partial C^{\text{BS}}}{\partial S} -1 \\
\text{vega} &= \frac{\partial P^{\text{BS}}}{\partial \sigma} = \frac{\partial C^{\text{BS}}}{\partial \sigma} \\
\text{theta} &= \frac{\partial P^{\text{BS}}}{\partial t} = \frac{\partial C^{\text{BS}}}{\partial t}
\end{align}
So effectively, the only change we have to do in the code is to subtract a factor $1$ from the call delta to arrive at the put delta and we are done.
\end{itemize}
\section*{Exercise 4}
In this exercise, we are required to compute the 1-day VaR at the $99\%$ confidence level for a portfolio comprising stocks, European call options on these stocks and up-and-out calls on the DAX. As in exercise (1) we compute the weighted variance-covariance matrix $\Sigma$ and weighted expected value $\mu$ for the log-returns at time $t$ of the assets. With this data we simulate the stock prices $S_{t+1}$ of tomorrow as
a geometric Brownian motion, i.e.
\[
S_{t+1}=S_t\cdot \mathrm{e}^{\mathrm{chol}(\Sigma)^\mathrm{T} W_1+\left(\mu-\frac12
\mathrm{diag}(\Sigma)\right)},
\]
where $W_1$ is a $15$-dimensional standard normal random variable
and $\mathrm{chol}(\Sigma)^T$ is the transposed Cholesky-matrix from the positive definite matrix $\Sigma$. Therefore $\mathrm{chol}(\Sigma)^\mathrm{T} W$ represents a vector with $15$ normal random variables with the variance and covariances calculated at the market.
In the same way we simulate the DAX Value of tomorrow by using the more simple formula
\[
\mathrm{DAX}_{t+1}= \mathrm{DAX}_{t}\cdot \mathrm{e}^{\mathrm{VDAX}_t W_1+\left(\mu_{\mathrm{DAX}}-\frac12
\mathrm{VDAX}_t\right)}
\]
by using the VDAX.
Afterwards we calculate the loss by plugging in this calculated future value in the valuation formulas of call prices, put prices and up-and-out call prices based on the Black-Scholes Framework, i.e.
\begin{align*}
L_{t+1}&=\lambda_{\mathrm{assets}} (S_{t+1}-S_t)\\
&+\lambda_{\mathrm{call}}
\left(C\left(S_{t+1},K_{\mathrm{call}},\tau_{\mathrm{call}}-1,\mathrm{diag}(\Sigma)+\frac{1}{260}\cdot\sigma_\mathrm{ann}\right)
-C(S_{t},K_{\mathrm{call}},\tau_{\mathrm{call}},\mathrm{diag}(\Sigma))\right)\\
&+\lambda_{\mathrm{put}}
\left(P\left(S_{t+1},K_{\mathrm{put}},\tau_{\mathrm{put}}-1,\mathrm{diag}(\Sigma)+\frac{1}{260}\cdot\sigma_\mathrm{ann}\right)
-P(S_{t},K_{\mathrm{put}},\tau_{\mathrm{put}},\mathrm{diag}(\Sigma))\right)\\
&+\lambda_{\mathrm{u}}
\left(\mathrm{U}\left(\mathrm{DAX}_{t+1},K_{\mathrm{u}},\tau_{\mathrm{u}}-1,\mathrm{diag}(\Sigma)+\frac{1}{260}\cdot\sigma_\mathrm{ann}
,B_{\mathrm{u}}\right)
-U(\mathrm{DAX},K_{\mathrm{u}},\tau_{\mathrm{u}},\mathrm{VDAX}_t
,B_{\mathrm{u}})\right),
\end{align*}
where $K$ represents the strike, $\tau$ the time to maturity,
$\sigma_\mathrm{ann}$ is the annualized volatility from exercise (2), $C$, $P$, $U$ the price of a call, put, up-and-out call in the Black-Scholes Framework and $\lambda$ represents the position in assets, calls, puts and up-and-out calls respectively. The formulas for calls and puts and contained in nearly all quantitative finance books and the formula for the up-and-out call was obtained by \cite{CLS94}. After calculating this loss we have simulated
$10000$ values of the future stock value and have sorted the generated losses in increasing order. This method is called sorted Monte Carlo method in the sense of \cite{JK16}. Normally one would now set
$\mathrm{VaR}_t$ as the $V:=10000-\alpha\cdot 10000$ loss from the left in our sorted Loss data. As we know that the geometric Brownian motion does not reflect the real world perfectly, we are additionally adding some machine learning algorithm to optimize this selection. In particular, we take half of the prices of 2010 and calculate the VaR for a portfolio, which contains one asset of each stock with loss position $V$ for the second half of this year. Afterwards we calculate the realized performance of VaR by comparing our VaR with the realized losses (regard here that we can do this because the data from 2010 is historic data!). If the performance was better than $1-\alpha$, we stop. Otherwise, we set $V=V-1$ and start from the beginning. This positioning will then be used to calculate the VaR in the future.
\bibliography{Literatur}
\bibliographystyle{apalike}
\end{document}