LEGO LE MIBO 021 – ESERCITAZIONE SULLE GRECHE
La volta scorsa abbiamo detto che per sincerarsi che il proprio portafoglio in Opzioni sia, per così dire, bilanciato, è necessario che il Delta complessivo tenda a zero.
Nelle lezioni passate abbiamo anche detto che il Delta assimila il concetto di probabilità, ovvero è un numero che vicino allo zero significa probabilità quasi nulla che il mio portafoglio (stanti le attuali condizioni di mercato) ‘cada in the money’, al contrario, quando Delta si avvicina al valore 1 aumenta la probabilità di essere prossimi alla certezza dell’evento favorevole.
Dunque, quando si ha in mano più di una Opzione all’interno di un portafoglio complesso, una volta conosciuto il Delta di ciascuna Opzione potrò sommare (per call lunghe e/o put corte) e sottrarre (per call corte e/o put lunghe) in modo da regolare tutto il contesto del mio portafoglio.
Nota:
Come esempio supponiamo un portafoglio:
1 call acquistata (lunga) delta = +0,38
1 call venduta (corta) delta = -0,17
1 put acquistata (lunga) delta = -0,22
1 put venduta (corta) delta = +0,42
Totale delta portafoglio = 0,41
Ok, pare dunque che quello che dobbiamo fare sia automatizzare il Delta.
Vi riporto subito le formule della volta scorsa, non tutte ma solo quelle che ci serviranno.
Ma prima, partiamo dalla fine e vediamo che cosa vogliamo ottenere:
Ma … ho sbagliato io qualcosa oppure, come sembra, stiamo facendo un ragionamento ‘tipo gatto che si morde la coda?”
Dunque:
Ho preso il sottostante Ftsemib delle 16,24 di lunedì 7 giugno. Ok: 25772
Ho contato i giorni alla scadenza di settembre (102). Le feste e i sabati VANNO CONTATI anch’essi.
Ho scelto lo strike 25.000
Fin qua tutto regolare, poi metto il PREZZO.
Il prezzo? E perché mai? Ma, scusate, i tre geni della matematica (Black Scholes Merton) ci hanno studiato una vita e tu, tranquillo-tranquillo sai già che il prezzo è 1363?
--
No, ragazzi! Calma! In questo contesto non voglio arrivare al prezzo perché questo lo LEGGO DAL MERCATO, è lì sulla piattaforma e quello è.
Ciò che debbo fare io è l’esatto PROCEDIMENTO INVERSO: dal prezzo che esce dal cilindro dei Market Maker voglio conoscere il mio Delta … insomma, debbo ragionare a ritroso.
E adesso finalmente capiamo perché questa benedetta volatilità si chiama IMPLICITA. E’ implicita perché INCORPORA CIO’ CHE IL MERCATO SI ATTENDE NELL’IMMEDIATO FUTURO SULL’ESITO DELL’INDICE SOTTOSTANTE FTSEMIB.
Tra le mille definizioni della volatilità implicita, questa a mio parere è la più chiara:
“… La Volatilità implicita è la MISURA che indica le aspettative degli Operatori circa l’evoluzione futura dei prezzi degli strumenti sottostanti e che si ottiene attraverso il calcolo della volatilità corrispondente al prezzo attuale dell'opzione …”
E qui già si intuisce il PROCEDIMENTO INVERSO del gatto che si morde la coda che abbiamo appena fatto. Bene!
Comunque, per chiarezza, vediamo il risultato finale della nostra call settembre 25000 alle 16,24 di lunedì 7 giugno:
- la Volatilità Implicita è 0,21
- il Delta che andremo a calcolare una volta nota la Volatilità Implicita è 0,59
Vi avevo promesso le formule che dovremo inserire nel nostro Excel.
Questa volta ho deciso di non lasciarvi la soluzione: provate voi a immaginare come si possa fare a inserire il tutto in Excel.
Scrivetemi riportando le vostre idee: le metteremo a confronto!
Nota:
E’ arrivata l’estate e io ho un po' di impegni in vista.
Salta il nostro appuntamento del venerdì e resta quello del MARTEDI’.
Dunque ci rivediamo martedì 15 giugno.
'Author : Francesco Caranti giugno 2021
'Calcolo Greche
'-----------------------------------------------------------------------------------------------------------------
Function VolaCall(Sottostante, Strike, Tempo, Interessi, Target, Dividendi)
High = 5
Low = 0
Do While (High - Low) > 0.0001
If CallOption(Sottostante, Strike, Tempo, Interessi, (High + Low) / 2, Dividendi) > Target Then
High = (High + Low) / 2
Else: Low = (High + Low) / 2
End If
Loop
VolaCall = (High + Low) / 2
End Function
‘----------------------------------------------------------------------------------------------------------------
Function dUno(Sottostante, Strike, Tempo, Interessi, VolaImpl, Dividendi)
dUno = (Log(Sottostante / Strike) + (Interessi - Dividendi + 0.5 * VolaImpl ^ 2) * Tempo) / (VolaImpl * (Sqr(Tempo)))
End Function
‘----------------------------------------------------------------------------------------------------------------
Function CallDelta(Sottostante, Strike, Tempo, Interessi, VolaImpl, Dividendi)
CallDelta = Application.NormSDist(dUno(Sottostante, Strike, Tempo, Interessi, VolaImpl, Dividendi))
End Function
'-----------------------------------------------------------------------------------------------------------------
Function CallOption(Sottostante, Strike, Tempo, Interessi, VolaImpl, Dividendi)
CallOption = Exp(-Dividendi * Tempo) * Sottostante * Application.NormSDist(dUno(Sottostante, Strike, Tempo, Interessi, VolaImpl, Dividendi)) - Strike * Exp(-Interessi * Tempo) * Application.NormSDist(dUno(Sottostante, Strike, Tempo, Interessi, VolaImpl, Dividendi) - VolaImpl * Sqr(Tempo))
End Function
'-----------------------------------------------------------------------------------------------------------------
Buon studio e buon lavoro!
Francesco Caranti