Trading Strategia Matlab Code


Bitfinex ha annunciato oggi l'avvio di contratti minerari come un prodotto di trading sulla loro piattaforma. In totale 100 THS sono stati resi disponibili (terahashes al secondo) con una scadenza a 3 mesi per il commercio con il nome di TH1BTC. I 100 THS fanno parte di un più ampio gruppo di 3500 THS in modo più contratti minerari potrebbero diventare disponibili in futuro. È interessante notare che questo segna la prima volta che è possibile a breve un contratto mineraria. Cortocircuito un contratto minerario significa ricevere una quantità di Bitcoin ora (il prezzo lo vendiamo a) e dei dividendi in seguito paganti (in Bitcoin) oltre 3 mese successivo fino a quando il contratto scade a metà del mese di dicembre. Un profitto è realizzato se la somma di tutti i dividendi distribuiti (più gli interessi che abbiamo pagato a breve il contratto) è inferiore a quello che abbiamo ricevuto all'inizio quando abbiamo venduto il contratto (a qualcun altro, ovviamente). Questo significa che il prezzo di TH1BTC dovrebbe dipendere 3 variabili (in ordine decrescente di importanza): Il cambiamento della difficoltà mineraria fino al 15 dicembre Il tempo rimanente fino al 15 dicembre Il tasso di interesse (tasso swap) Se difficoltà aumenta i pagamenti di dividendi diventano più piccoli, perché 1 THS rappresenta una frazione più piccola di tutta la potenza di rete hashing. Pertanto, il prezzo di un contratto dovrebbe diminuire se difficoltà aumenta. Più ci avviciniamo alla scadenza dei Bitcoin febbre può essere presente con 1 THS in totale. Pertanto, il prezzo di un contratto dovrebbe diminuire più ci avviciniamo alla scadenza e raggiungere un prezzo di 0 a scadenza. Più alto è il tasso di interesse più costoso è entrare e mantenere il contratto su tutta la lunghezza di 3 mese. Bitfinex non offre 90 giorni swap, quindi entrare in un contratto con l'obiettivo di tenere fino alla fine contiene un po 'di rischio di tasso di interesse, perché ad un certo punto un nuovo scambio deve essere presa fuori (a un tasso di interesse potenzialmente sfavorevoli). Si tratta di meno di un problema quando si va a lungo (Bitcoin tariffe sono in genere bassi) rispetto a quando andare a breve (c'è solo un massimo di 100 contratti disponibili in totale, senza ponticelli nudo). Per compensare i prezzi di rischio dovrebbero aumentare quando i tassi di swap sono in aumento. L'ignoto è naturalmente il cambiamento nella difficoltà mineraria nei prossimi 90 giorni. Nella figura seguente vediamo come difficoltà cambiato rispetto al precedente di 6 mesi. I dati sono da Tradeblock e si vede non solo una rappresentazione grafica dei cambiamenti passati nella difficoltà (difficoltà cambia ogni 14 giorni a seconda del tasso di hash passato. Maggiori informazioni si possono trovare nel wiki), ma anche alcune statistiche di riepilogo di base. Sulla media difficoltà è aumentata 27 negli ultimi 30 giorni e 77 degli ultimi 60 giorni. Per stimare il prezzo equo di uno TH1BTC si suppone che la difficoltà aumenterà in media 15 al mese per i prossimi 3 mesi. Attualmente il prezzo di acquisto di un contratto del valore di 1 THS è 2 BTC. La quota di piscina è 3 e ci ignorerà i tassi di interesse. La compilazione di tutte le informazioni si ottengono i seguenti risultati: Quindi se andiamo lungo un contratto in base alle nostre ipotesi ci sarebbe una perdita di circa 0,39 Bitcoin (un po 'di più, in realtà, da quando inizieremo mineraria nella metà di settembre fino alla metà di dicembre) in quanto i dividendi attesi (entrate mensili) non ha intenzione di coprire i costi iniziali di 2 BTC prima della scadenza del contratto. D'altra parte, andare a breve a un prezzo di 2 Bitcoin avrebbe generato un utile di circa 0,39 Bitcoin per contratto. Tenete a mente che ci didn8217t includono i costi di swap che sono attualmente a circa 1 al giorno (). Ci sono due modi per guardare i risultati. O potremmo dire prezzi per TH1BTC sono attualmente sopravvalutati e dovrebbero essere più vicino a circa l'1,5 BTC. Se assumiamo difficoltà aumenterà più di 15 al mese, allora i prezzi dovrebbero essere addirittura inferiore a quello. Oppure potremmo dire che il mercato è efficiente ei prezzi sono corretti, il che implicherebbe che il mercato si aspetta la difficoltà di ridurre in media circa 2 al mese per i prossimi 90 giorni. In entrambi i casi, i risultati saranno resi noti con certezza in 90 giorni. Lottando per recuperare dalla più recente crollo lampo Bitcoin che ha avuto origine in Bitfinex solo quattro giorni passano. prezzi Bitcoin ha preso un altro tuffo oggi come commercianti del margine ottenuto le loro posizioni liquidato BTC-e. L'evento è iniziato alle 13:36 (UTC1) quando i grandi ordini di vendita hanno cominciato a presentarsi al terzo più grande Bitcoin scambio occidentale BTC-e. Verso il basso ritmo è aumentato costantemente come il portafoglio ordini è diventato sempre più sottile, si infrangono i prezzi a un minimo di USD 309 per Bitcoin alle 13:43. Nei minuti successivi prezzi rimbalzato rapidamente il volume Thin torna a circa USD 442 come i commercianti di arbitraggio hanno iniziato a trarre vantaggio dello sconto rispetto ad altri scambi. BTC-e è uno dei pochi grandi borse che offrono il commercio di margine ai propri clienti attraverso la piattaforma MetaTrader dal novembre 2013, ma i dettagli di chi fornisce excactly i fondi necessari per il commercio di margine sono rimasti poco chiari. La forma e soprattutto tempistica dei punti di arresto nei confronti di commercianti di margine in liquidazione (o si fermano gli ordini in corso di esecuzione), simile a quello che è successo su Bitfinex un paio di giorni fa. Tuttavia, a differenza Bitfinex che è trasparente sulle posizioni di swap aperte. BTC-e non fornisce dati importanti che sarebbe necessaria per fornire un'analisi più approfondita e quindi questa ultima affermazione può essere considerata solo una buona congettura. Diversamente Bitfinex, che si basa su un algoritmo nascosto nel tentativo di controllare il flusso di ordini. BTC-e sembra non avere particolari garanzie in atto per mitigare tali eventi. La caduta al di sotto di 400 è dovuto principalmente alla mancanza di offerte nel portafoglio ordini e non perché il mercato ritiene che il vero valore è inferiore a 400, come il rimbalzo di nuovo a più di 440 soli minuti dopo fondamentalmente dimostrato. Quindi, arrestare il commercio durante estrema volatilità verso il basso potrebbe essere facilmente evitato lo spargimento di sangue tra gli operatori dei margini dando altri partecipanti al mercato più tempo per addensare il portafoglio ordini. Aggiornamento 04:58 (UTC1): BrCapoeira pubblicato su Reddit un grafico interessante in base ai dati dalla piattaforma Metatrader: Questo grafico implica che un solo ordine di grandi dimensioni è stata la causa di questo evento. Se questo modo è stato creato a causa di una chiamata di margine, un semplice errore, di manipolare il mercato, o per aprire una grande posizione short rimane poco chiaro. Il buon senso suggerirebbe che era probabilmente il risultato di una chiamata margine di un unico grande operatore. Il mio precedente post su questo argomento è stato portato durante le discussioni in seguito alla più recente crollo Bitcoin flash. Coindesk è stato uno dei primi a raccoglierlo e da allora vari post su trasparenza e la possibile cura del cliente di scambio di gestire attivamente l'esecuzione degli ordini ha iniziato a comparire. A seguito di quegli eventi Josh Rossi, Vice Presidente del Business Development di Bitfinex, è andato su Reddit per affrontare apertamente alcuni dei problemi presentati contro lo scambio. I fatti che sappiamo per certo è che ci sono stati alcuni grandi ordini di vendita poco prima dello schianto ha iniziato, ad esempio un ordine di 500 vendere sul Bitstamp a 9:49 (UTC1), circa 6 minuti prima di un grande ordine di vendita sul Bitfinex innescato l'incidente. Tuttavia, i dati non ci dice se era insider trading, una qualche forma di manipolazione del mercato. o un semplice errore. Il fatto è che dopo i flash crash posizioni aperte di swap Bitcoin è diminuito da circa 28m a 24m che indica le posizioni lunghe circa 8400 di margine sono stati chiusi (ipotizzando una media di 475) in un modo (margin call) o di un altro (ordine colpo di arresto). Il dato non ci dice che cosa è il rapporto, ma secondo Josh solo circa 650 Bitcoin sono stati venduti come il risultato di richieste di margini. Come giustamente sottolineato da Jonathan Levin. Fatto sta che a partire circa 24 ore prima del crollo bitcoin flash finché l'incidente in sé un ulteriore 1000 Bitcoin sono state prese in posizioni corte e circa 2500 cortometraggi sono stati successivamente chiusi durante l'incidente. Sia che i pantaloncini sono stati aperti per coprire posizioni esistenti, come un tentativo dannoso per attivare una chiamata di margine, o un modo per front-eseguire il mercato con informazioni private non può essere determinato in base ai dati disponibili (che ha un aspetto stranamente sospetto però). Quello che è stato inaspettato Personalmente, il punto interessante è che non Bitcoin Flash si è schiantato. le fluttuazioni dei prezzi improvvise accaduto in passato e accadrà in futuro, soprattutto nei mercati illiquidi, come Bitcoin. Il punto interessante è il coinvolgimento di Bitfinex e come sono gestiti attivamente l'esecuzione degli ordini senza informare gli operatori di mercato in anticipo. Il motore di corrispondenza Bitfinex non è stata interrotta durante l'intero incidente anche se lo ha fatto rallentare (ma in nessun luogo così male come il famigerato 70 minuti ordine di ritardo sulla ormai defunta scambio MtGox durante l'incidente nel 2012). Tuttavia, ciò che ha fatto è stato Bitfinex hanno introdotto qualcosa che ora si riferiscono a come dossi. Che cosa significa è che essi essenzialmente ordini di bandiera che ritengono come non valido o potenzialmente pericolosi e li rallenta intenzionalmente. A prima vista questo potrebbe sembrare una buona idea. Chi doesn8217t vuole un filtro per rimuovere o rallentare gli ordini maligni Tuttavia, come spesso accade con questo tipo di cose il diavolo è nei dettagli. Il problema è che Bitfinex non è (e forse non lo sarà mai) rendere pubblico esattamente come si classificano un ordine come 8220bad8221 e 8220slow esso down8221. Se un operatore di mercato decide di mettere su un grande ordine di vendita nei confronti di un portafoglio ordini sottile poi that8217s la sua decisione. Sia che la sua azione era intesa o meno non spetta allo scambio di decidere. Potrebbe essere che questo partecipante al mercato era semplicemente la prima persona a reagire ad un evento importante ed è del tutto disposto a sostenere i costi aggiuntivi del slittamento conseguente previsione di un grande movimento di prezzo. Semplicemente non esiste un modo per classificare con precisione gli ordini a priori come 8220good8221 o 8220bad8221 quanto ciò assumere automaticamente la conoscenza di tutti gli eventi futuri immediati. Che cosa può essere migliorato errori (8220fat finger8221, algoritmo di andare caos) accaduto, i margini vengono chiamati e la gente cerca di ingannare il sistema in ogni modo possibile. Logicamente ci devono essere garanzie per proteggere i mercati ed i suoi partecipanti. Bitfinex era sicuramente a conoscenza del potenziale flusso degli ordini tossici e contromisure preparate. L'unica cosa che si sono dimenticati è stato quello di informare i propri clienti circa le caratteristiche di sicurezza nascoste. Nascondere tali garanzie da parte del pubblico aggiunge incertezza al mercato (soprattutto ora che sappiamo che esistono e talvolta fare qualcosa) e mette in sostanza ogni Traders Trust nelle mani di Bitfinex. A questo punto un commerciante può solo sperare che Bitfinex agirà sempre nei migliori intenzioni dei loro clienti. Questa speranza potrebbe essere inutile, però, dal momento che Bitfinex fa i soldi da commissioni di negoziazione, indipendentemente se un professionista rende effettivamente i soldi. Uno non deve pensare a lungo per realizzare il potenziale nascosto di abuso in un tale sistema. Il motivo principale allevato da Josh perché Bitfinex non intende per pubblicizzare il loro algoritmo è quello di evitare di dare i commercianti la possibilità di sfruttare è falso e le seguenti spettacoli perché. Quelli sono gli interruttori ufficiali di mercato ampi circuiti utilizzati dal NASDAQ, pubblicate online e del tutto trasparenti per ogni partecipante al mercato. Tali norme non sono certamente perfetti, ma sono semplici, trasparenti, e lavorare per uno dei più grandi mercati azionari in tutto il mondo. Ora, io ho grande rispetto per le persone che lavorano sulla piattaforma Bitfinex, ma dubito che sono riusciti a venire con un algoritmo che protegge i partecipanti al mercato meglio di quelli utilizzati da un importante scambio commerciale più di 900 milioni di azioni al giorno in media . E se lo facessero, ora è l'occasione per Bitfinex per dimostrare al mondo e, eventualmente, scrivere la storia con l'insegnamento dei grandi ragazzi come gestire correttamente uno scambio. Quando si tratta di scambi pubbliche la trasparenza è d'obbligo, non solo per Bitfinex ma per qualsiasi scambio. I partecipanti al mercato devono sapere esattamente cosa succede quando effettuare un ordine e devono in nessun caso devono fare affidamento sulla buona fede da solo. Misure di salvaguardia sono importanti perché gli incidenti accadono e commercializza incidente ma non è fino allo scambio di impegnarsi in discriminazione ordine segreto. Ci sono diversi modi per salvaguardare i mercati finanziari e nessuno di loro è perfetto. L'aggiunta di complessità di solito aumenta la possibilità di effetti collaterali indesiderati e quindi un approccio semplice, trasparente sembra più appropriato di una nascosta, un complesso. Due giorni fa BitMEX ridotto le loro commissioni di negoziazione a 0 e celebrato si rilasciando una base di market making bot su Github. BitMEX è attualmente in esecuzione una sfida commerciale fino al 29 agosto 2014 per promuovere la loro nuova piattaforma. Rilascio di un mercato marcatura bot è probabilmente un modo interessante ed efficace per aumentare il traffico e lo stress API testare la piattaforma un po '. Certo che couldn8217t resistere e aveva un aspetto. Market-maker è un Liquidbot biforcuta off. che era originale progettato per funzionare su scambio MtGox ora obsolet. Ci sono stati alcuni cambiamenti minori (nuova classe API per la connessione a BitMEX, alcune stampe aggiuntive per console, le modifiche di adattamento per i contratti a termine, e una stampa enorme e inutile console all'avvio), ma significative modifiche alla logica di commercio. L'algoritmo utilizza solo controlli REST e per le modifiche ogni 60 secondi. Questa squalifica già il bot in quanto è essenziale troppo lento a reagire ai cambiamenti in atto nel portafoglio ordini. BitMEX limita le richieste alle API REST di 150 per 5 minuti in modo da poter provare a ridurre i 60 secondi per qualcosa come 3 ma won8217t cambiare il fatto che, non appena i mercati iniziano a muoversi vi ha colpito il limite e di essere bloccato con posizioni aperte. Per essere onesti, BitMEX fornisce il bot più come una trovata di marketing ed esplicitamente afferma che il passaggio a WebSocket sarà di grande beneficio in quanto consente aggiornamenti in tempo reale. Nel complesso, l'algoritmo è solidamente scritto, funziona tecnicamente ed è facile da installare, ma won8217t ti fanno i soldi nel lungo periodo. Se qualcuno considera seriamente di utilizzare questo bot mi sento di raccomandare le seguenti piccole modifiche per rendere il codice più utilizzabile: 1. Passare alla websocket 2. Posizione uscita su una stretta: 3. Gli ordini generazione a partire dal punto centrale: Inoltre vorrei consigliare di misurare volatilità in qualche modo e adattare la distanza tra gli ordini dinamicamente nonché le dimensioni. Durante il mio test l'API è sempre reattivo e preciso. Volume sullo scambio è ancora basso, ma i fondamentali della piattaforma sembrano promettenti. Questo bot è uno strumento divertente per introdurre gli utenti nel mondo di market making e trading algoritmico, ma won8217t una possibilità contro algoritmi stabiliti. Nota: Se si considera usando questo algoritmo tenere a mente che di market making è un lavoro a tempo pieno. Qualsiasi cosa meno di completa dedizione, tempo di reazione veloce, e 100 tempi di attività causerà la perdita di denaro. Edit: Follow-up sulle conseguenze qui oggi Bitcoin prezzi hanno preso un tuffo come i commercianti di margine su uno dei più grandi scambio Bitfinex ottenuto i loro ordini liquidati. Per molti attenti osservatori del mercato e gli operatori più sofisticati questo non è venuto come una sorpresa. In realtà, le posizioni lunghe sono state costruendo continuamente nel corso degli ultimi due mesi in previsione di una nuova bolla dei prezzi Bitcoin e hanno raggiunto il più in alto 30m in posizioni di swap in circolazione Bitfinex. Ora, questo wouldn8217t essere un problema da sola finché c'è abbastanza capitale sostenere il prestito. Purtroppo, la maggior parte di quelle posizioni lunghe sono stati iscritti circa 600 8211 640 USDBTC e la garanzia è stata per lo più forniti in Bitcoin sé. Il grafico seguente mostra bene l'accumulo di posizioni long, con un picco intorno al 14 luglio con vicino ai 32m in swap. Esecuzione di un rapido calcolo sulla base del margine di Bitfinex di 13 manutenzione e assumendo Bitcoin come garanzia troviamo che richieste di margini dovrebbero iniziare intorno al marchio 520 8211 540 USDBTC. Ieri, i prezzi si sono avvicinati e oggi finalmente saltato giù dalla scogliera. Il problema è che una volta richieste di margini fissati in te hanno un effetto a cascata, che strappa attraverso il portafoglio ordini, causando ancora più ordini per raggiungere il punto di non ritorno e di aumentare ulteriormente la quantità di moto verso il basso. Questo tipo di eventi non sono limitati a Bitcoin scambi, ma può verificarsi anche sulle principali borse come ad esempio durante l'incidente Flash 2010 negli Stati Uniti. La causa di tale Flash crashe può variare e va dagli errori delle dita di grasso per errori di programmazione a cascata richieste di margini. E 'interessante vedere come gli scambi che fare con questi eventi. Negli Stati Uniti, Nasdaq implementato interruttori ampio mercato che farà sì che il commercio di fermarsi in tali circostanze estreme. Bitcoin mercati non sono ancora così avanzata e di solito continuare l'attività. Se guardiamo l'azione su ordine Bitfinex oggi vediamo qualcosa di molto particolare: sembra (e questo è solo una supposizione in quanto non vi è alcun commento ufficiale da parte del cambio), come se Bitfinex è in esecuzione un algoritmo per gestire le richieste di margini. L'algoritmo comincia a vendere, ma si limita a un calo del 10 dei prezzi entro 1 minuto. Se i prezzi scendono di oltre il 10 in 1 minuto che smetterà di vendere e aspettare ordini di acquisto di entrare. Una volta che ci sono ancora una certa quantità di ordini di acquisto nel portafoglio ordini l'algoritmo comincia a vendere di nuovo fino a quando tutte le richieste di margini sono soddisfatte. Edit: LeMogawai fu il primo a farlo notare in questo post e che corrisponda mia osservazione personale al momento dell'evento. Questo sembra essere un modo interessante per affrontare richieste di margini cascata, ma può anche essere considerato come manipolazione del mercato di confine dal lato di scambio. Diffondendo gli ordini di vendita nel corso del tempo la quantità di moto verso il basso si riduce, tuttavia i commercianti finiscono scambiato contro lo scambio stesso e non il mercato più. Lo scambio ha un vantaggio informativo in quel punto ed è quindi più probabile che profitto che i commercianti. Per fortuna, questo è durato solo per circa 10 minuti dopo che il controllo è stato restituito al mercato. Altri scambi che offrono anche il commercio di margine, come BTC-e e OKcoin sono ora in una posizione favorevole e possono imparare da eventi di oggi. L'implementazione di un sistema più molto somiglianti gli interruttori di grandi scambi, come il Nasdaq potrebbe essere una prima mossa intelligente. Recentemente sto lavorando per ottenere la mia nuova piattaforma di trading in corso. Questa nuova versione è basata su Python, utilizza MySQL per mantenere un database di tutte le serie temporali di diverse valute virtuali con riempimento automatico da BitcoinCharts e integra le 3 principali borse MtGox, BTC-E e Bitstamp. La piattaforma sarà utilizzata come modo per backtest alcune strategie e impegnarsi in trading automatico. Durante la fase di preparazione a questo ho deciso di tirare alcuni dati di BTC contro USD da BitcoinCharts e sulla base delle idee di una carta di Hashem e Timmermann (1995) messo in atto una semplice strategia di trading. L'idea è quella di prevedere il segno del ritorno periodo t1 basata su una regressione, stimata su una selezione automatica degli indicatori tecnici durante l'ultimo periodo n fino t. Poi, dopo t1 è accaduto, ci aggiorniamo il modello e cercare di prevedere t2 utilizzando tutti i dati disponibili degli ultimi n periodi fino t1 e così via. Per la mia tesi di laurea ho esaminato quattro differenti regole di negoziazione tecniche in mercati Forex. Esso utilizza la MCS e Test SpA per la ricerca di validi modelli tra i diversi parametri che non sono soggetti ai dati snooping. Tenendo conto di transazione realistico costa troviamo alcuna evidenza di rendimenti in eccesso, che è coerente con l'efficienza del mercato. Con questo codice si dovrebbe essere in grado di cercare opportunità di arbitraggio Bitcoin all'interno BTC-e. Esso utilizza l'idea di un prezzo e si applica l'arbitraggio triangolare, tenendo conto dei costi e la diffusione. Il motivo per cui questo post qui nonostante che funziona, è probabile che sarà troppo lento per competere con altri investitori a fare lo stesso. Possibili miglioramenti potrebbe essere quella di prendere in considerazione la profondità dell'ordine libro e dividere i mestieri in modo dinamico, cercando di minare gli altri operatori che fanno lo stesso. Anche l'impostazione tutto su un server dedicato vicino alla posizione fisica della partita motore di BTC-e dovrebbe ridurre drasticamente il ritardo e vi darò un potenziale vantaggio. funzione Post navigationThis esegue il quadro pairs trading classica in un dato insieme di prezzi Da Wikipedia, l'enciclopedia libera: Il commercio coppie è stata sviluppata alla fine del 1980 dagli analisti quantitativi e lanciato da Gerald Bamberger mentre a Morgan Stanley. Con l'aiuto di altri, a Morgan Stanley, al momento, tra cui Nunzio Tartaglia, Bamberger ha scoperto che alcuni titoli, spesso concorrenti nello stesso settore, sono stati correlati nei loro movimenti di prezzo giorno per giorno. Quando la correlazione è rotta, cioè una quotazione in borsa mentre l'altro scambiato giù, che avrebbero venduto il titolo superando e comprare quello poco efficiente, scommettendo che il differenziale tra i due sarebbe poi convergere. Fonte: en. wikipedia. orgwikiPairstradeAlgorithmicpairstrading Vedere anche il grande libro Demone della nostra progettazione di Richard Bookstaber, che fornisce un background interessante per la strategia pairs trading. Ci sono molti modi per attuare l'insieme di coppie di trading. Per questo pacchetto, ho usato un semplice insieme di regole. I dettagli possono essere trovati nei codici commenti. Si prega di notare che questo pacchetto è stato sviluppato nel corso degli anni e non sarà più esattamente replicare i risultati della mia carta del 2007. Qualità del prodotto: - Gestisce qualsiasi numero di attività - Uscite a parte la trama per il profitto totale cumulativo dalle posizioni lunghe, corte e combinati. - Uscite tutti i mestieri, compresi i prezzi e tempi di mestieri scambiati. - Offre all'utente una grande quantità di scelte di input per l'algoritmo di coppie di trading, tra cui: quantità di soldi per mettere in ogni posizione del valore (lunga e corta) di costi di transazione (in unità di moneta) dimensione della finestra mobile per trovare le coppie di tutto il prezzo di dati periodicità delle coppie aggiorna numero massimo di giorni per mantenere qualsiasi commercio (senza convergenza). valore della soglia NATH variabili, P. (2003) coppie ad alta frequenza di negoziazione con titoli del Tesoro degli Stati Uniti: i rischi e benefici per gli hedge fund, documento di lavoro, la London Business School. GATEV, E. Goetzmann, W. N. Rouwenhorst, K. G. (1999) Pairs Trading: Prestazione di una regola valore Arbitrage relativa, documento di lavoro, Yale School of Management. Disponibile a SSRN: ssrnabstract141615. PERLIN, M. S. (2009) La valutazione di coppie strategia di trading al brasiliano del mercato finanziario ufficiale Derivati ​​amp Hedge funds, V. 15, N. 2, pp. 122-136. PERLIN, M. S. (2007b) M Tris: un approccio multivariata in pairs trading. Foglio di lavoro. disponibile presso SSRN: sistema di trading ssrnabstract952782.Real-time demo Ciao a tutti Se sei nuovo qui, si potrebbe voler iscriverti al feed feed RSS o e-mail per aggiornamenti su argomenti Undocumented Matlab. In 23 maggio 2013 ho dato una presentazione alla Conferenza Computational MATLAB Finanza a New York. La sala era gremita-pieno con circa 200 professionisti del settore finanziario. L'energia e il feedback sono stati enormi, è stata una grande esperienza. Se siete venuti alla conferenza, grazie per essere un grande pubblico. Nel 19 settembre 2013 ho dato una variante di quella presentazione alla conferenza virtuale MATLAB Finanza computazionale. La presentazione (in formato PDF) è fornito qui. la registrazione video è disponibile qui. In entrambi i casi ho presentato una domanda di demo che ha mostrato come Matlab può essere utilizzato per creare un sistema di negoziazione end-to-end completa, mettendo in evidenza il potenziale Matlab8217s come piattaforma di scelta. Ho usato Interactive Brokers dimostrare feed di dati di mercato vivo e accountportfolio ingresso, nonché per inviare proposte di negoziazione al mercato, tramite il connettore IB-Matlab: L'algoritmo di negoziazione utilizzato nella demo è banalmente semplicistico (casuale). In un sistema di vita reale si sarebbe naturalmente sostituirlo con il proprio algoritmo proprietario. Ma sentitevi liberi di usare questa demo come punto di partenza per l'applicazione. Il codice sorgente demo è fornito qui (tradingDemo. m e di supporto file). Si noti che questo viene fornito così com'è, a titolo gratuito, ma senza alcuna garanzia o supporto. Si sarebbe naturalmente bisogno di IB-Matlab e un Interactive Brokers conto per eseguirlo. Spero che avremo la possibilità di lavorare insieme sui vostri progetti. Inviami una e-mail se si desidera il mio aiuto in qualsiasi lavoro di consulenza, di formazione o di sviluppo. 4 Responses to sistema di trading in tempo reale demo Ho provato il percorso Activex prima di acquistare il prodotto. Vi è un grande difetto fondamentale quando si tratta di utilizzare ActiveX con Matlab. Dire, si esegue un algoritmo e si sta elaborando una funzione, e allo stesso tempo TWS genera un evento. Se si utilizzano ActiveX, MATLAB NON aggiornare il prezzo fino a quando la trasformazione della funzione è stata completata. Così diversi eventi saranno perse e il prezzo si sarebbe guardando sarebbe uno diverso. Mentre in JAVA. non vi è alcun problema del genere. Come ogni evento licenziato sarà immediatamente catturata da Java, che è in esecuzione in background. Così, quando si chiama getLastPrice, si otterrà il prezzo corretto. Un altro difetto è ovviamente il fatto che è possibile utilizzare ActiveX solo con Windows. Considerando che con JAVA è possibile utilizzarlo con Windows, Mac, Linux, ecc E non è una buona idea per lo streaming in diretta dei dati Compravendite come viene in in MATLAB. Immaginate, si dispone di 100 simboli, che aggiorna ogni dire 200 msec, in modo da avere un commercio accadendo così rapidamente e di essere catturato e immagazzinato in Matlab. A causa MATLAB8217s problema single-threaded, alcuni mestieri zecche verranno perse e anche mangerà la vostra memoria. Quindi tutto ciò che sarà in grado di fare è solo per lo streaming nei dati e non fare altro. Kenan 8211 infatti, l'API Java (che viene utilizzato da IB-Matlab) ha molti vantaggi rispetto l'API ActiveX (che viene utilizzato da MathWorks8217 Trading Toolbox). Uno dei risultati fortunati dell'utilizzo di Java è che IB-Matlab può essere eseguito su tutte le piattaforme che eseguono Matlab (Windows, Mac, Linux), dal momento che tutte queste piattaforme hanno sia Java e un client IB TWS. L'API Java è anche molto più veloce e più affidabile (il connettore ActiveX è segnalato per essere caduta eventi IB di tanto in tanto). Per quanto riguarda la latenza streaming citazione, questo dipende dalla volatilità della sicurezza, il numero di titoli monitorati, la larghezza di banda della rete, hardware, altri processi in esecuzione sul computer e una vasta gamma di altri aspetti che possono influenzare le prestazioni. Su un laptop standard Lenovo Thinkpad E530 esecuzione Matlab R2013a su Win7, ho raggiunto quote di latenza in streaming a partire da 1-2 mSec (cioè centinaia di eventi IB al secondo). Naturalmente, YMMV. Marco Ruijken dice: backtesting successo delle strategie di trading algoritmico - Parte I Questo articolo continua la serie di negoziazione quantitativa, che ha iniziato con la guida per principianti e strategia di identificazione. Entrambi questi articoli più lunghi, più coinvolti sono stati molto popolari in modo Ill continuare su questa strada e di fornire dettagli sul tema della strategia di backtesting. backtesting algoritmica richiede la conoscenza di molti settori, tra cui la psicologia, matematica, statistica, sviluppo software e marketexchange microstruttura. Non potevo sperare di coprire tutti questi argomenti in un unico articolo, quindi ho intenzione di dividerli in due o tre pezzi più piccoli. Cosa faremo discutere in questa sezione Ill iniziare definendo backtesting e poi descriverà le basi di come essa viene effettuata. Poi mi chiarire sui pregiudizi che abbiamo toccato nella Guida per principianti Trading Quantitative. Successivo presenterò un confronto tra le varie opzioni software backtesting disponibili. Negli articoli successivi vedremo i dettagli di implementazione di strategia che spesso sono a malapena menzionati o ignorati. Ci sarà anche considerare come rendere il processo di backtesting più realistico includendo le idiosincrasie di uno scambio commerciale. Poi si discuterà dei costi di transazione e su come modellare correttamente in un ambiente backtest. Ci si concluderà con una discussione sulle prestazioni dei nostri estensivi e, infine, fornire un esempio di una strategia quant comune, noto come coppie di commercio media-ritornare. Iniziamo a discutere ciò che è backtesting e perché dovremmo portarlo a termine nel nostro trading algoritmico. Qual è backtesting trading algoritmico si distingue da altri tipi di classi di investimento, perché siamo in grado di fornire in modo più affidabile le aspettative sull'andamento futuro dal rendimento passato, come conseguenza di abbondante disponibilità dei dati. Il processo attraverso il quale questa viene effettuata è conosciuto come backtesting. In termini semplici, backtesting viene effettuato esponendo l'algoritmo particolare strategia ad un flusso di dati finanziari storici, che porta ad una serie di segnali di trading. Ogni commercio (che significherà qui per essere un andata e ritorno di due segnali) avrà un utile o la perdita associati. L'accumulo di questo profitloss per tutta la durata della vostra strategia di backtest porterà al profitto totale e la perdita (noto anche come il PL o PNL). Questa è l'essenza dell'idea, anche se ovviamente il diavolo è sempre nei dettagli Quali sono ragioni principali per backtesting una filtrazione strategia algoritmica - Se vi ricordate dal l'articolo sulla strategia di identificazione. il nostro obiettivo nella fase di ricerca iniziale era di creare una pipeline di strategia e poi filtrare qualsiasi strategia che non soddisfano determinati criteri. Backtesting ci fornisce un altro meccanismo di filtraggio, come possiamo eliminare strategie che non soddisfano le nostre esigenze di prestazioni. Modellazione - backtesting ci permette di (in sicurezza) sperimentare nuovi modelli di alcuni fenomeni di mercato, come ad esempio i costi di transazione, order routing, la latenza, la liquidità o altri problemi di microstruttura del mercato. Ottimizzazione - Anche se l'ottimizzazione strategia è pieno di pregiudizi, backtesting ci permette di aumentare le prestazioni di una strategia modificando la quantità o valori dei parametri associati a tale strategia e ricalcolando le sue prestazioni. Verifica - Le nostre strategie sono spesso provengono dall'esterno, attraverso la nostra pipeline di strategia. Backtesting una strategia assicura che non è stata attuata in modo errato. Anche se ci sarà raramente hanno accesso ai segnali generati da strategie esterne, avremo spesso avere accesso ai parametri di rendimento, come l'indice di Sharpe e le caratteristiche drawdown. Così li possiamo confrontare con la nostra implementazione. Backtesting offre una serie di vantaggi per il trading algoritmico. Tuttavia, non è sempre possibile backtest semplicemente una strategia. In generale, come la frequenza degli aumenti strategia, diventa più difficile modellare correttamente gli effetti microstruttura del mercato e scambi. Questo porta a backtests meno affidabili e quindi una valutazione più complicato di una strategia scelta. Questo è un problema particolare quando il sistema di esecuzione è la chiave per il rendimento della strategia, come con algoritmi ultra-alta frequenza. Purtroppo, backtesting è pieno di pregiudizi di ogni tipo. Abbiamo toccato alcuni di questi problemi in articoli precedenti, ma ci sarà ora li discuterà in profondità. Pregiudizi che influenzano backtests strategia Ci sono molti pregiudizi che possono influenzare le prestazioni di una strategia backtested. Sfortunatamente, questi pregiudizi hanno la tendenza a gonfiare il rendimento piuttosto che ridurre esso. Così si dovrebbe sempre prendere in considerazione un backtest per essere un idealizzato limite superiore al rendimento effettivo della strategia. E 'quasi impossibile eliminare pregiudizi da trading algoritmico quindi è il nostro lavoro per ridurre al minimo loro nel miglior modo possibile al fine di prendere decisioni informate circa le nostre strategie algoritmiche. Ci sono quattro grandi pregiudizi che desidero discutere: Ottimizzazione Bias. Look-Ahead Bias. La sopravvivenza Bias e Bias psicologica Tolleranza. Ottimizzazione Bias Questo è probabilmente il più insidioso di tutti i pregiudizi backtest. Si tratta di regolazione o di introdurre parametri di negoziazione aggiuntivi fino a quando il rendimento della strategia sul set di dati backtest è molto interessante. Tuttavia, una volta vivo le prestazioni della strategia può essere notevolmente diversa. Un altro nome per questo bias è curva pregiudizi montaggio o dati-snooping. bias di ottimizzazione è difficile da eliminare le strategie algoritmiche coinvolgono spesso molti parametri. I parametri in questo caso potrebbero essere i criteri entryexit, guardare-back periodi, con una media punti (i. e il parametro smoothing media mobile) o frequenza di misura la volatilità. polarizzazione ottimizzazione può essere minimizzata mantenendo il numero di parametri al minimo e aumentando la quantità di punti dati di addestramento. In realtà, si deve anche stare attenti di quest'ultimo come punti di formazione più grandi possono essere soggetti a un regime precedente (come ad esempio un contesto normativo) e quindi non possono essere rilevanti per la vostra strategia corrente. Un metodo per aiutare a mitigare questa tendenza è quello di eseguire un'analisi di sensibilità. Questo significa variando i parametri incrementale e tracciando una superficie di prestazioni. Suono, il ragionamento fondamentale per le scelte dei parametri deve, con tutti gli altri fattori considerati, portare ad una superficie più liscia parametro. Se si dispone di una superficie prestazione molto nervosa, spesso significa che un parametro non riflette un fenomeno ed è un artefatto dei dati di test. Esiste una vasta letteratura su algoritmi di ottimizzazione multi-dimensionali ed è una zona altamente attiva di ricerca. I wont soffermo su di esso qui, ma tenerlo nella parte posteriore della vostra mente quando si trova una strategia con una fantastica backtest Look-Ahead Bias pregiudizi Look-ahead viene introdotto in un sistema di backtesting quando i dati futuri viene accidentalmente incluso in un punto in simulazione in cui i dati non sono stati effettivamente disponibili. Se ci sono in esecuzione il backtest cronologicamente e raggiungiamo punto di tempo N, poi look-ahead si verifica pregiudizi se i dati è incluso per ogni punto Nk, dove K0. Look-ahead errori sistematici possono essere incredibilmente sottile. Ecco tre esempi di come pregiudizi look-ahead può essere introdotto: Bugs tecniche - Arraysvectors nel codice spesso hanno iteratori o variabili indice. compensazioni non corretti di questi indici può portare a una distorsione look-ahead incorporando i dati a Nk per k diverso da zero. Il parametro di calcolo - Un altro esempio comune di bias look-ahead si verifica quando il calcolo dei parametri strategia ottimale, come ad esempio con regressioni lineari tra due serie storiche. Se si utilizza l'intero insieme di dati (compresi quelli futuri) per calcolare i coefficienti di regressione, e, quindi, retroattivamente applicata ad una strategia di trading a scopo di ottimizzazione, quindi i dati futuro è incorporato ed esiste una polarizzazione look-ahead. MaximaMinima - Alcune strategie di trading fanno uso di valori estremi in qualsiasi periodo di tempo, come ad esempio incorporando i prezzi alti o bassi nei dati OHLC. Tuttavia, poiché questi valori maximalminimal possono essere calcolati solo alla fine di un periodo di tempo, una polarizzazione look-ahead viene inserito se questi valori vengono utilizzati - during - periodo corrente. È sempre necessario ritardo highlow valori di almeno un periodo in qualsiasi negoziazione making strategia uso. Come con pregiudizi di ottimizzazione, bisogna essere estremamente attenti ad evitare la sua introduzione. Spesso è il motivo principale per cui le loro strategie di trading sottoperformare backtests significativamente nel trading dal vivo. La sopravvivenza Bias sopravvivenza bias è un fenomeno particolarmente pericoloso e può portare a prestazioni in modo significativo gonfiati per alcuni tipi di strategia. Essa si verifica quando le strategie sono testati su insiemi di dati che non includono l'universo completo delle attività precedenti che possono essere stati scelti in un particolare momento, ma considerano solo quelle che sono sopravvissute al tempo corrente. A titolo di esempio, si consideri testare una strategia su una selezione casuale di azioni prima e dopo il crollo del mercato del 2001. Alcuni titoli tecnologici sono fallite, mentre altri sono riusciti a rimanere a galla e perfino prosperato. Se avessimo limitato questa strategia solo per gli stock che hanno superato il periodo di prelievo di mercato, ci sarebbe l'introduzione di un bias di sopravvivenza, perché hanno già dimostrato il loro successo a noi. In realtà, questo è solo un altro caso specifico di bias look-ahead, come le informazioni futuro viene incorporato in analisi passato. Ci sono due modi principali per mitigare pregiudizi sopravvivenza nei tuoi backtests strategia: sopravvivenza Bias Dataset gratuiti - In caso di dati equità, è possibile acquistare i set di dati che includono revocate entità, anche se non sono a buon mercato e solo tendono ad essere utilizzati dalle imprese istituzionali . In particolare, i dati Yahoo! Finanza non è pregiudizio sopravvivenza libera, e questo è comunemente utilizzato da molti commercianti al dettaglio algo. Si può anche operare su classi di attività che non sono soggetti a pregiudizi sopravvivenza, come alcuni prodotti di base (e loro derivati ​​futuri). Utilizzare più recenti dati - Nel caso di titoli di capitale, utilizzando una recente serie di dati più mitiga la possibilità che la selezione dei titoli scelta è ponderata ai sopravvissuti, semplicemente in quanto vi è meno probabilità di azionario globale delisting in periodi di tempo più brevi. Si può anche iniziare a costruire un insieme di dati libera sopravvivenza-pregiudizi personali attraverso la raccolta di dati da punto corrente in poi. Dopo 3-4 anni, si avrà una sopravvivenza-bias set gratuito solida di azioni di dati con cui backtest ulteriori strategie. Noi ora considerare alcuni fenomeni psicologici che possono influenzare le prestazioni di trading. Psicologica Bias Tolleranza Questo fenomeno particolare, non è spesso discusso nel contesto del trading quantitativo. Tuttavia, è ampiamente discusso in relazione a più metodi di negoziazione discrezionali. Ha vari nomi, ma Ive ha deciso di chiamarla psicologica tolleranza pregiudizi perché cattura l'essenza del problema. Quando si crea backtests per un periodo di 5 anni o più, è facile guardare un curva di equità verso l'alto trend, calcolare il rendimento annuo composto, indice di Sharpe e anche drawdown caratteristiche e di essere soddisfatto dei risultati. Come esempio, la strategia potrebbe possedere un prelievo relativa massima di 25 e una durata massima di prelievo del 4 mesi. Ciò non sarebbe atipica per una strategia di moto. E 'semplice per convincersi che è facile da tollerare tali periodi di perdite a causa del quadro generale è roseo. Tuttavia, in pratica, è molto più difficile se utilizzi storici di 25 o più verificarsi nella estensivi, poi con ogni probabilità si vedranno i periodi di prelievo simile in trading dal vivo. Questi periodi di prelievo sono psicologicamente difficile da sopportare. Ho osservato in prima persona ciò che un prelievo prolungato può essere come, in un contesto istituzionale, e non è piacevole - anche se i test retrospettivi suggeriscono si verificheranno tali periodi. La ragione per cui ho definito un pregiudizio è che spesso una strategia che altrimenti sarebbe successo viene fermato da negoziazione durante i periodi di prelievo prolungato e, quindi, porterà alla sottoperformance significativa rispetto a un backtest. Così, anche se la strategia è algoritmica in natura, fattori psicologici possono ancora hanno un peso pesante sulla redditività. L'asporto è quello di garantire che se si vede utilizzi di una certa percentuale e durata nel estensivi, allora si dovrebbe pretendere che si verificano in ambienti di trading dal vivo, e avrà bisogno di perseverare per raggiungere la redditività, una volta di più. Pacchetti software per Backtesting Il paesaggio software per la strategia di backtesting è vasto. Le soluzioni variano da un sofisticato software di grado istituzionale completamente integrata attraverso linguaggi di programmazione come C, Python e R dove quasi tutto deve essere scritto da zero (o plugin adatti ottenuti). Come i commercianti quant ci interessa l'equilibrio di essere in grado di possedere il nostro stack di tecnologia di trading contro la velocità e l'affidabilità della nostra metodologia di sviluppo. Qui ci sono le considerazioni principali per la scelta del software di programmazione: Abilità - La scelta di ambiente sarà in gran parte sceso per la vostra capacità di programmare software. Direi che avere il controllo dello stack totale avrà un effetto maggiore sulla PL lungo termine rispetto di outsourcing per quanto possibile, di fornitore di software. Ciò è dovuto al rischio di ribasso di avere bug esterni o idiosincrasie che non si riesce a risolvere il problema nel software vendor, che altrimenti sarebbe facile porre rimedio se si ha un maggiore controllo sul tuo stack tecnologico. Volete anche un ambiente che il giusto equilibrio tra produttività, disponibilità biblioteca e velocità di esecuzione. Faccio mie raccomandazione personale di seguito. Esecuzione CapabilityBroker Interaction - Alcuni software backtesting, come ad esempio Tradestation, si lega direttamente con una società di intermediazione. Io non sono un fan di questo approccio a ridurre i costi di transazione sono spesso una grande componente di ottenere un indice di Sharpe più elevato. Se sei legato in un particolare broker (e le forze TradeStation di fare questo), allora si avrà un tempo più difficile la transizione a un nuovo software (o un nuovo mediatore) in caso di necessità. Interactive Brokers forniscono una API che è robusto, anche se con una interfaccia leggermente ottuso. Personalizzazione - un ambiente come MATLAB o Python ti dà una grande flessibilità nella creazione di strategie algo in quanto forniscono le librerie fantastici per quasi qualsiasi operazione matematica che si possa immaginare, ma consentono anche di personalizzazione estesa, se necessario. Strategia Complessità - Alcuni software appena isnt tagliato per numero pesante scricchiolio o complessità matematica. Excel è un tale pezzo di software. Anche se è bene per le strategie più semplici, non può davvero far fronte a numerose attività o algoritmi più complessi, a velocità. Bias minimizzazione - Fa un particolare pezzo di software o dati si presta di più a pregiudizi di negoziazione È necessario fare in modo che, se si desidera creare tutte le funzionalità te, che tu non introdurre bug che può portare a pregiudizi. Velocità di sviluppo - Uno dovreste avere a trascorrere mesi e mesi l'implementazione di un motore di backtest. Prototipazione dovrebbe solo prendere un paio di settimane. Assicurarsi che il software non ostacola i vostri progressi in misura rilevante, solo per afferrare un paio di punti percentuali in più di velocità di esecuzione. C è l'elefante nella stanza qui velocità di esecuzione - Se la strategia è completamente dipendente al momento dell'esecuzione la tempestività (come in HFTUHFT), allora sarà necessario un linguaggio come C o C. Tuttavia, vi sarà tendente al ottimizzazione kernel Linux e l'uso di FPGA per questi domini, che è al di fuori del campo di applicazione di questo articolo Costo - Molti degli ambienti software che è possibile programmare strategie di trading algoritmico con fonte sono completamente libero e aperto. In realtà, molti fondi hedge fanno uso di software open source per tutta la loro stack algo trading. Inoltre, Excel e MATLAB sono entrambi relativamente a buon mercato e ci sono anche alternative gratuite a ciascuno. Ora che abbiamo elencato i criteri con i quali abbiamo bisogno di scegliere la nostra infrastruttura software, voglio correre attraverso alcuni dei pacchetti più popolari e come si confronta: Nota: Sto solo andando a includere il software che è disponibile per la maggior parte degli operatori al dettaglio e gli sviluppatori di software, in quanto questo è il numero di lettori del sito. Mentre altri software è disponibile come ad esempio gli strumenti più grade istituzionale, mi sento questi sono troppo costosi per essere utilizzati in modo efficace in un ambiente di vendita al dettaglio e io personalmente non hanno alcuna esperienza con loro. Backtesting Software Confronto Descrizione: linguaggio di alto livello progettato per velocità di sviluppo. Vasta gamma di librerie per quasi ogni immaginabile compito programmatica. Guadagnando più ampia accettazione in hedge fund e comunità di banca d'investimento. Non abbastanza veloce come CC per velocità di esecuzione. Esecuzione: esistono plugin Python per i mediatori più grandi, come Interactive Brokers. Quindi backtest e sistema di esecuzione può essere tutti parte della stessa pila tecnologia. Personalizzazione: Python ha una comunità di sviluppo molto sano ed è un linguaggio maturo. NumPySciPy fornire strumenti veloci di calcolo scientifico e l'analisi statistica rilevanti per la negoziazione Quant. Strategia Complessità: Esistono molti plug-in per gli algoritmi principali, ma non abbastanza grande comunità quant come esiste per MATLAB. Bias Minimizzazione: Stesse problemi pregiudizi di minimizzazione esiste come per qualsiasi linguaggio di alto livello. Necessità di essere estremamente attenti a test. Velocità di sviluppo: vantaggio principale Pythons è la velocità di sviluppo, con una robusta nel costruito in capacità di test. Velocità di esecuzione: non abbastanza veloce come C, ma i componenti di calcolo scientifico sono ottimizzate e Python può parlare con codice nativo C con alcuni plugin. Costo: FreeOpen Fonte Descrizione: matura, linguaggio di alto livello progettato per velocità di esecuzione. Vasta gamma di finanza quantitativa e librerie numeriche. Più difficili da eseguire il debug e spesso richiede più tempo per implementare rispetto Python o MATLAB. Estremamente diffuso sia nel buy e sell-side. Esecuzione: La maggior parte delle API di intermediazione sono scritti in C e Java. Così esistono molti plugin. Personalizzazione: CC consente l'accesso diretto alla memoria di base, strategie quindi ultra-alta frequenza possono essere implementate. Strategia Complessità: C STL fornisce un'ampia gamma di algoritmi ottimizzati. Quasi ogni algoritmo matematico specializzato possiede una, implementazione open-source CC gratuitamente sul web. Bias Minimizzazione: Bias Look-ahead può essere difficile da eliminare, ma non più difficile di quanto altro linguaggio ad alto livello. Buone strumenti di debug, ma bisogna stare attenti quando si tratta di memoria sottostante. Velocità di sviluppo: C è abbastanza dettagliata rispetto a Python o MATLAB per lo stesso algorithmm. Ulteriori linee-di-codice (LOC) spesso porta ad una maggiore probabilità di errori. Velocità di esecuzione: CC ha velocità di esecuzione estremamente veloce e può essere ben ottimizzato per specifiche architetture computazionali. Questa è la ragione principale per utilizzarlo. Costo: vari compilatori: LinuxGCC è libero, MS Visual Studio ha diverse licenze. Differenti strategie richiederanno diversi pacchetti software. strategie HFT e UHFT saranno scritti in CC (in questi giorni sono spesso eseguite su GPU e FPGA), mentre le strategie direzionali azionari a bassa frequenza sono facili da implementare in TradeStation, a causa del tutto in una natura del softwarebrokerage. La mia preferenza personale è per Python in quanto fornisce il giusto grado di personalizzazione, velocità di sviluppo, capacità di test e velocità di esecuzione per le mie esigenze e strategie. Se ho bisogno di qualcosa di più veloce, posso cadere in C direttamente dai miei programmi Python. Un metodo favorito da molti commercianti quant è quello di prototipare le loro strategie in Python e quindi convertire sezioni di esecuzione più lenti a C in modo iterativo. Alla fine l'intera algo è scritto in C e può essere lasciato solo al commercio Nei prossimi articoli su backtesting ci sarà uno sguardo ad alcune particolari questioni che circondano l'implementazione di un sistema di trading backtesting algoritmico, così come il modo per incorporare gli effetti di scambi commerciali. Discuteremo la misurazione delle prestazioni di strategia e, infine, concludere con una strategia di esempio. Appena iniziato con Trading Quantitative

Comments

Popular posts from this blog

Trading System Of India Prima Indipendenza

Trading Strategie Di Spot Oro

Platinum Forex Bot Recensione