la formazione finanziaria è il miglior investimento per il tuo · pdf filesalvare le...

25
la formazione finanziaria è il miglior investimento per il tuo domani

Upload: dangdung

Post on 13-Feb-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

la formazione finanziaria è il miglior investimento per il tuo domani

Lezione n. 6 Edizione ottobre 2015

www.sapienzafinanziaria.com

STRATEGY QUANT

StrategyQuant è un programma che genera automaticamente nuove strategie di trading per forex, azioni o ETF.

Usando StrategyQuant, è possibile trovare strategie di trading profittevoli per qualsiasi mercato, qualsiasi periodo di tempo e di qualsiasi tipo di grafico.

Strategy Quant è un processo di elaborazione, test e ottimizzazione. In quanto processo va oltre le conoscenze di analisi tecnica. Le competenze necessarie sono relative all’analisi di ottimizzazione, e robustezza.

Strategy Quant

Con StrategyQuant è possibile:

Generare un numero illimitato di strategie di trading per qualsiasi mercato o periodo di tempo

Salvare le strategie come MetaTrader Expert Advisor o Ninja Trader con codice sorgente completo

Eliminare il lavoro manuale tipico dell’elaborazione di sviluppo di una strategia

Trovare nuove strategie di trading che non solo sono uniche, ma anche non ovvie

Ridurre il tempo necessario per costruire una strategia da settimane e mesi a minuti!

Migliora le tue strategie esistenti

Ottimizzare le strategie e trova i migliori parametri

Testare le tue strategie in robustezza e analizzare le loro prestazioni

Cosa fa Strategy Quant

Strategy Quant per il trader discrezionale.

È possibile utilizzare per StrategyQuant per generare le idee di trading.

Sarà sorprendente trovare molte strategie redditizie in base a regole relativamente semplici, che non avremmo mai immaginato.

Ogni strategia che è stato creata da StrategyQuant può essere esportata in un leggibile «pseudo codice», con la descrizione completa delle regole di trading, che posso utilizzare nel trading manuale.

E’ possibile inoltre generare successivamente un EA che mi dà segnali di trading attraverso messaggi suoi miei devices.

Cosa fa Strategy Quant

Cosa aspettarsi da Strategy Quant

StrategyQuant è uno strumento potente, ma non è una scatola magica che vi farà iniziare a fare soldi con un clic del mouse. Deve essere utilizzato nel modo giusto per ottenere i risultati.

Generare nuove strategie con Strategy Quant è solo circa il 50% del lavoro.

Il resto del lavoro è fatto dal valutare le strategie generate, e filtrare quelli che sono in curve fitting, non sono robusti o sovraottimizzati.

Spetta a voi per valutare le vostre nuove strategie correttamente e conoscere i propri punti di forza, debolezze e le limitazioni prima di metterli a mercato.

Può facilmente accadere che da tutte le strategie redditizie generate da StrategyQuant solo 1 su 10 passa la valutazione e la consideriamo utile per il trading dal vivo.

Ma dato che il numero di strategie che possiamo generare è quasi infinita, quindi, anche il 5-10% da infinito è un bel gran numero :-)

Cosa fa Strategy Quant

Prima di iniziare:

Hardware: StrategyQuant richiede molta potenza di processore. Quindi più veloce è il computer più strategie verranno generate e testate.

L’elememto più importante del pc è la CPU. SQ è in grado di funzionare in multiprocessore. Migliori risultati si ottengono attualmente con processori i5 o

Installazione: non installare SQ nella PROGRAM FILE DIRECTORY. Installa in C:\

Utilizzo: è possibile usare le strategie generate in: MetaTrader4 / NinjaTrader / Tradestation. Adottare le previste attenzioni descritte nel manuale

Prima di iniziare

Prima di iniziare:

Hardware: StrategyQuant richiede molta potenza di processore. Quindi più veloce è il computer più strategie verranno generate e testate.

L’elememto più importante del pc è la CPU. SQ è in grado di funzionare in multiprocessore. Migliori risultati si ottengono attualmente con processori i5 o

Installazione: non installare SQ nella PROGRAM FILE DIRECTORY. Installa in C:\

Utilizzo: è possibile usare le strategie generate in: MetaTrader4 / NinjaTrader / Tradestation. Adottare le previste attenzioni descritte nel manuale

Prima di iniziare

Principi di funzionamento:

StrategyQuant è un programma: non ha il cervello o l'esperienza di un trader, e non sa come creare una strategia proficua. Ciò che fa è combinare in modo casuale vari blocchi (i blocchi rappresentano indicatori, prezzi, ecc) per creare nuove regole di tradeng. Alla strategia risultante viene datto un backtest su una serie storiche predefinita, per vedere se è redditizia.

La generazione RANDOM è il fondamento di StrategyQuant. Strategie generate in questo modo possono essere ulteriormente migliorate (evoluto) con l'evoluzione genetica.

Principi di funzionamento

Generazione random di strategie di trading:

Una strategia di trading nella popolazione iniziale (prima quantità di strategie generabile con i blocchi definiti) è costruita utilizzando una combinazione di pattern di prezzo, indicatori tecnici, tipi di ordine, e altre parti per formare le regole d'ingresso e di uscita.

StrategyQuant può utilizzare tutti gli indicatori tecnici standard e oscillatori (come CCI, RSI, Stocastico, ecc), i valori di time frame(come H1, D, 1M,) e pattern di prezzo. Questi blocchi sono poi combinati utilizzando gli operatori logici e di uguaglianza (e, o,>, <, ecc) in modo da formare una regola di entrata o di uscita. Inoltre, supporta l'ingresso diverso e tipi di ordini di uscita (ordine di mercato, limit order, target di profitto fisso, , uscita dopo X bar, ecc).

Con tutte le possibili combinazioni di regole e ordini, StrategyQuant è in grado di generare letteralmente trilioni (miliardi di miliardi 10 18) di possibili strategie differenti (!fattoriale)

Principi di funzionamento

Generazione random di strategie di trading:

Il processo di costruzione è di per sé del tutto casuale. SQ sceglie casualmente diversi blocchi da quelli selezionati li combina per creare regole d'ingresso, tipo di ordine e regola di uscita.

Ci sono alcuni vincoli di validità che assicurano che, per esempio, il prezzo non viene confrontato con il valore del tempo, ecc Il risultato è una struttura completamente nuova strategia di trading casuale. Naturalmente, non ogni strategia creata a caso è redditizio, ma SQ può produrre e testare migliaia di nuove strategie all’ora, e ci possono esserne molte di queste redditizie.

Principi di funzionamento

30 blocchi: 50 32 combinazioni (più o meno.. )

Evoluzione genetica

Genetica Evolution rende il processo di ricerca delle strategie ancora più adeguato. In questa modalità SQ prima crea una serie di strategie casuali, che vengono utilizzate come popolazione iniziale nell'evoluzione.

Questa generazione iniziale di strategie è quindi "evoluta" nelle successive generazioni usando la tecnologia di programmazione genetica.

Questo processo imita l'evoluzione - l'algoritmo sceglie le strategie più idonee (con criteri di rendimento) in ogni generazione, e il gruppo di candidati più in prestanti viene poi utilizzato per la produzione di nuova generazione di strategie di trading.

Come nell’evoluzione, ciò dovrebbe comportare sempre migliori candidati, nel nostro caso strategie più redditizie, più stabili, o in generale migliori nei criteri di rendimento.

Principi di funzionamento

Esempio di «pseudo codice»

Ecco un esempio di pseudo codice di una strategia generato da SQ. Si può vedere che la strategia ha ordini di entrata, uscita e ordini comandi di gestione trading - come i movimenti trailing stop, ecc. Ogni strategia generata dal programma può essere visualizzata in questo pseudo codice o esportati sotto forma di MetaTrader Expert Advisor (EA), strategia # NinjaTrader NinjaScript C o EasyLanguage per Tradestation / Multicharts.

Principi di funzionamento ============================================================ Entry conditions ============================================================ LongEntryCondition = (Stoch(40, 1, 3) < 50) ShortEntryCondition = (Stoch(40, 1, 3) > 50) ============================================================ == Entry orders ============================================================ -- Long entry if LongEntryCondition is true { if No position is open then Buy at Ichimoku(6, 18, 38, Kijun-sen) + (0.4 * ATR(86)) Limit; Stop/Limit order expires after 34 bars. Stop Loss = 190 pips; Profit Target = (0.74 * ATR(87)) pips; // Move SL to BE (on close) Move Stop Loss to Entry price when in profit at least (77 * ATR(12)) pips; // Profit trailing (on close) Profit Trailing by 222 pips; // Stop trailing (on close) Move Stop to (Close(1) + (0.5) * BBWidthRatio(20, 2.0))) on bar close; } -- Short entry if ShortEntryCondition is true { if No position is open then Sell at Ichimoku(6, 18, 38, Kijun-sen) + (-0.4 * ATR(86)) Limit; Stop/Limit order expires after 34 bars. Stop Loss = 190 pips; Profit Target = (0.74 * ATR(87)) pips; } ==================================================================== == Exit orders ==================================================================== -- Long exit if MarketPosition is Long { if (Bars Since Entry >= 33) { Close position at market; } }

Evoluzione genetica in 3 parti

Normalmente in ottimizzazione, viene usato il metodo In sample + Out of sample, e quindi anche in evoluzione genetica.

Con l’approccio in 3 parti, possiamo dividere i dati In Sample in 2 parti, così abbiamo nel totale 3 parti:

In Sample Training (IS Training) questa parte viene utilizzata per l'evoluzione delle strategie. La bontà della strategia è misurata su questa parte di dati, e le strategie con migliore idoneità verranno scelte per produrre la prossima generazione.

In Sample Validation (IS Validation) questa parte viene utilizzato per confrontare le prestazioni con la parte di Training. La bontà della strategia è misurata anche su questa parte,ed è possibile riavviare l'evoluzione una volta che l'idoneità o le prestazioni iniziano a ristagnare su dati di Validation, o se le prestazioni di strategia (utile netto, fattore di profitto, ecc) in Validation non corrispondono con quelli di Training.

Out of Sample (OOS) questa terza parte di dati viene utilizzata per verificare la strategia sui dati sconosciuti. Siccome usiamo i dati IS Validation per influenzare l'evoluzione, che non è più un elemento "sconosciuto" di dati, dovremmo testare la strategia di nuovo, in OOS, cioè nella «vera» parte di dati sconosciuta per verificarne le prestazioni in modo indipendente.

Principi di funzionamento

Evoluzione genetica in 3 parti

Se si sceglie una strategia nel databank e guadiamo l’equity, si può vedere come si è diviso in tre parti e le prestazioni in ciascuna di esse. In questo esempio la strategia performa negativamente nella parte IS Validation.

Principi di funzionamento

Evoluzione genetica in 3 parti

Una strategia migliore dovrebbe essere più simile a nell'esempio qui sotto, in cui tutte le tre parti hanno più o meno le stesse prestazioni (visibile dalla linea rossa). Questa strategia non è ancora perfetta (dradown troppo elvato).

All’interno di SQ troveremo tutte le impostazioni di configurazione (Genetic Options)

Principi di funzionamento

Blocchi supportati SQ attualmente supporta i seguenti componenti (blocchi) per costruire le regole di entrata e uscita:

Indicators: Simple Moving Average - Exponential Moving Average - Weighted Moving Average - Commodity Channel Index (CCI) - Relative Strength Index (RSI) - Stochastic –MACD - Bollinger Bands - Qualitative Quantitative Estimation (QQE) - Triple Exponential Moving Average - Custom Indicators -Average Directional Movement -Index (ADX) - Average True Range (ATR) - Momentum - Williams % Range - True Range - Price Difference – Highest, Lowest - Keltner Channel - Parabolic SAR - Ichimoku

Price Values: Open – High - Open Daily - High Daily - Heiken Ashi Open - Heiken Ashi High - Today Open - Pivots - Low - Close - Low Daily- Close Daily - Heiken Ashi Low -Heiken Ashi Close - This Bar Open

Candle Patterns: Doji – Hammer – Bullish - Engulfing - Shooting Star - Dark Cloud Cover- Piercing Line - Bearish Engulfing

Operators: Greater – Lower - Crosses Above - Crosses Below – And - Or - Addition (+) - Subtraction (-) - Multiplication (*) - Equals - Not Equals - Closes Above

Time Values Hour - Minute - Day of Week

Order Types Enter at Market - Enter/Reverse at Market -Enter at Stop - Enter at Limit

Exit Types Stop Loss - Exit After X Bars - Exit Rule (Price + Operators + Indicators, ...) - Profit Target - Move Stop Loss to Break-even - Stop Trailing Profit Trailing .

Strategy Quant offre un’ulteriore flessibilità della costruzione di blocchi con indicatori personalizzati, con la stessa procedura di inserimento di EAWizard

Funzionalità

WORK FLOW 1. Configurare i dati per backtest

È possibile utilizzare le serie storiche che sono nel programma o anche di importare i propri dati in formato MetaTrader. Quindi impostare il periodo che si desidera utilizzare. Se si utilizza la modalità evoluzione genetica è necessario suddividere i dati in InSample e OutOfSample. È inoltre possibile utilizzare i dati aggiuntivi o test di robustezza per verificare automaticamente la robustezza strategia.

2. Configurare le impostazioni

Configurare tutti i tipi i di settaggio, impostazioni, indicatori e tipi di ordini da utilizzare per le regole di negoziazione.

3. Configurare le opzioni di Ranking

Le opzioni di Ranking consentono di selezionare criteri di selezione strategia - cioè come vengono determinate le migliori strategie. Si dovrebbero impostare le condizioni personalizzati per filtrare solo le strategie che superano determinati criteri. Questo consente di chiudere tutte le strategie che hanno troppo poco profitto o tredes, o troppo piccolo fattore di profitto, o DrawDown.

4. Run Build

Avviare il processo di elaborazione. A seconda delle impostazioni è possibile farlo funzionare diversi minuti, diverse ore o anche più giorni. Più tempo verrà eseguito, più possibili strategie metterà alla prova. Le migliori di saranno conservati nella banca dati.

Work Flow

WORK FLOW 5. Valutazione delle strategie generate

Controllare le strategie nel Databank. È possibile valutarle visivamente controllando il loro grafico di eqiaty, o per il loro ordinamento nei parametri nel Databank. Scegli i migliori per passare alla fase successiva e salvarli in un file di progetto StrategyQuant (.sqn) in modo da poter lavorare con loro più tardi.

La valutazione può consistere anche nel sottoporre nuovamente le strategie in test cambiando cross e / o tempi aggiuntivi, o con differenti spread o slippage e confrontando i risultati. È inoltre necessario eseguire test di robustezza. L'obiettivo della valutazione della strategia è quello di trovare strategie robuste - che significa che lavorano in condizioni diverse e non si rompono quando c'è un piccolo cambiamento nei parametri o dati sui prezzi oppure perdere alcuni trades.

6. Migliorare la strategia

Si può cercare di migliorare la strategia in Improve Strategie. Si può cercare di applicare diverse combinazioni di regole di uscita o aggiuntive condizioni di entrata, alla ricerca per migliorare le prestazioni. Dopo il miglioramento si deve ancora eseguire un test di robustezza per assicurarsi che non ha perso la sua robustezza.

7. Ottimizzare la strategia

È possibile eseguire una semplice ottimizzazione per trovare una migliore combinazione di parametri di input della vostra strategia. È anche possibile eseguire una Walk Forward Analisys per scoprire se la strategia trarrebbe beneficio da riottimizzazione periodica. Come ultimo passo, è possibile eseguire una Walk Forward Matrix Analisys per determinare il periodo migliore riottimizzazione.

Work Flow

STRATEGY QUANT - HOME

SQ Home

DATA MANAGER

SQ Home

DATA MANAGER

SQ Home

BUILT STRATEGIES Il cuore del programma. Qui si possono generare nuove strategie di trading utilizzando diverse opzioni di configurazione e di blocchi costruttivi. Le strategie risultanti devono essere salvati in un file StrategyQuant (.str) in modo da poter lavorare con loro più tardi. Modalità di compilazione disponibili:

EVOLUZIONE GENETICA

StrategyQuant prima genera una popolazione iniziale di candidati casuali (utilizzando la modalità casuale generazione) e quindi utilizza processo evoluzione genetica di evolvere la popolazione e produrre sempre migliori candidati con ogni generazione. Il processo termina quando viene raggiunto il numero predefinito di generazioni o quando non c'è un ulteriore miglioramento.

Pro:

In teoria dovrebbe portare a strategie migliore rispetto alla generazione casuale iniziale

Ciò significa che le già buone strategie nella prima generazione può essere ulteriormente migliorata

Ricerca di strategia proficua in migliaia di miliardi di combinazioni possibili può essere più efficace con il potere dell'evoluzione

Contro:

Evoluzione può essere più lenta

Talvolta l'evoluzione può portare alla fine morto, così la generazione dovrebbe essere guardato

Il gruppo di strategie generata è limitata dalla dimensione della popolazione

Work Flow

BUILT STRATEGIES

GENERAZIONE RANDOM

In questa modalità StrategyQuant genera continuamente e sperimenta nuove strategie casuali, una dopo l'altra, finché non viene interrotta manualmente. I candidati migliori (sulla base di criteri predefiniti) sono memorizzati in Databank modo da poterli rivedere in un secondo momento.

Pro:

più veloce e più semplice di evoluzione genetica

verrà eseguito fino a quando non viene arrestato, quindi se si lascia correre per un paio di giorni, può generare e valutare milioni di strategie

Contro:

Una volta generate le strategie, non sono ulteriormente migliorate.

Work Flow

Arrivederci alla lezione 7

www.sapienzafinanziaria.com

Lezione n. 6 Edizione ottobre 2015