Monday 25 September 2017

Semplice Mobile Media Backtesting


Semplici medie mobili - Trading backtests Cosa si muove parametri medi sono i migliori Questo sito ha un oceano di movimento backtests medi che ho condotto per il DAX, SP500 e anche USDEU (Forex). Questi test sono stati fatti utilizzando diverse strategie di segnale: simpleexponential e di crossover varianti e diversi indici per un periodo di tempo di 1000 giorni di negoziazione. A differenza di altri siti web, ho provato tutti i valori di giorno-window media mobile da 1 - 1000 giorni, per le strategie di cross-over anche in combinazione Questi dati sono anche unqiue come ho cercato di eseguire test realistici, simulando la diffusione buysell e tasse per il confronto con una strategia (buy in attesa) di riferimento. Un veloce reazione finestra di valore sembra buono in teoria, e con un semplice test. Ma la diffusione, tasse e le imposte distruggerà tutte le prestazioni in applicazioni pratiche. Ecco perché questi test realistici sono così preziosi. Spero che questo sito può aiutare con i vostri commerci, godere itOverview: questo sito gratuito educativo ha lo scopo di permettere di confrontare popolari strategie di trading tecnica scientificamente possibile attraverso backtesting. In generale, è piuttosto difficile da battere costantemente il mercato e si dovrebbe essere scettici di tutto ciò che ti dice il contrario. Questo sito permette di backtest alcune strategie tecniche comuni per vedere come avrebbero eseguito contro il mercato e consente all'utente di filtrare i titoli che soddisfano i criteri di trading. Le strategie che backtest bene, naturalmente, non garantiscono il successo andando avanti, ma potrebbero avere una maggiore probabilità di un buon rendimento. Backtesting consente inoltre di vedere le condizioni di mercato in cui una certa strategia funzionerà bene. Per esempio, se si è sicuri del mercato sarà gamma limitata di andare avanti, è possibile scoprire quali strategie funzionano meglio in questo tipo di mercato. Questo viene fatto backtesting su tempi storici che erano gamma legato e vedere quali strategie sono i migliori. Backtesting aiuta anche a vedere quale strategia parametri sono più robusti attraverso diversi periodi di tempo. Ad esempio, fa un 10 stop-loss sovraperformare a 5 stop-loss 9 periodi storici su 10 Così, backtesting in grado di fornire preziosi spunti di trading, anche se non può garantire il futuro. Alcune cose interessanti che si potrebbe scoprire: La combinazione di negoziazione attiva e commissioni possono spazzare fuori anche se si dispone di una buona percentuale di vincita mestieri davvero stop ravvicinati finali possono seriamente danneggiare la vostra redditività a lungo termine e non riducono prelievo tanto quanto ci si potrebbe aspettare strategie che si pensava sarebbe bene che costantemente sovraperformare il mercato Indicazioni (single della Backtesting): Selezionare il titolo che si desidera backtest vostra strategia tecnica su. A partire Capitale: Somma di denaro che si avvia con Stoploss: punto in cui si vuole uscire da una posizione in movimento contro di voi. Una sosta regolare significa che si otterrà dalla vostra posizione se il titolo scende al di sotto di una determinata percentuale in cui è stato acquistato. Trailing stop: Diciamo che acquista un titolo a 10 e mettere in un arresto 10 finale. Se il titolo scende 10 senza mai andare più in alto, si vendono a 9. Ma se lo stock va fino a 15 poi giù 10 a 13,5, si vendono a 13,5 e il blocco in alcune del guadagno. Obiettivo: vendere quando il magazzino raggiunge una certa percentuale di guadagno (può spegnere selezionando Dont Usa Target) Inizio DateEnd Data: selezionare le date storiche tra le quali si desidera testare la strategia. Segnali: Segnali coinvolgono gli incroci o le relazioni tra prezzo e indicatori tecnici. Per esempio, la croce d'oro, comprare quando la media mobile semplice 50 giorni (SMA) attraversa sopra il giorno di SMA 200 e vendere quando i 50 giorni incrocia al di sotto del 200 giorno (oltre la morte). I seguenti link spiegano alcuni indicatori tecnici popolari: Get TradesGraph: Get compravendite letteralmente vi mostrerà i mestieri che avrebbe fatto se si è andato indietro nel tempo con un riassunto delle prestazioni incluso. I test statistici: test per vedere se il ritorno medio giornaliero della strategia è la stessa come il ritorno medio giornaliero del SampP 500 o lo stesso come il ritorno medio giornaliero di acquisto e tenere nel periodo di tempo. Vogliamo sapere quanta fiducia possiamo essere a rifiutare che i due ritorni sono gli stessi. Più alto è la fiducia più che si può essere che la vostra strategia è in realtà betterworse del SampP 500 o buy and hold. Il grafico traccia il valore del portafoglio nel tempo con una sintesi incluso di prestazioni. Indicazioni (PortTester Beta): Questo è per backtesting una strategia che si applica al vostro portafoglio come le scorte raggiungono il buy tecnica e vendere i segnali. Nella prima casella di testo, inserire i ticker per il paniere di titoli che si desidera backtest la vostra strategia tecnica su. Inserisci ogni ticker separate da uno spazio. Azioni attualmente disponibili includono le scorte 30 Dow, AA AXP BA BAC CSCO CAT CVX DD DIS GE HD HPQ IBM INTC JNJ JPM KFT KO MCD MMM MRK PFE MSFT PG T TRV UTX VZ WMT XOM. Per includere tutti i 30 nel backtest, basta digitare DJIA, che è l'impostazione predefinita. Obiettivo numero di posizioni aperte: Questo è il numero di azioni che si desidera avere una posizione e non di più. Ad esempio, diciamo che si desidera raggiungere 2 posizioni aperte. Quando il backtester trova un segnale di acquisto in una delle scorte si mette nel paniere, dire GE, esso assumerà GE è stato acquistato. Si cercherà ora 1 a magazzino per comprare quando c'è un segnale di acquisto, dire BAC. Si dispone ora di un portafoglio di 2 posizioni aperte (GE e BAC) e l'backtester non comprare più fino a quando un segnale di vendita vende una delle scorte. Un portafoglio diversificato dovrebbe probabilmente avere 10 o più materiali, ma questo richiede un sacco di potenza di calcolo di backtest. Così, un piccolo portafoglio, come il default di 5 posizioni aperte sarà sufficiente per ottenere un senso di una performance strategys. Da segnalare, per gli investitori con una piccola quantità di capitale dicono 10.000, è costoso per il commercio un gran numero di posizioni con 20 commissioni per compravendite di andata e ritorno. Gli ETF sono un modo economico per ottenere diversificato. A partire Capitale: quantità di denaro che inizia con Trading Commission: importo da pagare TDAmeritrade, Sogo, ScottTrade, ecc al commercio uno stock Posizione Dimensionamento: Questo è come si decide di commettere una certa quantità di denaro per ogni stock nel vostro portafoglio. Attualmente una sola opzione (Pari Allocation Cash) è disponibile. Questo significa che se ho 10.000 e voglio entrare 2 posizioni, io metterò 5000 in ogni meno commissioni. In altre parole, il denaro contante disponibile sarà equamente divisa verso nuove posizioni fino a raggiungere il numero di destinazione n di posizioni aperte. Altre opzioni a venire saranno pari numero di azioni, e le regole di posizione dimensionamento volatilità base. Stoploss: punto in cui si vuole uscire da una posizione in movimento contro di voi. Diciamo che acquista un titolo a 10 e mettere in un arresto 10 finale. Se il titolo scende 10 senza mai andare più in alto, si vendono a 9. Ma se lo stock va fino a 15 poi giù 10 a 13,5, si vendono a 13,5 e il blocco in alcune del guadagno. Inizia DateEnd Data: selezionare le date storiche tra le quali si desidera testare la strategia. Il backtester avrà inizio alla data di inizio di dati storici e cercherà attraverso i titoli selezionati finché non multe un segnale di acquisto. Se non segnali di acquisto si trovano il primo giorno, il backtester si sposta al giorno successivo e cerca attraverso tutte le azioni del paniere fino a quando un segnale di acquisto viene trovato in cui lo stock si presume essere acquistata al prezzo di chiusura aggiustato per spaccature e dividendi. Non appena un magazzino viene acquistato, il backtester cercherà di vendere tale azione quando un segnale di vendita viene. Si continua a cercare di comprare azioni fino al raggiungimento del numero di destinazione di posizioni aperte. Allo stesso tempo, si vendono eventuali posizioni esistenti se si verifica un segnale di vendita. Il valore del portafoglio è calcolato tutti i giorni fino alla data di fine. Segnali: Segnali coinvolgono gli incroci o le relazioni tra prezzo e indicatori tecnici. Per esempio, la croce d'oro, comprare quando la media mobile semplice 50 giorni (SMA) attraversa sopra il giorno di SMA 200 e vendere quando i 50 giorni incrocia al di sotto del 200 giorno (oltre la morte). Ottenere TradesGraph: Get compravendite letteralmente vi mostrerà i mestieri che avrebbe fatto se si è andato indietro nel tempo con un riassunto delle prestazioni incluso. Il grafico traccia il valore del portafoglio nel tempo con una sintesi incluso di prestazioni. Disclaimer: stockbacktest non appoggiare o raccomandare delle strategie o titoli su questo sito. Il contenuto in questo sito è a scopo informativo e non deve essere preso come un consiglio di investimento. stockbacktest non è da ritenersi responsabile per eventuali errori in questo sito o di azioni intraprese sulla base di questi siti content. Backtesting una media mobile Crossover in Python con i panda nel precedente articolo sulla ricerca Backtesting ambienti in Python con i panda abbiamo creato una ricerca orientata agli oggetti ambiente backtesting based e testato su una strategia di previsione casuale. In questo articolo andremo a fare uso della macchina abbiamo introdotto per effettuare ricerche su una strategia vera e propria, vale a dire il Moving Average Crossover su AAPL. Moving Average Crossover Strategia The Moving Average Crossover tecnica è una strategia estremamente noto slancio semplicistico. Si è spesso considerato l'esempio Ciao Mondo per la negoziazione quantitativa. La strategia, come indicato qui è long-only. vengono creati due semplici separato in movimento filtri medi, con diversi periodi di lookback, di una particolare serie di tempo. I segnali di acquisto del bene si verificano quando la media mobile lookback più breve supera la più lookback media mobile. Se la media più successivamente supera la media più breve, il bene viene venduto indietro. La strategia funziona bene quando una serie di tempo entra in un periodo di forte tendenza e poi inverte lentamente la tendenza. Per questo esempio, ho scelto di Apple, Inc. (AAPL), come le serie storiche, con una breve lookback di 100 giorni e una lunga lookback di 400 giorni. Questo è l'esempio fornito dalla libreria trading algoritmico zipline. Quindi se vogliamo implementare la nostra backtester dobbiamo garantire che corrisponda i risultati in zipline, come mezzo di base della convalida. Attuazione assicurarsi di seguire il tutorial precedente qui. che descrive come la gerarchia degli oggetti iniziale per l'backtester è costruito, in caso contrario il codice qui sotto non funziona. Per questa particolare applicazione ho usato le seguenti librerie: L'attuazione di macross. py richiede backtest. py dal tutorial precedente. Il primo passo è quello di importare i moduli e gli oggetti necessari: Come nel precedente tutorial andremo a creare una sottoclasse della classe di base astratta strategia per produrre MovingAverageCrossStrategy. che contiene tutti i dettagli su come generare i segnali quando le medie mobili di AAPL attraversare vicenda. L'oggetto richiede una shortwindow e longwindow su cui operare. I valori sono stati impostati per default di 100 giorni e 400 giorni, rispettivamente, che sono gli stessi parametri utilizzati nell'esempio principale della zipline. Le medie mobili sono creati usando i panda funzione rollingmean sul prezzo di chiusura barsClose del titolo AAPL. Una volta che i singoli medie mobili sono stati costruiti, la serie segnale viene generato impostando il colum pari a 1,0 quando la media mobile corta è maggiore della media a lungo in movimento o 0.0 altrimenti. Da questo gli ordini posizioni possono essere generati per rappresentare segnali di trading. Il MarketOnClosePortfolio è una sottoclasse di portafoglio. che si trova in backtest. py. È quasi identica alla realizzazione descritta nel tutorial precedente, con l'eccezione che le operazioni sono ora effettuate su base Close-to-Close, piuttosto che una base Open-to-Open. Per i dettagli su come l'oggetto del portafoglio è definito, vedere il tutorial precedente. Ive ha lasciato il codice per completezza e per mantenere questo tutorial autosufficiente: Ora che sono state definite le classi MovingAverageCrossStrategy e MarketOnClosePortfolio, una funzione principale sarà chiamata a legare tutte le funzionalità insieme. Inoltre le prestazioni della strategia sarà esaminata tramite un grafico della curva di equità. I download degli oggetti panda DataReader OHLCV prezzi di AAPL magazzino per il periodo 1 gennaio 1990 al 1 Gennaio 2002, a quel punto il dataframe segnali è stato creato per generare i segnali long-only. Successivamente il portafoglio è generato con una base di 100.000 dollari di capitale iniziale e il rendimento sono calcolati sulla curva di equità. Il passo finale è quello di utilizzare matplotlib per tracciare un diagramma a due cifre di entrambi i prezzi AAPL, sovrapposto con le medie mobili e segnali buysell, così come la curva di equità con gli stessi segnali buysell. Il codice tracciato è preso (e modificato) dalla esempio di implementazione zipline. L'uscita grafica del codice è il seguente. Ho fatto uso del comando Incolla IPython di mettere questo direttamente nella console IPython mentre in Ubuntu, in modo che l'output grafico è rimasto in vista. I upticks rosa rappresentano l'acquisto del magazzino, mentre i downticks neri rappresentano la vendita indietro: Come si può vedere la strategia perde denaro nel corso del periodo, con cinque di andata e ritorno dalle compravendite. Questo non è sorprendente dato il comportamento del AAPL nel corso del periodo, che era una leggera tendenza al ribasso, seguito da un significativo aumento a partire dal 1998. Il periodo lookback dei mobili segnali media è piuttosto grande e questo influenzato il profitto del commercio finale , che altrimenti potrebbe aver fatto la strategia redditizia. Negli articoli successivi creeremo un mezzo più sofisticati di analisi delle prestazioni, oltre a descrivere come ottimizzare i periodi lookback del singolo movimento segnali medi. Appena iniziato con Quantitative Strategy TradingMoving media Crossover In questa pagina Id piace porterà attraverso un confronto tra un paio di muoversi sistemi medi di crossover. Uno usa due semplici medie mobili (SMA) e l'altro utilizza tre SMAS. Hai mai pensato di usare un sistema di media mobile a doppio al commercio Se stai pensando di utilizzare doppio movimento crossover medi sia per entrare e uscire mestieri, si potrebbe prendere in considerazione la sperimentazione di un sistema di tripla MA troppo. Confrontarli fianco a fianco su diversi titoli o altri strumenti di negoziazione, nonché diversi periodi di tempo o intervalli di tempo. Prova diversi mobili periodi medi, ma attenzione a non fare affidamento su risultati ottimizzati o curva-montaggio. Ma dal momento che alcuni dei miei visitatori non so di cosa si tratta, consente di andare oltre alcune basi prima. Che cosa è un media mobile CROSSOVER L'immagine a destra è un esempio di un doppio movimento di crossover media. che avrebbe avviato un segnale di acquisto (incrocio rialzista). Una media mobile più veloce (8 SMA - blu) incrocia sopra la media più lenta (13 SMA - giallo). Si noti che il segnale non è confermata fino alla chiusura della barra. Questo significa che l'ingresso effettivo (in trading dal vivo) sarebbe da qualche parte all'interno della barra successiva. Molto probabilmente vicino alla aperto di quel bar. Se non avete ancora fatto alcun test a ritroso, questo tipo di sistema semplice sarà probabilmente uno dei primi che il youll di prova, in quanto richiede molto poco competenze di programmazione. In ogni caso, se si va su questa strada, youll trovare che il prezzo del prossimo bar dopo la croce di apertura, è dove il software di backtesting (a seconda delle impostazioni) metterà i mestieri simulati. Che è ragionevole, perché se sono stati effettivamente negoziazione utilizzando software di trading automatizzato. questa è una buona approssimazione di dove il vostro commercio avrebbe avuto luogo. Con un tipico sistema di arresto d'inversione, questo lungo l'ingresso non sarebbe uscito fino al blu, più veloce MA ha attraversato sotto la gialla, MA più lento. Questo incrocio ribassista MA non solo esce dal commercio, ma avvia un breve scambio nella direzione opposta pure. Così, con i sistemi di crossover media mobile dual, il commerciante è sempre in un commercio, lungo o corto. Diamo un'occhiata a un esempio intraday nel corso di una giornata. DOPPIO MOVIMENTO CROSSOVER MEDIA anche utilizzare un grafico a 5 minuti di spia con due semplici medie mobili per il primo esempio: Veloce (8 SMA - verde) e Lento (13 SMA - giallo). Ho scelto questo giorno particolare, perché volevo illustrare ciò che è molto tipico per praticamente qualsiasi strategia di crossover media mobile. Il primo commercio a lungo dopo le 11:00 va molto bene e in realtà cattura una buona entrata pullback. L'uscita intorno alle 12:45 è redditizio. Ma, voglio Id come di osservare è l'azione dei prezzi mosso tra 12:00-03:00. Questo è dove i sistemi doppi MA può davvero macinare i profitti verso il basso. Il MAS appena whipsaw avanti e indietro causando tre sconfitte di fila, probabilmente evaporando i profitti dal primo scambio. Se una persona é scambiata questo metodo in questo giorno, per fortuna sicuro che sia dello visto uno più commerciale vincente decente alle 2:30. La buona parte di questo sistema viene visualizzato sul commercio prima e l'ultima del commercio. Mentre si muove crossover medi falliscono miseramente durante mosso l'azione dei prezzi, funzionano molto bene durante trend azione dei prezzi. Se backtest questi semplice sosta e sistemi di invertire, e ispezionare uno che esce con un utile, youll più probabile trovare che la vittoria è inferiore a 50, ma il vincitore media sarà più grande della media perdente. Ecco perché lo spostamento sistemi medi di crossover sono essenzialmente sistemi di trading di tendenza. E, sistemi di negoziazione tendenza hanno quasi sempre questa caratteristica di una piccola percentuale di vincitori e un buon rapporto ave. win ave. loss. Nelle tabelle sottostanti L lungo, breve e Ex Exit. TRIPLE media mobile CROSSOVER Finora la discussione è centrata intorno a un sistema di arresto di tipo inverso, per cui un segnale di un'uscita, produce anche un commercio nella direzione opposta. Ma se si introduce una terza media mobile al sistema, ci può essere un periodo di neutralità. In altre parole, nessun commercio avviene - sei in contanti. Per questo esempio, sono stati intenzione di utilizzare un grafico a tre minuti e tre semplici medie mobili: 4 sma, 10 sma e 50 sma. Le regole sono molto semplici. Se la linea lenta (50 SMA) è in aumento, e la linea veloce (4 SMA) incrocia sopra la linea mediana (10 SMA), vi è un segnale di acquisto. Il segnale di uscita viene quando la linea veloce incrocia al di sotto della linea di mezzo. Le regole sono il contrario per le voci brevi. La sua facile da vedere, che questo sistema è simile a prendere i commerci fuori la tendenza di un lasso di tempo maggiore. Un'alternativa a questo sistema, sarebbe di prendere solo le voci lunghe, quando entrambe le medie veloci e medie in movimento sono al di sopra della SMA lenta. Essere consapevoli del fatto che quando il vostro fare con tre gradi di libertà (3 variabili), anziché due come nell'esempio precedente, si stanno facendo il sistema più complesso e quindi la creazione di molte combinazioni più possibile testare. Naturalmente, software backtesting rende questo un gioco da ragazzi, ma ricordate che filtri l'aggiunta e la complessità doesnt sempre rendono un sistema migliore. Frequentemente, un sistema più semplice può essere più robusto sotto test. Un esempio è qui sotto. Se siete interessati a medie mobili, si potrebbe anche voler controllare la mia pagina su come usare medie mobili come un trailing stop.

No comments:

Post a Comment