-
11-03-14, 18:30 #11
- Data Registrazione
- Dec 2011
- Messaggi
- 571
Ok, grazie Tiziano. Mi raccomando veglia su di noi.
Intanto, ho fatto delle semplici simulazioni in Excel per vedere come si sarebbero comportate delle strategie direzionali su dati daily.
Nel seguito con “skew” mi riferisco al differenziale tra le IV della Put 25-delta e Call 25-delta (prima scadenza mensile). Con “term” mi riferisco al differenziale tra le IV della Put ATM sulla prima scadenza mensile (es. Marzo 14) e della Put ATM con scadenza mensile successiva (es. Aprile 14).
Avendo a disposizione solo dati a frequenza giornaliera, ho ipotizzato di lavorare nel seguente modo:
- Ogni giorno in chiusura guardo il valore dello skew e del term e calcolo la media mobile a 30 e 50 periodi (con 1 periodo che in questo caso corrisponde a 1 giorno);
- La posizione per il giorno successivo e’ long se la media a 30 periodi e’ inferiore a quella a 50 periodi e short se la 30 e’ superiore.
Il driver dei segnali e’ quindi il valore dello skew o term calcolato in chiusura del giorno precedente. E’ possibile, tuttavia, filtrare alcuni valori di skew e di term che e’ possibile classificare come “non informativi”.
Ho ipotizzato di farlo usando le distribuzioni di frequenza postate qualche messaggio sopra.
Si vedeva che valori di skew tra +2.5 e +7.5 sono molto frequenti per cui e’ possibile ipotizzare che il mercato consideri come "normali" certi valori. Analogamente, valori di term tra -1 e +1 possono essere considerati come “non informativi”. Scelgo allora di usare solo valori nelle code di quelle distribuzioni. Pertanto, con valori compresi tra +2.5 e +7.5 di skew, o compresi tra -1 e +1 di term, si rimane flat. Solo con valori di skew o term esterni a tali livelli si segue la regola del cross di medie mobili illustrato sopra.
Pertanto si definisce “strategia non filtrata” quella che opera solo sul cross delle medie mobili e che quidi seguira’ una logica stop&reverse. La “strategia filtrata” invece prevedera’ fasi flat, quando il driver (skew o term) si colloca nel range ad alta frequenza (per ipotesi considerato “normale” dal mercato).
In rosso c’e’ il rendimento cumulato di una strategia buy&hold sull’indice dal 2 gennaio 2006 al 10 marzo 2014.
Inziamo con una strategia skew-based che quindi usa come driver per i segnali solo il valore di skew rilevato in chiusura del periodo precedente.
In blu i risultati della “strategia non filtrata”, in verde quelli della “strategia filtrata”.
La strategia term-based prevede l’uso del term per generare segnali. In blu i risultati della “non filtrata”, in verde quelli della “filtrata”.
Ultima modifica di the learner; 11-03-14 alle 18:34
-
11-03-14, 18:33 #12
- Data Registrazione
- Jan 2011
- Località
- Castiglioncello (LI)
- Messaggi
- 240
ho difficoltà a calcolare medie con il linguaggio di scripts...
Ultima modifica di Ismael; 11-03-14 alle 18:57 Motivo: non ho visto msg appena scritto
E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.
-
11-03-14, 20:24 #13
-
11-03-14, 20:25 #14
-
11-03-14, 20:31 #15
- Data Registrazione
- Dec 2011
- Messaggi
- 571
Ciao Tiziano,
e' possibile chiedere a Max di scrivere un codice che salvi ogni minuto in un file i dati della chain dell'Eurostoxx (prime due scadenze mensili) cosi' si iniziano a collezionare dati intraday per le vola che ci servono?
Sarebbe molto utile. Grazie.
-
11-03-14, 21:49 #16
-
11-03-14, 22:09 #17
Per farlo penso proprio che si possa fare.
Il problema è il tempo per eseguirlo che ora non abbiamo, comunque domani vediamo che si può fare..
non prometto nulla..se corri dietro a due lepri, non ne prendi nemmeno una.
-
11-03-14, 23:10 #18
Salve,
il modo più semplice è quello di usare la funzione XAverage, descritta a pagina 27 del manuale del linguaggio di programmazione di FiutoPRO.
Per comodità, riporto qui la definizione:
Function XAverage(ByVal currentValue As Double, ByVal previousXAvg As
Double, ByVal length As Integer) As Double
Calcola la media mobile esponenziale.
Parametri in ingresso:
currentValue
Valore attuale dei dati in ingresso
previousXAvg
Valore precedente della media mobile esponenziale
length
Lunghezza su cui calcolare la media mobile esponenziale
Max Francario
-
11-03-14, 23:22 #19
Salve,
in FiutoPRO è possibile utilizzare tutte le funzioni che operano sui file definite dal set base di Delphi XE2. Queste funzioni sono direttamente "mappate" all'interno del linguaggio di script.
In particolare, penso possano venire utili le funzioni che si trovano a questi indirizzi:
http://docwiki.embarcadero.com/Libraries/XE2/en/System
http://docwiki.embarcadero.com/Libra...ystem.SysUtils
Per temporizzare l'esecuzione dello script, il modo più semplice è quello di farlo fare direttamente a FiutoPRO, impostando il modo di esecuzione dello script con timer al posto che continuo.
Max Francario
-
12-03-14, 09:31 #20
- Data Registrazione
- Jan 2011
- Località
- Castiglioncello (LI)
- Messaggi
- 240
La xaverage ho provato a calcolarla così:
'calcola le xaverage delle differenze e le salva 'inizializzazione delle persistent var if GetPersistentVar("meddiffvolaputcall1")="" then setpersistentvar("meddiffvolaputcall1",diffvolaputcall1) else 'poi uso la persistentvar per calcolare la xaverage setpersistentvar("meddiffvolaputcall1",cstr(xaverage(cdbl(diffvolaputcall1),GetPersistentVar("meddiffvolacall1"),10))) end if
Devo testarlo ma oggi e domani sono via... se qlcn ha voglia...E' difficile vedere un gatto nero in una stanza buia, specialmente se non c'è.