Monday 2 October 2017

Fineco Più Giorni Di Trading Forex


Forex Trading Diary 6 - Multi-Day Trading e rappresentazione grafica dei risultati È stato un po 'che il mio ultimo aggiornamento Forex Trading Diary. Ive stato occupato a lavorare sul nuovo QuantStart Jobs Consiglio e così Ive non ha avuto così tanto tempo come al solito per lavorare su QSForex. anche se ho fatto qualche progresso In particolare sono stato in grado di aggiungere alcune nuove funzionalità, tra cui: Documentazione - Ive ora ha creato una sottosezione QSForex sul sito, che comprende tutte le voci del Trading Forex Diario e la documentazione per QSForex. In particolare, esso include istruzioni dettagliate per l'installazione e una guida per l'utilizzo sia per backtesting e trading dal vivo. Simulata Tick Data Generation - Dal momento che è difficile per scaricare i dati forex tick in massa (o almeno lo è stato da alcuni fornitori che uso io) ho deciso che sarebbe stato più semplice per generare semplicemente alcuni dati tick casuali per testare il sistema. Multi-Day Backtesting - una richiesta di funzionalità di lunga data in QSForex è la capacità di backtest su più giorni di dati tick. Nella versione più recente QSForex ora supporta sia multi-giorno e multi-coppia di backtesting, rendendo sostanzialmente più utile. Tracciare risultati dei test retrospettivi - Mentre l'uscita della console è utile, niente è meglio di essere in grado di visualizzare una curva di equità o di drawdown storico. Ive ha fatto uso della biblioteca Seaborn per tracciare i vari grafici delle prestazioni. In questo articolo Ill descrivere tutte le nuove funzionalità in dettaglio di seguito. Se non avete potuto seguire la serie fino ad oggi si può andare alla sezione QSForex al fine di recuperare il ritardo su voci precedenti. Simulata Tick dati Script Una caratteristica molto importante richiesto per QSForex è stata la capacità di backtest su più giorni. In precedenza il sistema supportato solo backtesting tramite un unico file. Questa non era una soluzione scalabile come tale file deve essere letto in memoria e, successivamente, in una Panda dataframe. Mentre i file di dati tick prodotte non sono enormi (circa 3.5Mb ciascuno), che si sommano rapidamente se consideriamo più coppie per periodi di mesi o più. Per iniziare a creare una capacità multi-daymulti file ho iniziato cercando di scaricare altri file dal feed tick storica Dukascopy. Purtroppo, mi sono imbattuto in alcuni problemi e non ero in grado di scaricare i file necessari al fine di testare il sistema. Dal momento che non ero troppo si sono dedicati circa la serie tempo reale se stessi, ho sentito che sarebbe stato più semplice scrivere uno script per generare i dati forex simulati me stesso. Ho messo questo script nel file scriptsgeneratesimulatedpair. py. Il codice attuale può essere trovato qui. L'idea di base dello script è quello di generare un elenco di timestamp distribuiti in modo casuale, ciascuna in possesso di entrambi i valori bidask ea valori di volume bidask. Il differenziale tra l'offerta e la domanda è costante, mentre il bidask valori stessi sono generati come una passeggiata casuale. Dal momento che I wont in realtà mai essere testando tutte le strategie reali su tali dati non ero troppo preoccupato per le sue proprietà statistiche o dei suoi valori assoluti in relazione alle coppie di valute forex reale. Fino a quando aveva il formato corretto, e lunghezza approssimativa, ho potuto usarlo per testare il sistema di backtesting più giorni. Lo script è attualmente codificato per generare i dati forex per tutto il mese di gennaio 2014. Si utilizza la libreria Python calendario al fine di accertare giorni (anche se io ho mai escluso ancora le vacanze) e quindi genera una serie di file di forma BBBQQQYYYYMMDD. csv . dove BBBQQQ sarà la coppia di valute specificato (ad esempio GBPUSD) e YYYYMMDD è la data specificata (ad esempio 20.140.112). Questi file vengono inseriti nella directory CSVDATADIR, che è specificato nel settings. py nella radice dell'applicazione. Al fine di generare i dati il ​​seguente comando deve essere eseguito, dove BBBQQQ deve essere sostituito con il particolare nome della valuta di interesse, ad esempio, GBPUSD: Il file richiederà modifiche al fine di generare più mesi o anni di dati. Ogni file tick giornaliero è dell'ordine di 3.2Mb dimensioni. In futuro sarò di modificare questo script per generare più mesi o anni di dati sulla base di un elenco di coppie di valute a condizione, piuttosto che i valori essere hardcoded. Tuttavia, per il momento, questo dovrebbe aiutare a iniziare. Si prega di notare che il formato che corrisponde esattamente ai dati storici tick Dukascopy, che è il set di dati che sono attualmente in uso. Multi-Day backtesting attuati in base a direttamente dalla generazione dei dati tick simulato è l'implementazione di più giorni backtesting. Mentre il mio piano a lungo termine è quello di utilizzare un più robusto sistema di storage storico come PyTables con HDF5. per il momento sto andando a fare uso di un insieme di file CSV, un file al giorno per coppia di valute. Questa è una soluzione scalabile come il numero di giorni aumenta. La natura event-driven del sistema richiede solo mai necessitano di N file in memoria in una sola volta, dove N è il numero di coppie di valute essere negoziati in un particolare giorno. L'idea di base del sistema è per il HistoricCSVPriceHandler corrente di continuare ad utilizzare il metodo streamnexttick, ma con una modifica per tenere conto di diversi giorni di dati tramite caricamento ciascun giorno di dati in modo sequenziale. L'implementazione corrente esce dal backtest al ricevimento della deroga StopIteration lanciata dalla successiva chiamata (..) per self. allpairs come mostrato in questo pseudocodice frammento: Nella nuova implementazione, questo frammento di codice viene modificato al seguente: In questo frammento, quando StopIteration è sollevato, il codice controlla il risultato di self. updatecsvforday (). Se il risultato è True backtest continua (su self. curdatepairs. Che avrebbero potuto essere modificati per la successiva dei dati giorni). Se il risultato è False. backtest finisce. Questo approccio è molto efficiente della memoria, come solo una particolare giorni vale la pena di dati vengono caricati in qualsiasi punto. Questo significa che siamo in grado potenzialmente svolgere mesi di backtesting e sono limitate solo dalla velocità di elaborazione della CPU e la quantità di dati possiamo generare o acquisire. Ho aggiornato la documentazione per riflettere il fatto che il sistema attende ora più giorni di dati in un formato particolare, in una particolare directory che deve essere precisato. Tracciare risultati dei test retrospettivi con Seaborn Biblioteca Una backtest è relativamente inutile se non possiamo visualizziamo le prestazioni della strategia nel corso del tempo. Mentre il sistema è stato in gran parte basato su console fino ad oggi, ho iniziato la transizione verso una Graphical User Interface (GUI) con questa release. In particolare, ho creato il solito tre riquadro di grafici che spesso accompagnano le metriche di performance per i sistemi di trading quantitative, vale a dire la curva di equità, i rendimenti profilo e la curva di prelievo. Tutti e tre sono calcolati per ogni tick e sono uscita in un file chiamato equity. csv nel OUTPUTRESULTSDIR trovata in settings. py. Al fine di visualizzare i dati ci avvaliamo di una libreria chiamata Seaborn. che produce la pubblicazione di qualità (sì, REALE pubblicazione-qualità) la grafica che sembrano sostanzialmente migliore rispetto ai grafici predefiniti prodotti da Matplotlib. La grafica sembrano molto vicini a quelli prodotti dalla ggplot2 pacchetto R. Inoltre Seaborn utilizza effettivamente Matplotlib sotto, in modo da poter ancora utilizzare l'API Matplotlib. Al fine di consentire l'uscita Ive scritto la sceneggiatura output. py che vive nella directory backtest. L'elenco per lo script è il seguente: Come si può vedere l'importazione di script Seaborn e apre il file equity. csv come Pandas dataframe, poi semplicemente crea tre sottotrame, uno ciascuno per la curva di equità, resi e prelievo. Si noti che il grafico prelievo in sé è in realtà calcolato da una funzione di supporto che vive in performanceperformance. py. che si chiama dalla classe portafoglio alla fine di un backtest. Un esempio di output per la strategia MovingAverageCrossStrategy incluso, su un insieme casuale di dati GBPUSD per il mese di gennaio 2014, è data come segue: In particolare, si possono vedere le sezioni piatte della curva equità nei fine settimana in cui non ci sono dati è presente (almeno, per questo insieme di dati simulati). Inoltre si può vedere che la strategia perde semplicemente il denaro in un modo piuttosto prevedibile in questa simulato casualmente insieme di dati. Questo è un buon test del sistema. Stiamo semplicemente cercando di seguire una tendenza su una serie temporale generata in modo casuale. Le perdite si verificano a causa della diffusione fissato introdotta nel processo di simulazione. Questo rende abbondantemente chiaro che se vogliamo realizzare un profitto consistente in alto forex trading frequenza avremo bisogno di un vantaggio quantificabile specifico che genera rendimenti positivi al di là dei costi di transazione, come la diffusione e lo slittamento. Avremo molto altro da dire su questo importantissimo punto nelle successive voci del Trading Forex Diario. Passi successivi correzione di calcoli di posizione Ive ha recentemente avuto un sacco di estremamente utile la corrispondenza con gli utenti QSForex attraverso i commenti Disqus e la pagina Problemi QSForex per quanto riguarda la correttezza dei calcoli all'interno della classe di posizione. Alcuni hanno notato che i calcoli non possono essere mirroring esattamente come OANDA (il broker che viene utilizzato per il sistema trading. py) si calcola compravendite cross currency. Quindi, uno dei più importanti passi successivo è quello di fare effettivamente e testare queste modifiche suggerite in position. py e anche aggiornare i test di unità che vivono in positiontest. py. Questo avrà un effetto a catena con portfolio. py e anche portfoliotest. py. Performance Measurement Mentre ora abbiamo un set base di indicatori di performance visive attraverso la curva di equità, restituisce il profilo e drawdown serie, abbiamo bisogno di misure di performance più quantificati. In particolare avremo bisogno di metriche livello di strategia, compresi i rapporti riskreward comuni come l'indice di Sharpe, Information Ratio e Sortino Ratio. Ci sarà anche bisogno di drawdown statistiche, tra cui la distribuzione dei prelievi, nonché statistiche descrittive come la perdita del max drawdown. Altri parametri utili includono il tasso di crescita composto annuo (CAGR) e il rendimento totale. A livello tradeposition che vogliamo vedere metriche quali avg profitloss, profitloss max, rapporto di profitto e il rapporto winloss. Dal momento che abbiamo costruito la classe posizione come parte fondamentale del software fin dall'inizio, che non dovrebbe essere troppo problematico per generare questi parametri tramite alcuni metodi aggiuntivi. Maggiori informazioni su questo nella prossima entrata, tuttavia appena iniziato con Quantitative TradingScalping, trading intraday e più giorni o di Posizione: Quale conviene sul Forex Chi mi segue sa Che sul Forex prediligo il intraday di trading SIA allo scalping Che al Trading di Posizione o più giorni. Cerco sempre Una via di mezzo per non ritrovarmi con delle Perdite eccessive o con un Grado di sforzo emotivo troppo alto. Il commercio di scalping infatti Comporta Uno sforzo emotivo Molto ELEVATO, MENTRE Il Trading di Posizione o più giorni Comporta delle EVENTUALI Perdite troppo alte per il mio modo di commercio di tariffa. Tuttavia, MENTRE nel primo Caso i guadagni Sono Molto contenuti, un Volte troppo, e nel Lungo Periodo potrebbe Andare a Tuo sfavore. Nel Secondo Caso Gli EVENTUALI profitti Sono davvero allettanti, ma le Perdite Meglio non pensarci. E allora Quale strada intraprendere Io ho Scelto Una via intermedia, Quella del intraday trading. Almeno per la maggior parte dei Casi e con delle varianti. Cosa significa Se hai Seguito Qualche mia Operazione, Hai visto il Che prendo un primo profitto Abbastanza ravvicinato per poi lasciar Correre Il Resto della Posizione senza pi Rischio, spostando lo ferma al Livello della mia entrata. Un this punto possono presentarsi 2 circostanze: lo smettere di Proft VIENE Toccato Senza Conseguenze, in Quanto Ho gi Preso un piccolo profitto in scalping il prezzo continua ad Andare verso la mia Direzione e sposto lo fermare Ogni volta che sì forma Una barra dinversione su un Determinato lasso di tempo, fino a Bon QUANDO lo arresto senza scopo di lucro VIENE Toccato o fino a Bon QUANDO non Decido di CHIUDERE il commercio. In questultimo Caso pu significare Che Lascio aperto il commercio Anche per pi giorni infrasettimanali, trasformando quindi il intraday di scambio nel commercio più giorni o di Posizione. Ci Comporta MOLTI Benefici, SIA A Livello emotivo Che di profitti e PUOI Guadagnare MOLTI Punti senza pi Entrare in posizione, ma Semplicemente spostando lo smettere di profitto in base di al movimento del prezzo. Ti Faccio un Esempio pratico. Studio sempre i Grafici un lasso di tempo pi Ampio per tariffa unanalisi tecnica di pi Lungo Periodo. This persico poi Posso trovare meglio Una Direzione profittevole filtrando le mie Entrate su arco di tempo intraday. In modo da rischiare Molto Meno in termini di perdita di arresto. Qualche giorno fa ho notato - con Una tecnica di commercio di Lungo Periodo Che ti mostrer pi avanti - Una possibilit di Andare a rialzo sul cambio euro Dollaro. Quindi provo ad anticipare il movimento su arco di tempo intraday. Ho fatto un Tentativo di entrata di un rialzo il 26 febbraio. Ho raggiunto il primo profitto ma poi sono stata stoppata nella notte Senza alcuna Perdita. Il mio Secondo Tentativo di Andare a rialzo avviene il 27 febbraio. Il mio primo Obiettivo Stato raggiunto e il Prezzo finalmente Continuato annuncio Andare verso la mia Direzione. Sono stata fortunata Molto pesce persico ieri 27 febbraio c Stato un disservizio di circa 2 ore del utilizzavo mediatore Che, Oanda. Avevo Inserito un ordine di vendita per il mio primo profitto e fortunatamente ha funzionato, al contrario dello fermata Che, Quando Sono riuscita a rientrare, un'epoca Stato Cancellato. Quindi Oggi 28 febbraio cerco di mediare Ancora il commercio persico avevo Visto unulteriore possibilit di rialzo e chiudo Tutta la Posizione a Mattinata. Avrei potuto lasciarla aperta No, per 2 Motivi: non voglio rischiare pi Che il mio arresto profitto Venga Cancellato per un disservizio del mediatore Oggi Venerd e non consigliabile lasciare aperti commercio Durante il week end sul Forex, pesce persico allapertura potrebbero verificarsi dei gap. Perch Conviene Avere un Approccio di Genere this Se guardi bene il grafico Che ti ho postato ti rendi Conto di Quanto Possa Essere conveniente Avere un Approccio di Lungo Periodo, pur Facendo trading intraday. Restare in Una Posizione in profitto per pi giorni pu darti molte soddisfazioni SIA in termini di Guadagno Che di relax mentale. Da Luned Si riparte con un altro mediatore con MT4. Ti lontano comunque VEDERE Lultimo video di Che ho effettuato con Oanda in settimana. Per Il Momento ti auguro un sereno week end

No comments:

Post a Comment