modelli

Costruire strategie di mean-reversion utilizzando modelli e ordini limite

In questo semplice tutorial vi presentiamo un approccio semplice per impostare un modello di builder che vi permetta di generare facilmente strategie di mean-reversion. StrategyQuantX è in grado di esplorare milioni di possibili combinazioni di un sistema di mean-reversion che possono essere facilmente individuate utilizzando il suo eccellente sistema di template.

Cos'è una strategia di mean-reversion

Il concetto è molto semplice. Immaginiamo che il prezzo di mercato non si muova troppo per un certo periodo di tempo, con un andamento lento o altalenante, e che all'improvviso si verifichi un rapido sell-off. In una situazione del genere, i trader tendono a percepire questa situazione come un'opportunità per acquistare con uno sconto e "sfumare" questa azione di mercato, aspettandosi che il prezzo di mercato torni alla sua media (media).

Questo approccio è comunemente utilizzato in tutti i mercati ma sorprendentemente funziona bene con le azioni e i futures sugli indici azionari naturalmente. Nel nostro esempio proviamo a testare l'idea utilizzando i dati dei futures sugli indici statunitensi per un contratto e-mini, ma come detto il concetto può essere utilizzato in qualsiasi mercato.

Un esempio Può essere visto chiaramente nell'immagine seguente. Il mercato si è mosso lentamente verso l'alto e poi improvvisamente è sceso bruscamente. Una volta visto il movimento, potremmo ritenere che questo "estremo" sia temporaneo e cercare di comprare sulla debolezza del prezzo, aspettandoci che il prezzo del mercato torni a salire.

Come costruire un sistema di mean reversion in SQ AlgoWizard

Per comprendere le informazioni che seguono si presuppone che abbiate già familiarità con i "modelli SQ e la randomizzazione". In caso contrario, saltate per un attimo la lettura di questo articolo e consultate il nostro articolo su Modelli di strategia.

Potremmo spostare l'idea un po' più in là e, in caso di ribasso del mercato, ipotizzare che il ribasso possa continuare un po' più in basso prima di rimbalzare verso la media, offrendo così un ulteriore sconto sul prezzo per l'entrata long. Si tratta di un'ottima opportunità per testare l'efficacia di un ordine buy limit in questa configurazione e per verificare se può offrire qualche opportunità di profitto. Definiamo quindi alcune regole di base e condizioni di ingresso.

Condizioni di ingresso

È abbastanza facile impostare un modello per questo. Per mantenere tutto il più semplice possibile, costruiamo la strategia solo per il lato lungo, mentre vogliamo che StrategyQuantX costruisca le condizioni utilizzando tutti i blocchi disponibili (e abilitati). Non vogliamo limitare il costruttore in questo caso, poiché non sappiamo ancora quali condizioni per l'inserimento di un ordine limite utilizzeremo. Ciò può essere facilmente ottenuto utilizzando un modello con condizioni di ingresso come quelle riportate di seguito:

  1. La dimensione dell'ultima barra (dal prezzo alto a quello basso) deve essere maggiore del valore ATR (average true range) moltiplicato per un numero fisso (ad esempio High - Low > 1,5 x ATR).
  2. Abbiamo anche una barra ribassista per un segnale valido (Close < Open)
  3. Aggiungiamo una "Condizione casuale 1", in modo che il costruttore possa sostituirla con qualsiasi possibile condizione di entrata e di uscita (una o più), come indicatori, segnali, condizioni di price action, ecc. Questo può servire, ad esempio, a "filtrare" i segnali in una direzione di tendenza, ecc.
  4. Infine vogliamo attivare l'entrata in acquisto solo se non c'è una posizione long esistente (siamo FLAT)

Si notino gli elementi colorati in verde, che rappresentano i blocchi che saranno generati casualmente in seguito dal costruttore. Vogliamo che il costruttore lo ottimizzi per noi

Questo è tutto per il segnale di entrata. Ora diamo un'occhiata alla scheda dell'ordine di entrata lungo per capire come impostare correttamente l'ordine limite di acquisto utilizzando la randomizzazione.

Si noti la parte evidenziata in cui si imposta il limite prezzo per l'ordine limite di acquisto. Si può notare che sottraiamo nuovamente il valore ATR moltiplicato per un valore fisso dalla chiusura dell'ultima barra. Il valore fisso sarà generato in seguito in modo casuale da SQX nell'intervallo da 0,5 a 2 utilizzando il passo = 0,1 (0,5, 0,6, 0,7, ..., 1,9, 2). Vogliamo anche avere l'ordine di scadenza e stop-loss sempre attivato nel modello, quindi abilitiamo anche questa opzione.

Costruire strategie di mean reversion utilizzando i modelli di StrategyQuantX

Ora il template è sostanzialmente completo e possiamo impostare una semplice configurazione di build per testare le sue prestazioni.

Per testare l'idea utilizzeremo i dati di Futures sull'indice E-mini S&P 500 contratto. È possibile passare facilmente alla versione micro di questo contratto (nome del simbolo ET in StrategyQuant Data Manager) con il comando valore del punto 10 volte più piccolo rispetto alla versione mini.

Utilizziamo la configurazione di compilazione più semplice possibile, poiché vogliamo che StrategyQuantX generi solo un primo rapido campione di strategie per vedere se questo trading L'approccio può fornire sistemi redditizi in generale. Impostiamo solo l'essenziale:

Vogliamo anche vedere le operazioni effettive che una strategia crea su un grafico dei prezzi, quindi attiviamo l'opzione "Memorizza dati del grafico".

Infine, vogliamo impostare alcune metriche di performance di base, in modo che solo le strategie redditizie vengano memorizzate nella banca dati.

Quando si utilizza la modalità di generazione casuale Dovreste ottenere le prime strategie quasi immediatamente dopo aver avviato la compilazione. Controlliamo la strategia migliore nel primo esempio, per verificare se tutto funziona come previsto.

Possiamo anche vedere il Il codice pseudo mostra una logica di strategia corretta in base all'impostazione del modello utilizzato.

E possiamo controllare le esecuzioni delle singole operazioni su un grafico direttamente in StrategyQuantX.

Utilizzando questo modello di base è possibile esplorare un'enorme quantità di possibili strategie su forex, azioni e materie prime e su tutti i possibili timeframe. Si sconsiglia di effettuare test con timeframe ridotti. Sebbene il modello fornisca buoni risultati sui grafici intraday, è possibile effettuare test anche con timeframe giornalieri o settimanali e applicare il concetto a un portafoglio più ampio di mercati.

 

 

Abbonarsi
Notificami
5 Commenti
Il più vecchio
Più recente I più votati
Feedback in linea
Visualizza tutti i commenti
SG
SG
28. 8. 2021 12:53 pm

HI Tomas, grazie per il blog, sto seguendo le tue istruzioni 1 per 1, e ho alcuni problemi.
Ho completato il modello e ho messo il costruttore al lavoro, dopo 1 milione di strategie, ci sono 0 accettate perché non c'è il filtro delle operazioni.
Sono tornato all'algo wizard, ho notato che hai ottenuto random(multisignalD,0.5:2:0.1), posso solo selezionare randomvalue.
Potete indicarmi cosa ho sbagliato o dove cercare?

Van Aarde Krynauw
Van Aarde Krynauw
Rispondi a  SG
4. 11. 2021 18:36

È possibile ottenere la Random(multisegnaleD,0.5:2:0.1) impostando l'elemento su Numero, quindi per l'elemento valore di quell'elemento Numero, utilizzare "Genera casuale" dal menu a discesa.

Emmanuel2
9. 10. 2021 18:51

fantastico !!!! grazie Tomas!!!

tmantrader
22. 1. 2022 21:37

Salve, può spiegarmi perché utilizza la barra precedente High[1] - Low[1] e RSI[1] invece di utilizzare la barra corrente? Cerco di capire: in TradeStation quando creo ordini limite di solito uso la chiusura della barra corrente [0[ per i miei indicatori, e poi faccio trading sulla barra successiva con un ordine limite o un ordine a mercato all'apertura. Puoi spiegarmi meglio? Ho l'impressione di aver capito male. Grazie. -Tom C

Continua a leggere