In questo articolo descriviamo come usare l’Oscillatore Stocastico con backtrader da applicare nelle strategie di trading algoritmico. L’indicatore stocastico è stato testato e ottimizzato in base a due criteri di ingresso/uscita per un periodo di 12 anni e in 4 mercati, per un totale di oltre 1.729 test. Dopo aver esaminato i risultati, un metodo ha chiaramente superato l’altro e ha avuto un comportamento molto più prevedibile.
In generale l’indicatore dell’oscillatore stocastico con backtrader è apparso in grado di fornire risultati proficui anche con strike rate piuttosto bassi. Inoltre, i test con i settaggi standard si sono conclusi con risultati redditizi (anche se di poco) in tutti i mercati tranne uno quando sono stati testati nelle due strategie. È interessante notare che la performance complessiva e la volatilità dei risultati varia notevolmente per piccole modifiche dei parametri o dei criteri di ingresso/uscita usati.
Continua a leggere per l’analisi completa e le statistiche dell’indicatore stocastico.
Introduzione
L’oscillatore stocastico esiste da decenni (dagli anni ’50) e rimane ancora oggi un indicatore molto popolare. L’indicatore confronta il prezzo di chiusura di uno strumento con i prezzi storici dello strumento in un determinato periodo di tempo. Come con la maggior parte degli oscillatori, tenta di prevedere i punti di svolta dei prezzi, cercando di individuare i massimi e i minimi di un movimento di prezzo in modo efficace.
Questo articolo fa parte della serie di backtesting e confronto degli indicatori integrati nella libreria di Backtrader. L’introduzione della serie, alcune note sulla metodologia del test e la tabella riepilogativa dei risultati sono descritte nel precedente articolo.
Nota: i risultati seguenti non riflettono le prestazioni del mondo reale. Come accennato nell’introduzione e nell’articolo riepilogativo, i test non includo i costi derivanti da commissioni, leva o margine. Lo scopo di questi test è confrontare gli indicatori l’uno con l’altro dove tutti gli altri fattori sono uguali. Per ulteriori informazioni sulle modalità di esecuzione dei test sugli indicatori, fare clic sul collegamento in alto.
Descrizione dell’oscillatore stocastico
L’oscillatore stocastico è misurato con due linee. Queste linee sono chiamate %K e %D e sono calcolate come segue.
%K = (Chiusura corrente – Minimo più basso)/(Massimo più alto – Minimo più basso) * 100
%D = SMA a 3 periodi di %K
Non è necessario comprendere appieno l’equazione per utilizzare l’indicatore, ma è utile per avere un’idea di base di cosa mostra l’indicatore.
Da notare che la linea %D è in realtà una media mobile della linea %K. Ciò significa che la linea %D si muoverà più lentamente della linea %K e, come tale, offre l’opportunità di generare segnali di crossover per entrate e uscite.
Per approfondire gli oscillatori stocastici si può consultare i seguenti link:
- https://en.wikipedia.org/wiki/Oscillatore_stocastico
- https://www.oanda.com/forex-trading/learn/technical-analysis-for-traders/stochastic/basics
Strategia di test
L’indicatore dell’oscillatore stocastico con backtrader è stato testato utilizzando due metodi leggermente diversi. Entrambi i metodi avevano gli stessi criteri di ingresso ma diversi criteri di uscita. Il primo metodo segue il mantra secondo cui “l’uscita dovrebbe essere basata sugli stessi criteri che hanno portato a entrare nel trade”. In altre parole, l’uscita è semplicemente l’opposto dei criteri di entrata. Il secondo metodo mira a fornire un’opportunità per invertire la direzione del trade il prima possibile e far oscillare le posizioni con l’indicatore.
Entry
- Entry Long:
- Quando entrambe le linee %K e %D si trovano nell’area di ipervenduto e la linea %K incrocia al rialzo la linea %D
- Entry Short:
- Quando entrambe le linee %K e %D si trovano nell’area di ipercomprato e la linea %K incrocia al ribasso la linea %D
Exit – Metodo 1
- Exit Long:
- Quando sia %K che %D raggiungono l’area di ipercomprato e la linea %K incrocia al ribasso la linea %D
- Exit Short:
- Quando entrambe le linee %K e %D si trovano nell’area di ipervenduto e la linea %K si incrocia sopra la linea %D
Exit – Metodo 2
- Exit Long:
- Quando sia %K che %D raggiungono SOLO l’area di ipercomprato
- Entrata Short se la linea %K incrocia al ribasso la linea %D mentre è ancora nell’area di ipercomprato
- Exit Short:
- Quando entrambe le righe %K e %D si trovano SOLO nell’area di ipervenduto
- Entrata Long se la linea %K incrocia al rialzo la linea %D mentre è ancora nell’area di ipervenduto .
Oscillatore Stocastico con Backtrader
Complessivamente sono stati eseguiti 1729 test in tutti e quattro i mercati con diverse impostazioni dei parametri. L’ottimizzazione è stata eseguita su ciascuna strategia per i seguenti intervalli di parametri:
- Periodo: da 4 a 30
- d_fast: da 2 a 5
- d_slow: da 2 a 5
Di seguito sono riportati un riepilogo, una galleria di grafici e una serie di tabelle statistiche per ciascun metodo di prova. Le tabelle forniscono una panoramica delle migliori impostazioni dei parametri per ciascun mercato insieme alle impostazioni migliori/peggiori in tutti i mercati.
Ogni galleria mostra 3 diversi grafici:
- I rendimenti annuali di 12 anni dei test migliori e peggiori
- Le curve PnL per ogni mercato quando si modifica il parametro Periodo. I parametri d_slow e d_fast rimangono quelli predefiniti.
- I strike migliori, peggiori e medi in tutti i test.
Metodo 1
I test di questo metodo di test hanno prodotto risultati molto erratici. Come mostrato dalle curve PnL, la performance è molto altalenante in tutti i mercati. Solo piccole modifiche al parametro del periodo hanno comportato grandi oscillazioni della redditività e delle perdite.
- Il test più redditizio è venuto da NZDUSD utilizzando le impostazioni 21, 4, 5 e ha avuto uno strike rate del 46%
- Tuttavia, le migliori impostazioni complessive basate sul PnL medio in tutti i mercati testati sono 24, 3 ,3 con un PnL medio di $255.
- Le impostazioni predefinite erano redditizie (ma non ottimali) in tutti i mercati.
- Un periodo più lungo (superiore a 16) ha fornito le migliori impostazioni in tutti i mercati.
Di seguito è possibile scaricare una copia dei risultati del test: Risultati dell’oscillatore stocastico – metodo 1.
I migliori parametri per ogni mercato
Mercato | periodo | periodo dfast | periodo dslow |
---|---|---|---|
AUDUSD | 16 | 3 | 5 |
GBPUSD | 27 | 3 | 4 |
EURUSD | 25 | 3 | 2 |
NZDUSD | 21 | 4 | 5 |
Prestazioni con i parametri (14,3,3)
Mercato | PNL | Strike Rate |
---|---|---|
AUDUSD | 108,69 | 32.65 |
GBPUSD | 60.43 | 30.21 |
EURUSD | 7.68 | 35,64 |
NZDUSD | 398,91 | 45,78 |
I migliori e peggiori parametri su tutti i mercati
PNL | Parametro 1 | Parametro 2 | Parametro 3 | |
---|---|---|---|---|
Migliore | 255.3575 | 24 | 3 | 3 |
Peggiore | -263.02 | 20 | 3 | 4 |
Metodo 2
La seconda strategia sotto test mostra risultati molto diversi da quelli erratici del metodo 1. Per cominciare, le curve PnL sono molto simili (più o meno!) quindi sembra esserci meno sensibilità alle modifiche dei parametri. Inoltre, l’indicatore stocastico è mostrato prestazioni migliori in alcuni mercati rispetto ad altri , invece di essere volatile in tutti i mercati.
- Questa strategia è più adatta a AUDUSD con profitti costanti nella maggior parte delle combinazioni dei parametri.
- Al contrario, l’NZDUSD sembra avere generalmente prestazioni scarse per tutte le combinazioni di parametri.
- È interessante notare che le migliori combinazioni medie su tutti i mercati producono un profitto medio inferiore rispetto al metodo 1.
- Le combinazioni migliori per ciascun mercato hanno tutte un periodo di riferimento superiore a 13.
Una copia dei dati dei risultati del test può essere scaricata qui: Risultati del l’oscillatore stocastico – metodo 2
I migliori parametri per ogni mercato
Mercato | periodo | periodo dfast | periodo dslow |
---|---|---|---|
AUDUSD | 15 | 3 | 3 |
GBPUSD | 30 | 3 | 4 |
EURUSD | 13 | 5 | 4 |
NZDUSD | 16 | 3 | 4 |
Prestazioni con i parametri standard
Mercato | PnL | Strike Rate |
---|---|---|
AUDUSD | 472.77 | 41.36 |
GBPUSD | 28.12 | 42.65 |
EURUSD | 196.22 | 41.75 |
NZDUSD | -241.54 | 33.48 |
I migliori e peggiori parametri su tutti i mercati
PNL | Parametro 1 | Parametro 2 | Parametro 3 | |
---|---|---|---|---|
Migliore | 212.6975 | 13 | 3 | 4 |
Peggiore | -154,775 | 25 | 2 | 3 |
Codice completo
In questo articolo abbiamo descritto come usare l’Oscillatore Stocastico con backtrader da applicare nelle strategie di trading algoritmico. Per il codice completo riportato in questo articolo, si può consultare il seguente repository di github:
https://github.com/datatrading-info/BackTrader