Wednesday 1 November 2017

Test Trading Strategie In Matlab


Mentre mi piace dove questa domanda sta andando, vorrei suggerire di rendere un po 'più concreto. Quali parti del processo di backtesting Vorresti imparare Questo può variare da solo stimare un rendimento normale, dove i rendimenti di portafoglio dalla vostra strategia sono già date per l'attuazione di una regola formazione portafoglio completo algoritmicamente. ndash Constantin 30 dicembre 14 a 21:06 A dire il vero don39t so molto di backtesting. Mi è stato detto che dovrò backtest nuove strategie o migliorare quella attuale durante il mio stage. Così mi piacerebbe sapere un po 'di più su questo argomento prima di iniziare. Quali sono le diverse parti di essa. ndash Maxime 30 dicembre 14 al 21:31 L'idea generale per i titoli di capitale, un semplice backtest in genere costituito da due fasi: calcolo del rendimento del portafoglio derivante dal regola la formazione di portafoglio (o strategia di trading) Rischio-regolazione dei rendimenti del portafoglio mediante una asset pricing modello di Fase 2 è semplicemente una regressione e computazionalmente molto semplice in Matlab. Che cosa è più complicato è l'implementazione della fase 1, che richiede di essere molto comodo in Matlab, e ci sono diversi modi per farlo. Se sai come fare una regressione OLS in Matlab, ciò che si dovrebbe concentrarsi su è tutti i tipi di manipolazioni matrice. Implementazione in Matlab portafoglio formazione e ritorna calcolo Per darvi un esempio di come una strategia di trading primitiva potrebbe essere implementato in Matlab, lascia supporre dati di ritorno mensili e un periodo di detenzione uniforme di un mese delle attività n periodi k, dove ho dentro e k in . Assumendo cambiamenti nella composizione del tuo magazzino universo, le dichiarazioni dei matrice X è di dimensioni k volte n. X cominciare x amp punti amp x amp punti amp x vdots amp ddots amp vdots amp ddots amp vdots x amp punti amp x amp punti amp x vdots amp ddots amp vdots amp ddots amp vdots x amp punti amp x amp punti amp x fine, dove i rendimenti sono calcolati come x frac -1. Supponendo che il criterio di selezione è una sorta di magazzino caratteristica che è disponibile con frequenza mensile, si avrà anche una matrice caratteristiche C. È quindi potrebbe scrivere un algoritmo che identifica le voci in C che soddisfano il vostro criterio di selezione (ad esempio, supera una certa soglia ) e sostituire le voci corrispondenti (dove i e t sono gli stessi) di una matrice indicatore i (che è stato inizializzato come una matrice a zero utilizzando la funzione zeri) con quelli. È quindi possibile moltiplicare le voci di I da quelli di matrice ritorna X per ottenere una matrice di R che indica i rendimenti derivanti dalle vostre aziende. È quindi possibile calcolare la media delle voci non-zero per ogni riga di R per ottenere il vettore di rendimenti del portafoglio. Rischio-regolazione e l'identificazione di rendimenti anomali Al punto 2 si confronta questo vettore per i rendimenti normali ottenuti dalla stima di regressione di un asset pricing model, come il modello Fama-Francese. Sottraendo il vettore normale ritorno dalla vostra rendimenti del portafoglio vettore, a determinare se la vostra strategia di trading ha portato ad un rendimento anomalo positivo, che è quello che stai puntando. Raccomandazioni Se siete nuovi a Matlab, io personalmente suggerisco di familiarizzare con esso sufficiente per attuare questa strategia semplicistico prima di rilassarvi alcune delle ipotesi semplificatrici (come periodo e la periodicità uniforme in possesso) e procedere alla implementazioni più sofisticate. Ancora una volta, ciò che vorrei sottolineare è che questo richiede di essere molto confortevole con Matlab e soprattutto i diversi modi per manipolare matrici, che può richiedere un certo tempo. Se non è necessario utilizzare Matlab per il tirocinio e vorrebbe ottenere risultati veloci, si potrebbe fare il passo 1 in Excel, invece, che è noioso, ma pretende molto necessario il (vale la pena) investimento iniziale è necessario fare per Matlab. Per acquisire familiarità con Matlab, sono sicuro che avete già scoperto il estremamente buona documentazione che viene con esso. Questo, per me, è la sola risorsa più preziosa e probabilmente più utile di tutte le risorse in modo più preciso di finanza (con la quale vorrei aspettare fino a quando si ha familiarità con Matlab stesso). Tutti i thats necessari per determinare il rendimento normale è una regressione OLS e una conoscenza rudimentale di modelli di asset pricing. risposto 30 dicembre 14 a 22: 20Testing e analisi di strategie di trading algoritmico in MATLAB (Parte 1) - Introduzione Ciao, il mio nome è Igor Volkov. Mi è stato lo sviluppo di strategie di trading algoritmico dal 2006 e ho lavorato in diversi hedge fund. In questo articolo, vorrei discutere le difficoltà che derivano dal modo di MATLAB strategie di trading sviluppatore durante il test e analisi, nonché per offrire possibili soluzioni. Sono stato con MATLAB per il test delle strategie algoritmo dal 2007 e sono giunto alla conclusione che questo non è solo lo strumento di ricerca più conveniente, ma anche il più potente perché rende possibile utilizzando di modelli statistici ed econometrici complessi, reti neurali, machine learning, filtri digitali, logica fuzzy, ecc con l'aggiunta di cassetta degli attrezzi. Il linguaggio MATLAB è abbastanza semplice e ben documentata, quindi, anche un non-programmatore (come me) può dominarlo. Come tutto è cominciato. Era 2008 (se non sbaglio) quando il primo webinar sul trading algoritmico in MATLAB con Ali Kazaam è stato rilasciato, che copre l'argomento di ottimizzare strategie semplici sulla base di indicatori tecnici, ecc nonostante un codice piuttosto 8220chaotic8221, strumenti erano interessanti sufficiente utilizzare. Hanno servito come punto di partenza per la ricerca e la valorizzazione di un modello di test e analisi che permetta di utilizzare tutta la potenza di cassette e libertà di azioni MATLAB durante la creazione di quelle proprie strategie commerciali, allo stesso tempo consentirebbe di controllare il processo di test e dati ottenuti e la loro successiva analisi avrebbe scelto efficace portafoglio di sistemi di trading affidabili. Successivamente, MathWorks webinar sono stati aggiornati ogni anno e gradualmente introdotto elementi sempre più interessanti. Così, il primo webinar su coppie di negoziazione (arbitraggio statistico) utilizzando l'Econometric Toolbox si è tenuta nel 2010, anche se la casella degli strumenti di test e analisi è rimasto lo stesso. Nel 2013, Trading Toolbox da Mathworks è apparso che ha permesso di connettersi MATLAB per diversi broker per l'esecuzione delle loro applicazioni. Anche se c'erano soluzioni automatiche per l'esecuzione delle operazioni, da quel punto in MATLAB potrebbe essere considerato un sistema per lo sviluppo di strategie di trading con un ciclo completo: dal caricamento dei dati per l'esecuzione di strategie di trading automatico. Perchè dovrebbe Ogni Algotrader reinventare la ruota Tuttavia, Mathworks non ha offerto una soluzione completa per il test e l'analisi delle strategie 8211 quei codici che si poteva uscire di webinar erano gli unici elementi di un test completo del sistema, ed è stato necessario modificarli , personalizzarli, e aggiungerli alla GUI per facilità d'uso. E 'stato molto tempo, ponendo così una domanda: qualunque sia la strategia era, si deve passare attraverso lo stesso processo di test e analisi, che le consentirebbe di essere classificato come stabile e usabile 8211 e allora perché dovrebbe ogni algotrader reinventare la ruota e scrivere hisher proprio codice per corrette strategie di test in MATLAB Così la decisione è stata presa per creare un prodotto che permettesse di eseguire l'intero processo associato al test e analisi di strategie di trading algoritmico utilizzando una semplice e user-friendly interface. MatlabTrading Questo post è di circa quanto è importante utilizzare diversi tipi di metodi di ottimizzazione, come gli algoritmi genetici e parallelizzazione per ottenere risultati più velocemente. Algoritmi Genetici Ottimizzazione Nonostante il fatto che la genetica (evolutiva) principio algoritmo è molto ben spiegato nei webinar MathWorks, negli esempi, tuttavia, viene utilizzato solo per l'ottimizzazione della scelta di un gruppo strategia da un set. Questo è un buon esempio dell'uso di questi algoritmi, tuttavia, accade che vi è la necessità di impostare molte variabili con intervalli significativi per una strategia, non vi ottenere con una iterazione e la parallelizzazione dei processi 8211 calcoli possono richiedere diversi giorni . Certamente, ci sono strategie nella fase finale di ottimizzazione. quando abbiamo quasi sicuramente conosciamo la strategia di trading è successo, possiamo aspettare per diversi giorni come bene o affittare l'intera gruppo - il risultato potrebbe essere la pena. Tuttavia, se abbiamo bisogno di valutare i risultati di una strategia ingombrante e decidere se ne vale la pena spendere il tempo, poi gli algoritmi genetici possono essere perfettamente adatto. Noi forniamo la possibilità di utilizzare tre metodi per ottimizzare la strategia in WFAToolbox: metodo lineare 8211 si tratta di una modalità abituale di smistamento in cui potrete vedere tutti i risultati intermedi (non ottimali). Dà la massima precisione. metodo parallelo 8211 verrà utilizzato tutti i kernel della CPU. Non permette di vedere i risultati intermedi, ma velocizza notevolmente il funzionamento. Dà la massima precisione durante la aumento della velocità di calcolo. metodo genetico 8211 utilizza l'algoritmo di ottimizzazione evolutiva. Permette di vedere i valori non ottimali, ma dà il risultato vicino ai migliori. Il suo non è un metodo molto preciso, ma la sua precisione sufficiente per l'esecuzione iniziale della strategia. Molto veloce. Spesso ci viene chiesto se WFAToolbox - Walk-Forward Analisi Toolbox per MATLAB ha la possibilità di utilizzare la GPU per i calcoli. Sfortunatamente, GPU non è adatto per tutti i compiti e il suo utilizzo è molto specifica. Per usarlo, è necessario regolare la logica e il codice di ogni strategia per il test core grafici. Purtroppo, a causa di tale mancata universalità del metodo non si può usare GPU in WFAToolbox. Continuando Parte 2 della discussione dei problemi e delle soluzioni in test e analisi di strategia di negoziazione algoritmica in MATLAB, vi invito a leggere questo post su problema di indisponibilità di visualizzazione dei processi in soluzioni software per i sistemi moderni test di trading. Visualizzazione di Process Testing Nella mia esperienza di lavoro, spesso mi ha analizzato altre piattaforme popolari per i test strategia di trading. come ad esempio TradeStation. MetaStock. Multicharts ecc e mi ha sempre sorpreso di quanto poco attenzione è stata posta la visualizzazione del processo di test. Il fatto è che, quando noi non vedere i risultati dei valori intermedi, sub-ottimali di parametri ottimizzati, spesso ci buttiamo oro insieme con lo sporco. La questione è a causa di un campionamento eccessivamente ampia, la strategia regola i parametri il modo in cui ci sia vediamo una strategia perfetta che non riesce nella vita reale o vedere uno o due offerte, che sono presumibilmente il migliore perché è stato scelto al momento i dati intervallo in cui il migliore strategia di trading sarebbe buy-and-hold, ma perché sono poi altre strategie necessarie per visualizzazione del trading processo di test di strategia in MATLAB (proposto in webinar) di conseguenza, senza vedere i risultati intermedi, abbiamo bisogno di 171blindly187 modificare i parametri di provare per ottenere i dati migliori o guardarlo in qualche 3D o 4D (il colore è il 4 ° dimensione), come proposto nella webinar. L'analisi dei valori negli spazi N-dimensionali può sicuramente essere un'alternativa, ma ha diverse limitazioni: se ci sono più di 4 dimensioni Quando si vede ciò che i segnali e con quale frequenza vengono visualizzati nella fascia di prezzo, si ha quasi tutto il necessaria rappresentazione visiva della vostra strategia: la frequenza delle operazioni, la loro redditività (curva reddito), la precisione di apertura, la somiglianza con altri valori non ottimali, ecc, che non si può dire per le prestazioni in spazio n-dimensionale in cui tutte le informazioni utili è, infatti, che il valore ottimale è non solo uno, ma vi è una serie di valori subottimali in una o più aree. Mentre l'ottimizzazione di una strategia in WFAToolbox 8211 Cabina Forward Analisi Toolbox per MATLAB174. come viene trovato un nuovo valore ottimale, i segnali di strategia di trading nel periodo di permanenza nel campione e out-of-sample appaiono immediatamente sul grafico, in modo da poter sempre controllare ciò che gamma di opzioni è necessario assegnare, e inoltre è possibile mettere in pausa l'ottimizzazione senza attendere la fine della prova, in quanto è chiaro che qualcosa è andato storto o tutto è fine. Hello, il mio nome è Igor Volkov. Mi è stato lo sviluppo di strategie di trading algoritmico dal 2006 e ho lavorato in diversi hedge fund. In questo articolo, vorrei discutere le difficoltà che derivano dal modo di MATLAB strategie di trading sviluppatore durante il test e analisi, nonché per offrire possibili soluzioni. Sono stato con MATLAB per il test delle strategie algoritmo dal 2007 e sono giunto alla conclusione che questo non è solo lo strumento di ricerca più conveniente, ma anche il più potente perché rende possibile utilizzando di modelli statistici ed econometrici complessi, reti neurali, machine learning, filtri digitali, logica fuzzy, ecc con l'aggiunta di cassetta degli attrezzi. Il linguaggio MATLAB è abbastanza semplice e ben documentata, quindi, anche un non-programmatore (come me) può dominarlo. Come tutto è cominciato. Era 2008 (se non sbaglio) quando il primo webinar sul trading algoritmico in MATLAB con Ali Kazaam è stato rilasciato, che copre l'argomento di ottimizzare strategie semplici sulla base di indicatori tecnici, ecc nonostante un codice piuttosto 8220chaotic8221, strumenti erano interessanti sufficiente utilizzare. Hanno servito come punto di partenza per la ricerca e la valorizzazione di un modello di test e analisi che permetta di utilizzare tutta la potenza di cassette e libertà di azioni MATLAB durante la creazione di quelle proprie strategie commerciali, allo stesso tempo consentirebbe di controllare il processo di test e dati ottenuti e la loro successiva analisi avrebbe scelto efficace portafoglio di sistemi di trading affidabili. Successivamente, MathWorks webinar sono stati aggiornati ogni anno e gradualmente introdotto elementi sempre più interessanti. Così, il primo webinar su coppie di negoziazione (arbitraggio statistico) utilizzando l'Econometric Toolbox si è tenuta nel 2010, anche se la casella degli strumenti di test e analisi è rimasto lo stesso. Nel 2013, Trading Toolbox da Mathworks è apparso che ha permesso di connettersi MATLAB per diversi broker per l'esecuzione delle loro applicazioni. Anche se c'erano soluzioni automatiche per l'esecuzione delle operazioni, da quel punto in MATLAB potrebbe essere considerato un sistema per lo sviluppo di strategie di trading con un ciclo completo: dal caricamento dei dati per l'esecuzione di strategie di trading automatico. Perchè dovrebbe Ogni Algotrader reinventare la ruota Tuttavia, Mathworks non ha offerto una soluzione completa per il test e l'analisi delle strategie 8211 quei codici che si poteva uscire di webinar erano gli unici elementi di un test completo del sistema, ed è stato necessario modificarli , personalizzarli, e aggiungerli alla GUI per facilità d'uso. E 'stato molto tempo, ponendo così una domanda: qualunque sia la strategia era, si deve passare attraverso lo stesso processo di test e analisi, che le consentirebbe di essere classificato come stabile e usabile 8211 e allora perché dovrebbe ogni algotrader reinventare la ruota e scrivere hisher proprio codice per corrette strategie di test in MATLAB Così la decisione è stata presa per creare un prodotto che permettesse di eseguire l'intero processo associato al test e analisi di strategie di trading algoritmico utilizzando un'interfaccia semplice e user-friendly. Prima di tutto, vorrei rispondere alle seguenti domande: Che cosa è successo con il blog 1. Jev Kuznetsov non è il proprietario più Il blog è stato acquistato dal nostro amico, Jev Kuznetsov, che si è trasferito al suo altro blog tradingwithpython. blogspot. Ha concluso che Python è meglio di MATLAB per la negoziazione, che ho considerato di essere falsa. MATLAB rimane uno dei migliori software al mondo per fini di trading algoritmico IMHO (ho alcuni fatti su questo, però per la discussione futura). 2. Abbiamo cambiato il marchio Da questo momento il blog sarà chiamato MatlabTrading, che è molto più comprensibile per quanto riguarda gli argomenti che comprenderà. Inoltre, il nome di dominio è stato cambiato in matlabtrading anziché l'iniziale MATLAB-trading. blogspot. anche se il vecchio dominio sta ancora lavorando reindirizzando dal nome di dominio primario. Cosa accadrà ai blog 1. Altri post e articoli Speriamo di portare la vita a questo blog con la pubblicazione di contenuti rilevanti una o due volte alla settimana. Nei primi mesi, pubblicheremo principalmente quegli articoli e video che già abbiamo per rendere più facile per i nostri cari lettori a cercare informazioni su una risorsa e hanno reticolare su di loro. Poi abbiamo in programma di scrivere post su aspetti pratici di trading algoritmico in MATLAB. Come creare moderne strategie di trading automatico come ad esempio: statistica coppie di arbitraggio di trading significa strategie di trading neutro di mercato inversione basati su filtro bande di Bollinger cointegrazione Kalman ecc per materie prime, azioni e Forex. Trend seguenti strategie con Jurik Moving strategie media e altri sofisticati filtri digitali di previsione con la macchina di apprendimento (Support Vector Machines) e altri metodi di creazione di solide strategie di trading utilizzando Visual gestione test denaro passi in avanti per reinvestire il capitale (la scienza su come ottenere 1M da 10K in un anno con il massimo, ma i premi di rischio e sudore stima). Forse dopo aver letto questo youve pensato che questo sarà un altro articolo muto per quei poveri ragazzi che cercano come diventare ricco attraverso la negoziazione in forex e tutto il resto. Beh, questo è totalmente falso Stiamo lavorando in MATLAB, e la maggioranza di noi sono scienziati ed esperti in questo aspetto quindi tutto è grave. 2. Più interattività sarò felice se tutti noi possiamo raccontare attraverso i commenti a post. Iscriviti alla nostra news per ottenere avvisati sui nuovi messaggi e gli eventi. In seguito, abbiamo in programma di rendere Google Hangouts webinar. Non perdete, cliccare sul pulsante Follow nell'angolo in alto a destra di unirsi alla nostra comunità. Cosa ti piacerebbe leggere nei nostri post sul blog Quali argomenti si può suggerire Si prega di scrivere qui nei commenti. Nel mio post precedente sono arrivato a una conclusione che prossimo al vicino coppie di trading non è così redditizio oggi come ha usato per essere prima del 2010. Un lettore ha sottolineato che potrebbe essere che la natura mean-ritornare degli spread appena spostata verso tempi più brevi . Mi capita di condividere la stessa idea, così ho deciso di testare questa ipotesi. Questa volta una sola coppia è testato: 100 SPY vs -80 IWM. Backtest viene eseguita su 30 secondi di dati bar 11,2011-12,2012. Le regole sono semplici e simili a strategia che ho provato nel post precedente: se bar ritorno della coppia superiore a 1 su z-score, il commercio al bar accanto. Il risultato sembra molto carina: mi considero una prova sufficiente che ci sia ancora un sacco di ritorno alla media, il 30-seconda scala. Se si pensa che questo grafico è troppo bello per essere vero, che è purtroppo davvero il caso. Nessun costi di transazione o di bid-ask spread sono state prese in considerazione. In effetti, vorrei dubito che ci sarebbe stato alcun profitto sinistra dopo aver sottratto tutti i costi di negoziazione. Tuttavia, questo tipo di grafici è la carota penzoloni davanti al mio naso, mantenendo me andare. Cattive notizie a tutti, secondo i miei calcoli, (che spero vivamente non sono corrette) il commercio di coppie classiche è morto. Alcune persone sarebbero fortemente in disaccordo, ma qui è quello che ho trovato: consente di dare una strategia ipotetica che funziona su un paniere di ETF: SPY, XLY, XLE, XLF, XLI, XLB, XLK, IWM, QQQ, DIA Da questi ETF 90 unici coppie possono essere fatte. Ogni coppia è costruito come uno spread di mercato neutrale. regole Strategia: Ogni giorno, per ogni coppia, calcolare z-score sulla base di deviazione standard di 25 giorni. Se soglia di punteggio z gt, andare short, vicino giorno dopo se Z-score lt soglia dello andare lungo, fine giorno successivo per tenere tutto semplice, il calcolo viene fatto senza alcun gestione del capitale (si può avere un massimo di 90 coppie in portafoglio ogni giorno). I costi di transazione non vengono prese in considerazione sia. Per dirla semplicemente, questa strategia tiene traccia di un giorno significa ritornare natura degli spread neutrali di mercato. Ecco i risultati simulati per diverse soglie: Non importa quale sia la soglia viene utilizzata, la strategia è altamente redditizio nel 2008, piuttosto buona throuh 2009 e completamente privi di valore da inizio 2010. Questo non è la prima volta che mi sono imbattuto in questo cambiamento di mean-reverting comportamento in ETF. Non importa ciò che Ive ha provato, non ho avuto la fortuna di trovare una strategia di trading le coppie che avrebbe funzionato sugli ETF passate 2010. La mia conclusione è che questi tipi di modelli semplici stat-ARB appena non tagliare più.

No comments:

Post a Comment