Vai al contenuto
gammaexposure.it

Implementazione Python

Il codice di riferimento descritto nell’appendice del volume, eseguibile con Python 3.10 o successivo e basato esclusivamente sulla libreria standard.

Licenza MIT: uso libero, anche commerciale, alle condizioni indicate nel testo della licenza. Python 3.10 o successivo.

Criteri di progettazione

Tre scelte progettuali rendono esplicite le ipotesi che determinano il calcolo dell’esposizione aggregata.

Applicazione separata del segno

Le greche si calcolano senza segno di posizione. L’ipotesi di inventario interviene successivamente come parametro separato, così da poterne misurare direttamente l’effetto sui risultati.

Convenzione temporale esplicita

La convenzione temporale è un parametro esplicito, non un’ipotesi implicita. Passare da giorni di borsa a calendario, nel caso al picco con tassi e dividendi nulli, cambia il gamma di un fattore √(8.760/1.638) ≈ 2,31.

Zero gamma come radice del profilo

Il profilo viene valutato ricalcolando le greche a ogni prezzo ipotetico. La ricerca restituisce le radici associate ai cambi di segno rilevati nella griglia; radici tangenti o troppo ravvicinate rispetto al passo possono non essere individuate. La somma cumulata a spot fisso definisce invece una grandezza distinta.

Esempio d’uso

from gex import Catena, Linea, beta, moltiplicatore

catena = Catena([
    Linea(6500, "call", ore_residue=2.0, iv=0.12, oi_stock=16000),
    Linea(6500, "put",  ore_residue=2.0, iv=0.12, oi_stock=15000),
    # ...
])

catena.gex(6508)              # dollari di delta per movimento dell'1%
catena.cex(6508, ore=1)       # flusso da charm; negativo = acquisti
catena.zero_gamma()           # cambi di segno rilevati nell'intervallo
catena.sopra_sotto(6508)      # GEX sotto e sopra il prezzo, separati
catena.concentrazione(6508)   # indice di Herfindahl sui pesi di gamma
catena.stock_flow(6508)       # inventario preesistente e flusso corrente

# ipotesi di segno alternative, per misurarne l'effetto
catena.w_put = -0.7
catena.zero_gamma()           # sensibilità del livello all'ipotesi

b = beta(catena.gex(6508), volume_dollari=300e9,
         sigma_giornaliera=0.0075, orizzonte_min=5)
moltiplicatore(b)             # 1/(1+beta)

esempio.py applica le funzioni alla catena illustrativa del volume e produce i risultati attesi per il confronto.

Funzioni disponibili

FunzioneRestituisce
greche(...) delta, gamma, vega, theta, charm, vanna, speed, vomma, colour per una unità di sottostante. Tassi e dividendi sono inclusi in tutte le espressioni, comprese charm e vanna.
Catena.gex / dex / vex / cex Le quattro esposizioni aggregate, ciascuna con la propria scala dichiarata.
Catena.gamma_efficace Esposizione gamma–vanna combinata sotto una relazione specificata tra variazione dello spot e variazione della volatilità implicita.
Catena.zero_gamma Radici associate ai cambi di segno rilevati nell’intervallo, raffinate per bisezione.
Catena.per_strike / per_scadenza / sopra_sotto Decomposizioni per strike, scadenza e posizione relativa allo spot.
beta / moltiplicatore Parametro di retroazione, ridimensionabile in funzione dell’orizzonte, e moltiplicatore di volatilità.
size_massima / movimento_pareggio Dimensionamento nei due scenari quadratici implementati e pareggio gamma–theta sotto le ipotesi dichiarate.

Script di riproduzione

Gli script impiegati per generare i dati e le figure del volume. La modifica dei parametri di configurazione aggiorna in modo coerente l’intero apparato quantitativo.

FileChe cosa produce
genera-dati.py Profili di gamma, delta, charm e vanna; catena illustrativa; profilo GEX e controesempio a radici multiple; curva del moltiplicatore; sensibilità allo smile. Scarica
simulazione-seduta.py Ricostruzione oraria di una seduta 0DTE: open interest, GEX, CEX, zero gamma, principali strike di esposizione e retroazione. Scarica
dimensionamento.py I due criteri di dimensionamento e il loro punto di incrocio al variare del tempo residuo. Scarica
crypto-confronto.py Confronto tra le greche dei contratti inversi e quelle dei contratti vanilla, con la retroazione nei due mercati. Scarica