Il Modello di Black.docx - Dipartimento di Matematica
by user
Comments
Transcript
Il Modello di Black.docx - Dipartimento di Matematica
Il Modello di Black-Scholes La scorsa lezione abbiamo introdotto gli strumenti derivati e abbiamo imparato una semplice strategia, l’albero binomiale, per ottenerne il prezzo. Discutendo i pregi e i difetti di questa strategia si è puntualizzato come il metodo proposto risulti molto veloce, ma spesso estremamente grossolano, come è lecito aspettarsi da un procedimento “ per approssimazione” quale il binomial tree. La matematica finanziaria ha sviluppato negli ultimi 30 anni una teoria completa (o quasi) per ottenere il prezzo della quasi totalità dei titoli derivati scambiati: il mattone sul quale tutto questo complesso teorico è stato costruito è il modello proposto nel 1970 da Fischer Black e Myron Scholes, il cosiddetto “modello di Black e Scholes”, che valse ai due autori il Premio Nobel per l’economia nel 19971. In queste pagine cercheremo di descrivere il suddetto modello e le sue caratteristiche. Rendimenti logaritmici Come già anticipato nella seconda lezione, il modello di Black-Scholes descrive la dinamica di uno stock ( ) ∈ tramite un’equazione differenziale stocastica: = ∙ + ∙ In sostanza, il modello di Black Scholes descrive le variazioni percentuali del prezzo di uno stock in un intervallo di tempo come la somma di due contributi: · · Un contributo deterministico, pari ad un termine costante moltiplicato per l’intervallo di tempo in questione; Un contributo stocastico, pari ad una costante per l’incremento tra e + di un moto browniano. Questa descrizione cattura le seguenti caratteristiche “empiriche” degli stock prices: · · · I rendimenti percentuali tra periodi successivi sono indipendenti Il processo ( ) ∈ è di Markov: il prezzo dello stock domani dipende unicamente dal livello dello stock oggi, non dalla evoluzione del prezzo dello stock nel passato; La volatilità dei rendimenti percentuali non dipende dal livello dello stock; Consideriamo ora un contratto derivato scritto sullo stock : dal momento che il valore di un derivato ad ogni tempo è determinato dall’andamento dell’asset sottostante, descriveremo tale strumento tramite una funzione a due variabili ∶ 1 ×R→ R ( , ) → ( , ) In realtà, Fischer Black morì due anni prima, nel 1995, e quindi non ricevette mai il premio. Ad esempio, nel caso di un’opzione call con maturity ( , e strike )=( avremo − ) Sia quindi ( , ) il valore del derivato ad oggi (ricordiamo che che è un valore noto). Vogliamo trovare un metodo per ottenere tale prezzo. Un metodo che potrebbe essere impiegato consiste nello scrivere un’equazione differenziale stocastica per e poi risolverla, verificando esistenza / unicità di soluzioni. Cominciamo allora a applicare la formula di Ito alla funzione , ottenendo Sostituendo il valore di ( , = )+ = ( , )∙ otteniamo ( , )∙ ( , + ∙ 1 + ∙ 2 )∙ + ( , 1 ∙ 2 )∙ ( , ∙ ∙ )∙( + ) ( , )∙ ∙ ∙ Imitando la costruzione proposta nella scorsa lezione, consideriamo un portafoglio Π composto al tempo dai seguenti asset: · Una posizione short sul derivato; · Una posizione long su ( , ) di azioni Π =− ( , ( , )+ )∙ Vogliamo ora calcolare la “variazione” di valore del portafoglio: applichiamo quindi nuovamente Ito su Π ottenendo: =− + ( , )+ ( , )∙ ( , )∙ ∙( ∙ + ∙ ∙ 1 + ∙ 2 = − )= ( , = − ( , ( , + )∙ 1 )− ∙ 2 )∙ ∙ ∙ − ( , )∙ ∙ ( , ∙ )∙ ∙ ∙ + Notiamo subito che il differenziale stocastico è privo del termine nel moto browniano. Questo significa che tale quantità è deterministica: qualsiasi “evento” accada, la variazione di valore del portafoglio in un istante infinitesimo è sempre la stessa. Pertanto, la “rischiosità” del portafoglio è pari a zero: il detentore di Π al tempo sa esattamente quale sarà la il nuovo valore del portafogli al tempo + . Chiediamoci allora: esiste un modo alternativo per esprimere la suddetta variazione? La risposta deriva immediatamente dall’applicazione del principio di non arbitraggio:se il valore del portafogli al tempo è pari a Π e se la variazione di valore tra e + è deterministica, allora il nuovo valore in + è il valore capitalizzato di Π al tempo + . Quindi la variazione risulta anche pari a = ∙ ∙ Il perché di questo fatto è semplice: per definizione, un asset che paga un importo fissato in tutti gli stati del mondo è risk-free, e il tasso di interesse è la misura dell’apprezzamento percentuale annuo per tali asset . Uguagliando le due espressioni per la variazione di valore del portafogli otteniamo: − ( , 1 )− ∙ 2 ( , )∙ ∙ ∙ =− ∙ ( , )∙ ( , + ∙ )∙ ∙ Ricordando il significato integrale di questa espressione, è facile vedere che ciò implica ( , 1 )+ ∙ 2 ( , )∙ ∙ ( , + ∙ )∙ = ∙ ( , ) L’equazione differenziale che abbiamo ottenuto è detta equazione di Black Scholes, ed è indubbiamente lo strumento più potente di cui possiamo disporre per il pricing di un derivato. Infatti, non abbiamo messo limitazioni riguardo ad , ma ci siamo limitati a supporre che il valore di dipendesse dallo stock sottostante. L’equazione di Black Scholes descrive quindi la dinamica di un qualsiasi derivato, non è un metodo ad hoc per una specifica classe di contratti. Viceversa, ogni derivato deve soddisfare tale equazione. Inoltre, la derivazione stessa dell’equazione di Black Scholes impone che il prezzo finale ( , ) sia quel valore che garantisce l’assenza di possibilità di arbitraggio: nel procedimento sopra, il derivato è stato “replicato” da un portafoglio riskless, e si è imposto che il rendimento di tale portafoglio fosse pari al tasso di interesse corrente. Quindi, ogni soluzione dell’equazione di Black Scholes rappresenta il prezzo arbitrage free del corrispondente contratto. E’ opportuno infine ricordare che l’equazione di Black Scholes è stata derivata fondandosi su alcune assunzioni: 1. La dinamica dell’azione sottostante è descritta da 2. 3. 4. 5. 6. 7. = ∙ + ∙ ; E’ possibile fare short selling (vedi lezione 3) Non ci sono costi di transazioni e tutti i titoli commerciati sono infinitamente divisibili; L’azione sottostante non paga dividendi; Lo scambio di titoli avviene in modo continuo; Non esistono possibilità di arbitraggio; Il tasso di interesse è unico per tutte le scadenze e costante nel tempo Alcune delle ipotesi di sopra possono comunque essere rilassate (come la 4), mentre altre (come la 6 e 7) sono fondamentali. Si è detto che l’equazione di Black Scholes vale per tutti i contratti finanziari il cui valore dipende da uno stock sottostante, ossia tutti i derivati. A seconda delle condizioni al contorno che vengono imposte, le soluzioni forniscono il valore (prezzo) dei derivati in analisi. Il setting delle condizioni al contorno è abbastanza delicato: sappiamo dalla teoria delle PDE che le boundary conditions condizionano esistenza e unicità delle equazioni differenziali. Senza entrare nel dettaglio tecnico, cerchiamo di procedere per analogia, utilizzando come paragone un’altra equazione differenziale dotate delle stesse caratteristiche di BS. L’equazione di Black Scholes è una PDE parabolica lineare, e la “classica” PDE parabolica è l’equazione del calore: = Per tale equazione si limita solitamente l’analisi all’insieme ( , ) ∈ R2 | ( , ) ∈ [0, +∞] × [0, ] In altre parole, la dimensione spaziale è finita e si considerano solo tempi positivi (si immagini ad esempio di voler descrivere la dinamica del calore all’interno di una sbarra collocata in 0 e lunga ). Si procede quindi assegnando una configurazione iniziale di calore alla sbarra, ossia (0, ) = ( ) ∀ ∈ [0, ] Infine si suppone che la temperatura agli estremi della sbarra sia, ad esempio, mantenuta costante nel tempo ( , 0) = ( , ) = 0 ∀ ∈ [0, +∞] Quali condizioni al contorno possiamo utilizzare per descrivere ad esempio la dinamica di una opzione call? Prima di tutto è bene definire il dominio di soluzione: nel caso dell’equazione di Black Scholes, sia i prezzi dello stock sia la variabile temporale possono assumere solo valori positivi. Quindi il dominio sarà: ( , ) ∈ R2 | ( , ) ∈ [0, ] × [0, +∞] Per identificare univocamente il nostro contratto derivato, imporremo anche la condizione seguente: ( , )=( − ) “Imitando” quanto descritto per l’equazione del calore, introduciamo anche due condizioni relative al valore del derivato nel caso di valori “estremi” per lo stock, ossia 0 e +∞: lim → ( , 0) = 0 ∀ ∈ [0, +∞] ( , ) = +∞ ∀ ∈ [0, +∞] La prima condizione segue dall’osservare che, nel caso lo stock sottostante raggiunga valore 0, resterà pari a zero per ogni tempo successivo: utilizzando il modello lognormale di Black Scholes = ∙( ∙ + ∙ ) è facile vedere che, se = 0, allora = 0 per ogni tempo > . Riassumendo, il prezzo di una call option con strike problema differenziale: ( , 1 )+ ∙ 2 ( , )∙ e maturity ∙ si può ottenere risolvendo la il ( , + ∙ )∙ ( , )=( − ) ( , 0) = 0 ∀ ∈ [0, +∞] lim ( , ) = +∞ ∀ ∈ [0, +∞] = ∙ ( , ) → La soluzione di questo problema è data dalla seguente formula: dove ( , )= ∙ ( )− ∙ ∙( ) ∙ ( ) è la funzione cumulativa di probabilità di una normale standard e la quantità = = ln + ln + + 2 ∙( − ) ∙√ − − 2 ∙( − ) = ∙√ − (Il valore di una put si ricava velocemente tramite la put call parity) − , sono fornite da ∙√ − Derivazione alternativa della formula per opzioni europee: valutazione risk neutral Sostituendo la funzione proposta nell’equazione di Black e Scholes si può verificare la correttezza della nostra ansatz. Tuttavia, questo procedimento non è”istruttivo”: la soluzione sembra caduta dal cielo, mentre invece può essere derivata con qualche ragionamento. Ricordiamo insieme quanto detto per l’albero binomiale: calcolare il prezzo arbitrage free di un derivato vuole dire calcolarne il valore atteso dei payoff finali e scontare tale valore alla data presente. Inoltre, la misura secondo la quale si calcola il valore atteso è quella risk free, e non quella del mondo reale. Proviamo allora ad applicare questo ragionamento, ma questa volta nel caso continuo: in altre parole, cerchiamo di capire che tipo di variabile aleatoria può descrivere i payoff a maturity del nostro derivato secondo la misura risk neutral. Intanto osserviamo che i payoff di una call con strike e maturity sono descritti da una funzione deterministica di (ossia da ( − ) ). Quindi, una volta descritta la dinamica risk neutral della variabile aleatoria , saremmo in grado di calcolare il valore atteso di ( − ) . La dinamica dello stock secondo la misura di probabilità del mondo reale è descritta dall’equazione differenziale = ∙ + ∙ . Come possiamo passare alla dinamica risk free? Un importante risultato di teoria della misura, il teorema di Girsanov, permette di passare da una SDE secondo una misura di probabilità a un’altra SDE secondo una seconda probabilità (nel nostro caso, quella risk neutral). Operativamente, il Teorema di Girsanov afferma che, passando da misura real world a misura risk neutral l’equazione differenziale stocastica varia unicamente nel parametro , mantenendo intatta la struttura generale. La nuova dinamica si ottiene considerando l’equazione: = ∙ + ∙ dove è il tasso di interesse annuo. Sfruttando quanto visto nella seconda lezione, sappiamo che la soluzione a tale SDE è: = 1 ∙ exp ( ∙ − ∙ 2 ∙ + ∙ ) Continuando come descritto precedentemente, calcoliamo il valore atteso dei payoff a maturity: [( − ) ]= Scontando tramite il fattore ∙ = ∙ ∙ exp ∙ 1 ∙ − ∙ 2 ∙ ( )− ∙ + ∙ ( ) ∙ − otteniamo la formula di Black Scholes per una call. = Metodi risolutivi per l’equazione di Black Scholes Si è visto come, nel caso di derivati “semplici” come le opzioni europee, l’equazione differenziale di Black e Scholes possa essere risolta in forma esplicita. In generale, trovare una soluzione in forma chiusa per un qualsiasi set di condizioni al contorno è impossibile: pertanto la soluzione dell’equazione viene affrontata numericamente. Gli approcci possibili sono solitamente due: utilizzare i cosiddetti metodi alle differenze finite oppure sfruttare tecniche di analisi di Fourier. Nel seguito vedremo brevemente due possibili soluzioni che appartengono alla prima categoria. L’idea di fondo degli schemi a differenze finite è quella di trasformare le derivate parziali in una PDE in rapporti incrementali sfruttando lo sviluppo di Taylor, ossia sostituire ( ( ) con ) ( ) . Analogamente, possiamo approssimare l derivate di ordine superiore: ad esempio, è facile verificare che, sotto opportune condizioni di regolarità, vale che ( )= ( + ℎ) − 2 ∙ ( ) + ( − ℎ) + (ℎ ) ℎ Per applicare queste idee alla nostra equazione, è conveniente richiamare il dominio di soluzione, ossia = ( , ) ∈ R2 | ( , ) ∈ [0, ] × [0, +∞] = ( , ) ∈ R2 | ( , ) ∈ [0, ] × [0, Dovendo implementare numericamente uno schema risolutivo, dobbiamo limitarci in pratica al dominio ] dove max è un valore molto maggiore del livello attuale dello stock . Procediamo quindi a discretizzare il , dominio di soluzione, considerando i punti appartenenti a della forma dove =( ∙ , e , ∙ sono “step” da fissarsi in seguito. Se definiamo poi , ) ∶= ( , ) possiamo “tradurre” in differenze finite una qualsiasi equazione differenziale: ad esempio, l’equazione di Black Scholes diventa: , − , ( , )+ ∙ + ∙ ∙ ∙ ( , , − 2∙ )∙ , ∙ + ∙ 1 + ∙ 2 ∙ ( , ∙ )∙ ∙ , = ∙ ( , −2∙ , + ) , = ∙ , Precisamente, la derivata prima nello spazio è approssimata con una differenza centrale ,mentre quella nel tempo è approssimata con una differenza backward. Impostato il problema, possiamo riscrivere , = ∗ ∗ ∗ ∗ ∙ , ∗ + = 1 ∙ 2 ∙( = 1 ∙ 2 ∙( =1− ∙( ∙ , + ∗ − ∙ ) ∙ , + ) + ∙ ) Abbiamo così espresso il valore del derivato al tempo in funzione del valore al tempo . Notiamo ora che le condizioni al contorno che dobbiamo soddisfare sono settate al tempo : a tale data, sappiamo quale è il valore del derivato (ossia semplicemente i suoi payoff). Pertanto, possiamo risolvere l’equazione di sopra in maniera ricorsiva partendo dal tempo , dove i valori di sono noti. Il metodo proposto è detto schema esplicito: ad ogni tempo possiamo calcolare il valore del derivato in funzione dei valori noti in . Il principale svantaggio di questo sistema di risoluzione è la non stabilità, che descriviamo brevemente nel seguito. Si è detto che i metodi alle differenze finite prendono origine dallo sviluppo di Taylor: sembra quindi lecito aspettarsi che, riducendo gli step e , la soluzione risulti sempre più precisa: in realtà, questo non accade, anzi, per particolari scelte degli step la soluzione trovata può “esplodere” divergendo a più infinito. A tale proposito, qui sotto è riportato il grafico del valore di una call option contro il valore iniziale dello stock calcolato utilizzando il codice in appendice. Nell’esempio proposto, abbiamo settato = 50 , = 40, = 1, = 0.01, = 0.2, = 50. ] in 10, 50 o 100 parti, la soluzione risulta sempre più regolare; Dividendo l’intervallo di [0, aumentando però la risoluzione con 200 step, il valore ottenuto diverge. Questa caratteristica può essere studiata in modo rigoroso tramite la cosiddetta analisi di stabilità (se avanzerà tempo lo tratteremo brevemente). A noi basterà sapere che il metodo a schema esplicito è facile a spiegarsi, ma presenta complicazioni di natura applicativa che non lo rendono molto affidabile. Una possibile strategia per aggirare questa difficoltà è, contrariamente a quanto suggerirebbe l’intuizione, utilizzare uno schema implicito. Lo schema esplicito esprime i valori della soluzione al tempo − 1 in funzione di quelli al tempo , che sono noti in quanto il procedimento va applicato a partire dalla data di maturity per poi muoversi indietro nel tempo. Lo schema implicito esprime invece i valori al tempo in funzione di quelli al tempo − 1. Più precisamente, otteniamo uno schema completamente implicito approssimando la derivata prima temporale nell’equazione di Black e Scholes con un incremento forward, ossia , − , ( , )+ ∙ + ∙ ∙ ∙ ( , − 2∙ , )∙ , ∙ + ∙ 1 + ∙ 2 ∙ ( , ∙ )∙ = ∙ ( , −2∙ , ∙ , + ) , = ∙ , Otteniamo quindi la seguente relazione: dove le quantità , , , sono date da ∙ = + , ∙ 1 ∙ ∙ ∙ 2 =1+ 1 =− ∙ ∙ ∙ 2 + ∙ ∙ , 1 − ∙ 2 ∙ 1 − ∙ 2 Abbiamo quindi una relazione che lega tre incognite (ossia , ). = ∙ + ∙ , ∙ , , ∙ ∙ , e , ) ad un valore noto (ossia ]. Ricordando Siano e il numero di step in cui sono rispettivamente divisi gli intervalli [0, ] e [0, ) è già fissato dalle condizioni al contorno, ad che il valore del derivato nei punti del tipo ( , 0) e ( , ogni time step dovremo risolvere il seguente sistema lineare ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⋱ ⋱ ⋱ ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ , , , , ⋮ ⋮ ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ ⎡ ⎢ = ⎢ ⎢ ⎢ ⎣ ⋮ ⋮ , , , , ⎤ ⎡ ⎥ ⎢ ⎥−⎢ ⎥ ⎢ ⎥ ⎢ ⎦ ⎣ ∙ 0 ⋮ ⋮ 0 ∙ , , ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ La matrice dei coefficienti risulta tridiagonale, permettendo di applicare il metodo di fattorizzazione LU per migliorare l’efficienza del codice. Il principale vantaggio del metodo implicito, come si è detto, risiede nella sua stabilità: anche “stringendo” le reti della griglia, ossia diminuendo gli step temporali e spaziali, non si presentano i problemi che insorgono con il metodo esplicito. Appendice r=0.01; sigma=0.2; T=1; S_max=100; S_0=50; K=40; N=500; M=200; delta_T=T/N; delta_x=S_max/M; effe=zeros(N,M); a=zeros(M,1); b=zeros(M,1); c=zeros(M,1); effe(N,:)=max(linspace(0,S_max,M)'-K,0); effe(:,1)=zeros(N,1); effe(:,M)=S_max-K*exp(-r*linspace(0,T,N)); for i=1:M a(i)=0.5*delta_T*(sigma^2*i^2-r*i); b(i)=1-delta_T*(sigma^2*i^2+r); c(i)=0.5*delta_T*(sigma^2*i^2+r*i); end for i=N:-1:2 for j=2:M-1 effe(i-1,j)=a(j)*effe(i,j-1)+b(j)*effe(i,j)+c(j)*effe(i,j+1); end end