Ho ritrovato all’interno di un mio vecchio portatile una versione preistorica di Metastock e, dopo aver abbandonato qualche anno fa la libera professione, ho rispolverato alcuni trading system e qualche formula base (creati più di 10 anni fa e dunque in certi casi probabilmente superati) che pubblicherò occasionalmente dopo averli parzialmente ottimizzati su strumenti ben noti. Siamo nel mondo reale e non nella teoria. Si tratterà quasi esclusivamente di una base di partenza quindi di un incrocio di qualche indicatore o oscillatore, di mia creazione o già esistente, sulla quale lavorare.
L’obiettivo della “base” è unicamente quello di ricavare immediatamente un’inclinazione soddisfacente dell’equity line, un discreto rapporto tra utile medio e perdita media ed un numero elevato di operazioni che ci consentano di intervenire adeguatamente e di costruire attorno un trading system vero e proprio con tanto di risk management.
Prima di tutto voglio sottolineare che non esiste la baghetta magica e che la ricerca spasmodica della migliore ottimizzazione è spesso assolutamente contro produttiva.
Oggi, lo strumento sul quale verrà applicata la formula base è l’indice Ftsemib. La serie storica è giornaliera, inizia il 31 dicembre 1997 e si conclude il 7 febbraio 2013.
Voglio analizzare l’indice Ftsemib per poi operare sul relativo future. Pertanto, verranno applicati 10 punti di commissioni sia all’acquisto sia alla vendita e l’operazione viene effettuata con la chiusura del giorno dopo. Ho scelto di utilizzare il sottostante per operare sul relativo future in quanto è logico operare in questo modo e per non avere problemi di rettifica della serie storica con i vari roll over e mantenere, di conseguenza, una banca dati stabile nel tempo.
Definiti lo strumento e la modalità operativa, vediamo ora la formula base.
Mov(C-If(C,>,SAR(opt1,opt2),Mov(H,opt3,S),Mov(L,opt4,S)),opt5,S)
In pratica, osserviamo il posizionamento del prezzo di chiusura rispetto ad un oscillatore molto rapido come può esserlo il Parabolic Sar. Se la chiusura è superiore al Parabolic Sar utilizziamo una media mobile dei massimi e verrà preso in considerazione una media mobile dei minimi nel caso opposto. Calcoliamo quindi la differenza tra la chiusura e la media mobile ottenuta e utilizzeremo un’altra media mobile per smussare i risultati. Otteniamo quindi un oscillatore che si muove attorno allo zero. Vedi grafico. Questa semplice base funziona in molti casi su degli strumenti con volatilità molto diversa come valute, future e azioni.
Ho valutato che, realmente, utilizzando la modalità operativa descritta sopra la formula, si possono ricavare circa 305700 punti dalla serie storica del ftsemib. Con la base evidenziata e parzialmente ottimizzata si raggiungono soltanto i 71 mila punti circa.
Vi presento la base come sopra con l’aggiunta di qualche altro strumento tecnico e parametri già parzialmente ottimizzati.
Long:
(When(Mov(C-If(C,>,SAR(0.06,0.2),Mov(H,26,S),Mov(L,3,S)),24,S),>,Ref(Mov(C-If(C,>,SAR(0.06,0.2),Mov(H,26,S),Mov(L,3,S)),24,S),-1)) OR
If(ROC(C,2,%)>-1,H,L)>Mov(C,20,S) OR RSI(7)>50) AND ROC(C,1,%)<7.6 AND (CCI(47)<200 AND Ref(CCI(47),-3)<200)
Short:
(When(Mov(C-If(C,>,SAR(0.11,0.3),Mov(H,30,S),Mov(L,2,S)),11,S),<,Ref(Mov(C-If(C,>,SAR(0.11,0.3),Mov(H,30,S),Mov(L,2,S)),11,S),-1)) OR
If(ROC(C,160,%)<0,H,L)>Mov(C,70,S) OR RSI(22)<45) AND ROC(C,1,%)>-3.6
In questo modo, il modello genera un utile di oltre 170 mila punti, realizza 1411 operazioni durante i 5518 giorni di test e ha un rapporto utile medio/perdita media di 1.54. Mediamente, la base realizza un utile netto di 120 punti ad operazioni.
I difetti sono tantissimi e, come ho scritto sopra, parliamo soltanto di una base di partenza.
Osserviamo per esempio sull’equity line 2 ampie aree laterali ed il numero di perdite consecutive pari a 8 sono relativamente elevate.
Tuttavia, l’elevato numero di operazioni permette di ottimizzare, molto facilmente (per esempio togliendo qualche strumento tecnico ed inserendone un altro), il numero di perdite consecutive, di migliorare considerevolmente la curva dell’equity line e di ottenere un utile netto di circa 265 mila punti.
Io, però, mi fermo qua.
Buon lavoro.
L’obiettivo della “base” è unicamente quello di ricavare immediatamente un’inclinazione soddisfacente dell’equity line, un discreto rapporto tra utile medio e perdita media ed un numero elevato di operazioni che ci consentano di intervenire adeguatamente e di costruire attorno un trading system vero e proprio con tanto di risk management.
Prima di tutto voglio sottolineare che non esiste la baghetta magica e che la ricerca spasmodica della migliore ottimizzazione è spesso assolutamente contro produttiva.
Oggi, lo strumento sul quale verrà applicata la formula base è l’indice Ftsemib. La serie storica è giornaliera, inizia il 31 dicembre 1997 e si conclude il 7 febbraio 2013.
Voglio analizzare l’indice Ftsemib per poi operare sul relativo future. Pertanto, verranno applicati 10 punti di commissioni sia all’acquisto sia alla vendita e l’operazione viene effettuata con la chiusura del giorno dopo. Ho scelto di utilizzare il sottostante per operare sul relativo future in quanto è logico operare in questo modo e per non avere problemi di rettifica della serie storica con i vari roll over e mantenere, di conseguenza, una banca dati stabile nel tempo.
Definiti lo strumento e la modalità operativa, vediamo ora la formula base.
Mov(C-If(C,>,SAR(opt1,opt2),Mov(H,opt3,S),Mov(L,opt4,S)),opt5,S)
In pratica, osserviamo il posizionamento del prezzo di chiusura rispetto ad un oscillatore molto rapido come può esserlo il Parabolic Sar. Se la chiusura è superiore al Parabolic Sar utilizziamo una media mobile dei massimi e verrà preso in considerazione una media mobile dei minimi nel caso opposto. Calcoliamo quindi la differenza tra la chiusura e la media mobile ottenuta e utilizzeremo un’altra media mobile per smussare i risultati. Otteniamo quindi un oscillatore che si muove attorno allo zero. Vedi grafico. Questa semplice base funziona in molti casi su degli strumenti con volatilità molto diversa come valute, future e azioni.
Vi presento la base come sopra con l’aggiunta di qualche altro strumento tecnico e parametri già parzialmente ottimizzati.
Long:
(When(Mov(C-If(C,>,SAR(0.06,0.2),Mov(H,26,S),Mov(L,3,S)),24,S),>,Ref(Mov(C-If(C,>,SAR(0.06,0.2),Mov(H,26,S),Mov(L,3,S)),24,S),-1)) OR
If(ROC(C,2,%)>-1,H,L)>Mov(C,20,S) OR RSI(7)>50) AND ROC(C,1,%)<7.6 AND (CCI(47)<200 AND Ref(CCI(47),-3)<200)
Short:
(When(Mov(C-If(C,>,SAR(0.11,0.3),Mov(H,30,S),Mov(L,2,S)),11,S),<,Ref(Mov(C-If(C,>,SAR(0.11,0.3),Mov(H,30,S),Mov(L,2,S)),11,S),-1)) OR
If(ROC(C,160,%)<0,H,L)>Mov(C,70,S) OR RSI(22)<45) AND ROC(C,1,%)>-3.6
In questo modo, il modello genera un utile di oltre 170 mila punti, realizza 1411 operazioni durante i 5518 giorni di test e ha un rapporto utile medio/perdita media di 1.54. Mediamente, la base realizza un utile netto di 120 punti ad operazioni.
I difetti sono tantissimi e, come ho scritto sopra, parliamo soltanto di una base di partenza.
Osserviamo per esempio sull’equity line 2 ampie aree laterali ed il numero di perdite consecutive pari a 8 sono relativamente elevate.
Tuttavia, l’elevato numero di operazioni permette di ottimizzare, molto facilmente (per esempio togliendo qualche strumento tecnico ed inserendone un altro), il numero di perdite consecutive, di migliorare considerevolmente la curva dell’equity line e di ottenere un utile netto di circa 265 mila punti.
Io, però, mi fermo qua.
Buon lavoro.