Sto iniziando una serie di articoli in cui approfondirò il processo di creazione delle strategie di trading in StrategyQuant X. Come forse saprete, questo straordinario software è stato trasformato da un generatore di strategie di base in una struttura complessa che consente ai trader di sfruttare le proprie conoscenze e di creare rapidamente robot di trading.
Poiché aggiungiamo continuamente nuove funzionalità, alcune di esse potrebbero essere passate inosservate ai nostri utenti (la transizione potrebbe diventare nascosta ai nostri utenti), il che sarebbe un vero peccato.
Cominciamo con il nuovo sistema di templating, una delle parti essenziali del nuovo StrategyQuant, che definisce il tipo di strategie generate.
In questo articolo mi concentrerò principalmente sull'introduzione e sulle basi del sistema di template e mostrerò come impostare le condizioni di base in SQ.
Che cos'è il sistema di template StrategyQuant?
Esistono molti tipi di strategie di trading. Trend following, breakout, pullback, London breakout ecc. Il modello è la parte di base del processo di creazione della strategia, che definisce il tipo di logica della strategia che StrategyQuant genererà. Per capire meglio il processo, vi descrivo le sue fasi in modo più dettagliato.
Il primo passo: I blocchi di costruzione
Blocchi di costruzione
Possono essere indicatori, operatori, valori, ecc. In poche parole, questi sono i mattoni con cui si costruisce la nuova casa, in questo caso la strategia di trading. In StrategyQuant è possibile definire facilmente quali mattoni verranno utilizzati per generare una strategia. SQ supporta più di 40 indicatori e diverse condizioni predefinite.
Blocchi di costruzione in StrategyQuant
La seconda fase: condizioni e livelli creati dai blocchi di costruzione
Condizioni di generazione
In questa fase, si mettono insieme i singoli blocchi di costruzione e si generano le condizioni della strategia. Nella tabella seguente sono riportati diversi esempi di blocchi di costruzione.
Condizione |
Descrizione |
Chiusura>Media Mobile(200) |
Condizione di filtraggio che definisce un mercato in crescita/aumento. Molto efficiente soprattutto su un timeframe giornaliero (D1). |
Highest[40]+0.3*ATR[14] |
Livello di ingresso per l'inserimento di ordini di stop |
RSI(20) < 50 |
Indica un mercato ipervenduto, filtro buy |
StrategyQuant utilizza un motore genetico o casuale per generare i blocchi di costruzione, ma è anche possibile utilizzare condizioni già pronte, chiamate "segnali".
Condizioni pronte per l'uso - Segnali
Il terzo passo: mettere tutto insieme in un modello di strategia
Supponiamo di avere due condizioni di trading: Condizione 1 e Condizione 2. Entrambe sono generate casualmente o durante l'evoluzione dai blocchi preconfigurati.
Condizione 1: Chiusura>Media Mobile(200)
Condizione 2: RSI(20) < 50
Ora è il momento di creare la vostra prima strategia di base. Si noti che non si tratta di un esempio reale e che è stato semplificato a scopo dimostrativo.
Il modello di strategia potrebbe essere qualcosa di simile:
------------------------
SE [Condizione 1] e [Condizione 2]
ALLORA acquistate a prezzo di mercato
------------------------
La strategia finale generata sarà quindi:
SE Chiusura>Media Mobile(200) e RSI(20) < 50
ALLORA acquistate a prezzo di mercato
I "segnaposto" delle condizioni nel modello di strategia sono stati sostituiti con le condizioni effettive. In questo modo il modello definisce esattamente dove devono essere utilizzate le condizioni e come verrà generata la strategia risultante.
Ora diciamo che abbiamo questo modello di strategia:
------------------------
SE [Condizione 1] e [Condizione 2]
ALLORA acquistate a prezzo di mercato
SE [Negazione della condizione 1] e [Negazione della condizione 2]
ALLORA vendete al prezzo di mercato
------------------------
Si può notare che il modello di strategia consente di utilizzare anche la negazione di una condizione, che verrà creata automaticamente.
Se utilizziamo questo modello, la strategia generata sarà:
SE Chiusura>Media Mobile(200) e RSI(20) < 50
ALLORA acquistate a prezzo di mercato
SE Chiusura<Media mobile(200) e RSI(20) > 50
ALLORA vendete al prezzo di mercato
Proviamo un terzo esempio di un altro modello di strategia:
------------------------
LongEntrySignal = [Condizione 1] e [Condizione 2]
ShortEntrySignal = [Negazione della condizione 1] e [Negazione della condizione 2]
SE il segnale LongEntrySignal e non ShortEntrySignal
ALLORA acquistate a prezzo di mercato
SE il segnale ShortEntrySignal e non il segnale LongEntrySignal
ALLORA vendete al prezzo di mercato
------------------------
Se utilizziamo questo modello, la strategia generata sarà:
LongEntrySignal = Cperdere>Media Mobile(200) e RSI(20) < 50
ShortEntrySignal = Chiusura<Media mobile(200) e RSI(20) > 50
SE il segnale LongEntrySignal e non ShortEntrySignal
ALLORA acquistate a prezzo di mercato
SE il segnale ShortEntrySignal e non il segnale LongEntrySignal
ALLORA vendete al prezzo di mercato
Si può notare che abbiamo utilizzato le stesse condizioni, ma siamo riusciti a generare tre strategie leggermente diverse.
E così è. Inserendo i blocchi di costruzione nel vostro modello, otterrete facilmente la logica della strategia. Si può notare che utilizzando diversi modelli di strategia è possibile personalizzare il processo di creazione delle strategie di StrategyQuant in modi quasi illimitati. Più avanti, in questa serie di articoli, presenterò altri tipi di modelli che potrete personalizzare in base alle vostre idee.
Nel prossimo articolo ci sposteremo in StrategyQuant e testeremo i modelli da soli.
I modelli sono molto utili! Grazie per questa spiegazione