Per un’azione senza dividendi, nel mondo risk–neutral, il prezzo \(S_t\) è tale che il logaritmo del processo \(\log\frac{S_t}{S_0}\) segue una distribuzione normale con media \(\left(r-\frac{\sigma^2}{2}\right)t\) e varianza \(\sigma^2t\) dove \(S_0\) è il prezzo iniziale, \(r\) è il tasso risk–free continuo, \(\sigma\) la volatilità. Di conseguenza il prezzo segue un moto browniano geometrico:
\[
dS_t = r S_t\,dt + \sigma S_t\,dW_t
\]
con soluzione esatta a scadenza \(T:\)
\[
S_T = S_0 e^{\Big(r - \tfrac{1}{2}\sigma^2\Big)T + \sigma \sqrt{T}\,Z}, \quad Z \sim \mathcal{N}(0,1)
\]
\(Z\) è la componente stocastica, una variabile aleatoria normale standardizzata.
Il prezzo teorico risk–neutral di un’opzione europea, se \(K\) è lo strike price, il prezzo al quale il possessore di un'opzione call può esercitare la facoltà di acquistare l'attività sottostante o al quale è possibile vendere il sottostante nel caso di opzione put, è
per una opzione call
\[
C_0 = e^{-rT}\,\mathbb{E}^{\mathbb{Q}}\big[(S_T - K)^+\big]
\]
per una opzione put
\[
P_0 = e^{-rT}\,\mathbb{E}^{\mathbb{Q}}\big[(K - S_T)^+\big]
\]
dove \(\mathbb Q\) è la misura di probabilità usata per calcolare il valore atteso.
Il metodo Monte Carlo non fa altro che stimare questa aspettativa:
genera campioni normali \(Z_i \sim \mathcal{N}(0,1)\) per \(i = 1,\dots,N;\)
simula il prezzo a scadenza
\[
S_T^{(i)} = S_0 e^{\Big(r - \tfrac{1}{2}\sigma^2\Big)T + \sigma \sqrt{T}\,Z_i};
\]
calcola il payoff per ogni traiettoria
\[
\begin{cases}
\text{payoff}^{(i)} = \max\big(S_T^{(i)} - K,\,0\big)\quad \text{per opzione call}\\
\text{payoff}^{(i)} = \max\big(K - S_T^{(i)},\,0\big)\quad \text{per opzione put}
\end{cases};
\]
calcola la media dei payoff
\[
\overline{\text{payoff}} = \frac{1}{N}\sum_{i=1}^N \text{payoff}^{(i)};
\]
sconta al tempo 0
\[
\hat{C}_0 = e^{-rT}\,\overline{\text{payoff}}.
\]
\(\hat{C}_0\) è lo stimatore Monte Carlo del prezzo dell'opzione.
Per questo stimatore:
c'è consistenza, ovvero \(\displaystyle\lim_{N \to \infty}\hat{C}_0 = C_0\) quasi sicuramente;
l'errore standard decresce come \(O\left(\frac{1}{\sqrt N}\right);\)
l'intervallo di confidenza, ad esempio al 95%, è \(\hat{C}_0 \pm 1.96 \cdot \text{SE}\) dove
\[
\text{SE} \approx e^{-rT}\,\frac{\hat{\sigma}_{\text{payoff}}}{\sqrt{N}}
\] essendo \(\hat{\sigma}_{\text{payoff}}\) la deviazione standard campionaria dei payoff.
prezzo della Call = ; prezzo della Put = .
Per ridurre la varianza si possono usare tecniche come:
Antithetic variates, per ogni \(Z\) si usa anche \(-Z\), si simula a coppie \((S_T(Z), S_T(-Z))\) e mediando i payoff si riduce la varianza senza cambiare il costo computazionale;
Control variates, secondo cui per una europea si usa come variabile di controllo il prezzo Black–Scholes per correggere lo stimatore Monte Carlo.
Mentre nel Monte Carlo classico vengono generate traiettorie casuali, molte delle quali danno payoff nullo che risulta inutile (Out of The Money), nel Monte Carlo adattivo l'idea consiste nel fare una prima simulazione, individuare dove il payoff è alto, cioè \(S_T\gt K\) e concentrare lì più campioni. Il codice seguente applica il metodo adattivo per determinare il prezzo teorico risk–neutral di un’opzione call confrontandolo con il risultato della formula di Black-Scholes.
-
Per un futures su un sottostante non dividend-paying, nel mondo risk–neutral, il prezzo teorico è deterministico, non dipende da \(\sigma\):
\[
F_0 = \mathbb{E}^{\mathbb{Q}}[S_T] = \mathbb{E}^{\mathbb{Q}}[S_0 e^{(r - \frac12\sigma^2)T + \sigma\sqrt{T}Z}] = S_0 e^{rT}
\]
Con Monte Carlo per un futures si valuta la distribuzione del prezzo a scadenza
\[
F_T = S_T
\]
ottenendo media, varianza, quantili, scenari estremi. Così Monte Carlo diventa utile per:
valutare il rischio mediante
Value at Risk (VaR) che stima la massima perdita potenziale in un dato orizzonte temporale e con un certo livello di confidenza,
Expected Shortfall (ES), noto anche come Conditional Value-at-Risk (CVaR), quantifica l’entità della perdita media negli scenari in cui tale soglia viene superata,
Rischio di posizione (P/L o P&L, Profit and Loss), determina il profitto netto dalla differenza tra il flusso di denaro in ingresso e le spese, valore che può risultare anche negativo. Con una posizione long futures, in cui l'acquirente si impegna ad acquistare l'attività sottostante alla scadenza, beneficiando dell'aumento di valore dell'asset, con un potenziale guadagno illimitato e un rischio massimo pari al valore del contratto:
\[
\text{P/L} = (F_T - F_0)\cdot \text{quantità}
\]
valutare opzioni, ad esempio una call, su futures \[
C_0 = e^{-rT}\mathbb{E}[(F_T - K)^+]
\]
simulare scenari di margine e variazioni giornaliere