Tuesday 29 August 2017

Trading Strategie Per Amibroker


Backtesting: Interpretazione Il passato backtesting è una componente fondamentale di un efficace sviluppo commerciale del sistema. Tutto è compiuto ricostruendo, con i dati storici, mestieri che si sarebbero verificati in passato utilizzando le regole definite da una determinata strategia. Il risultato offre statistiche che possono essere utilizzati per valutare l'efficacia della strategia. Utilizzando questi dati, gli operatori possono ottimizzare e migliorare le loro strategie, trovare eventuali difetti tecnici o teoriche, e guadagnare la fiducia nella loro strategia prima di applicarlo ai mercati reali. La teoria di fondo è che qualsiasi strategia che ha funzionato bene in passato è in grado di lavorare bene in futuro, e viceversa, qualsiasi strategia che ha eseguito male in passato, è probabile che scarso rendimento in futuro. Questo articolo prende in esame quali applicazioni vengono utilizzate per backtest, che tipo di dati si ottiene, e come metterlo a utilizzare i dati e gli strumenti di backtesting può fornire un sacco di feedback statistico preziose su un dato sistema. Alcune statistiche backtesting universali includono: utile o la perdita - percentuale di guadagno netto o la perdita. Tempo di telaio - date passate in cui si è verificato prova ing. Universo - Azioni che sono stati inclusi nel backtest. misure di volatilità - Percentuale massima rialzo e ribasso. Medie - percentuale media di guadagno e la perdita media, bar media detenuta. L'esposizione - Percentuale del capitale investito (o esposta al mercato). Rapporti - Vittorie-to-perdite rapporto. Annualizzato ritorno - ritorno percentuale più di un anno. rendimento percentuale in funzione del rischio - rendimento corretto per il rischio. In genere, il software di backtesting avrà due schermi che sono importanti. Il primo permette al trader di personalizzare le impostazioni per il backtesting. Queste personalizzazioni comprendono tutto, dalla periodo di tempo di spese di commissione. Ecco un esempio di un tale schermo in AmiBroker: La seconda schermata è l'attuale rapporto di risultati dei test retrospettivi. Questo è dove si possono trovare tutte le statistiche di cui sopra. Ancora una volta, ecco un esempio di questa schermata in AmiBroker: In generale, la maggior parte di software commerciale contiene elementi simili. Alcuni programmi software di fascia alta includono anche funzionalità aggiuntive per eseguire il dimensionamento posizione automatica, l'ottimizzazione e altre funzioni più avanzate. I 10 Comandamenti Ci sono molti fattori commercianti prestare attenzione a quando sono backtesting strategie di trading. Ecco una lista delle 10 cose più importanti da ricordare, mentre backtesting: Prendere in considerazione le grandi tendenze del mercato nel lasso di tempo in cui è stata testata una determinata strategia. Ad esempio, se una strategia è stata backtested solo 1999-2000, potrebbe non passerai bene in un mercato orso. Spesso è una buona idea di backtest per un periodo di tempo lungo, che comprende diversi tipi di condizioni di mercato. Prendere in considerazione l'universo in cui si è verificato backtesting. Ad esempio, se un sistema ampio mercato viene testato con un universo composto da titoli tecnologici, potrebbe non riuscire a fare bene in diversi settori. Come regola generale, se la strategia è mirata verso un genere specifico di magazzino, di limitare l'universo di questo genere, ma, in tutti gli altri casi, mantenere un grande universo a scopo di test. misure di volatilità sono estremamente importanti per prendere in considerazione nello sviluppo di un sistema di trading. Questo è particolarmente vero per gli account di leveraged, che sono sottoposti a richieste di margini se il loro capitale scende sotto un certo punto. Gli operatori dovrebbero cercare di mantenere bassa volatilità, al fine di ridurre i rischi e consentire più facile la transizione dentro e fuori di un determinato stock. Il numero medio di bar detenuti è molto importante anche per guardare quando si sviluppa un sistema di trading. Sebbene la maggior parte del software di backtesting include spese di commissione nei calcoli finali, questo non significa che si dovrebbe ignorare questa statistica. Se possibile, aumentare il numero medio di bar possedute in grado di ridurre i costi di commissione, e migliorare il rendimento complessivo. L'esposizione è una spada a doppio taglio. Maggiore esposizione può portare a maggiori profitti o le perdite maggiori, mentre è diminuito l'esposizione significa minori profitti o perdite inferiori. Tuttavia, in generale, è una buona idea per mantenere l'esposizione al di sotto 70, al fine di ridurre il rischio e consentire agevole passaggio dentro e fuori di un determinato stock. La statistica medio-gainloss, in combinazione con il rapporto vittorie-per-le perdite, può essere utile per determinare la posizione ottimale dimensionamento e la gestione del denaro utilizzando tecniche come la Kelly Criterion. (Vedere Money Management utilizzando il criterio di Kelly.) Gli operatori possono assumere posizioni più grandi e ridurre i costi di commissione, aumentando i loro guadagni medi e aumentando il loro rapporto vittorie-to-perdite. rendimento annualizzato è importante perché è utilizzato come strumento per riferimento un sistema restituisce contro altre sedi di investimento. E 'importante non solo per esaminare il rendimento annualizzato generale, ma anche di prendere in considerazione il rischio aumentato o diminuito. Questo può essere fatto guardando il rendimento corretto per il rischio, che rappresenta vari fattori di rischio. Prima di un sistema di negoziazione è adottato, esso deve superare tutte le altre sedi di investimento a rischio uguale o inferiore. Backtesting personalizzazione è estremamente importante. Molte applicazioni backtesting hanno ingresso per gli importi delle commissioni, rotonde (o frazionali) lotto dimensioni, spunta dimensioni, i requisiti di margine, i tassi di interesse, ipotesi slittamento, le regole di posizione dimensionamento, regole di uscita dello stesso bar, (finali) fermare le impostazioni e molto altro ancora. P er ottenere i risultati dei test retrospettivi più accurati, i t è importante per regolare queste impostazioni per imitare il broker che verrà utilizzato quando il sistema va in diretta. Backtesting a volte può portare a qualcosa di noto come eccesso di ottimizzazione. Questa è una condizione in cui i risultati di prestazione sono sintonizzati così altamente al passato che sono più come esatte in futuro. E 'generalmente una buona idea per implementare regole che si applicano a tutti gli stock, o un gruppo selezionato di azioni mirate, e non sono ottimizzati nella misura in cui le regole non sono più comprensibili dal creatore sono. Backtesting non è sempre il modo più accurato per misurare l'efficacia di un dato sistema di trading. A volte le strategie che si sono esibiti bene in passato non riescono a fare bene nel presente. I rendimenti passati non sono indicativi di risultati futuri. Assicurarsi di commercio di carta un sistema che è stato con successo backtested prima di andare in diretta per essere sicuri che la strategia si applica ancora in pratica. Conclusione Backtesting è uno degli aspetti più importanti di sviluppo di un sistema di trading. Se creata e interpretata correttamente, può aiutare gli operatori a ottimizzare e migliorare le loro strategie, trovare eventuali difetti tecnici o teorici, così come acquisire fiducia in loro strategia prima di applicarlo ai mercati del mondo reale. Risorse Tradecision (tradecision) - High-end Trading System Development AmiBroker (AmiBroker) - Budget Trading System Development. Una teoria economica della spesa totale per l'economia e dei suoi effetti sulla produzione e l'inflazione. economia keynesiana è stato sviluppato. Una partecipazione di un bene in un portafoglio. Un investimento di portafoglio è realizzato con l'aspettativa di guadagnare un ritorno su di esso. Questo. Un rapporto sviluppato da Jack Treynor che misura i rendimenti ottenuti, superiori a quelle che avrebbero potuto essere guadagnati su un privo di rischio. Il riacquisto delle azioni in circolazione (riacquisto) da parte di una società al fine di ridurre il numero di azioni sul mercato. Aziende. Il rimborso fiscale è un rimborso sulle tasse pagate ad un individuo o famiglia quando l'onere fiscale effettivo è inferiore alla quantità. Il valore monetario di tutti i beni e servizi prodotti all'interno di un confini country039s in un momento specifico finiti period. Back-testando le vostre idee di trading Una delle cose più utili che si possono fare nella finestra di analisi è quello di back-testare la vostra strategia di trading su dati storici. Questo può dare informazioni preziose in punti di forza e punti deboli del sistema prima di investire soldi veri. Questa singola caratteristica AmiBroker è in grado di risparmiare un sacco di soldi per voi. Scrivere le regole di trading In primo luogo è necessario disporre di regole oggettive (o meccanica) per entrare e uscire dal mercato. Questo passaggio è la base della vostra strategia ed è necessario pensare a voi stessi quanto il sistema deve corrispondere la vostra tolleranza al rischio, le dimensioni del portafoglio, le tecniche di gestione del denaro, e molti altri fattori individuali. Una volta che avete le vostre proprie regole per la negoziazione si dovrebbe scrivere loro come comprare e vendere le regole in AmiBroker Formula Lanugage (più breve e la copertura se si desidera verificare anche breve di trading). In questo capitolo prenderemo in considerazione molto semplice, lo spostamento trasversale media nel sistema. Il sistema dovrebbe comprare stockscontracts quando vicino prezzo sale sopra 45 giorni di media mobile esponenziale e venderà stockscontracts quando vicino prezzo scende al di sotto di 45 giorni media mobile esponenziale. La media mobile esponenziale può essere calcolato in AFL usando la sua funzione di EMA built-in. Tutto quello che devi fare è specificare l'array di input e il periodo di media, quindi la media mobile esponenziale dei prezzi di chiusura di 45 giorni può essere ottenuta con la seguente dichiarazione: La stretta identificazione si riferisce a built-in matrice tenendo i prezzi degli simbolo attualmente analizzato chiusura . Per verificare se gli stretti croci di prezzo di cui sopra media mobile esponenziale useremo funzione built-in croce: acquistare croce (vicino, ema (vicino, 45)) La dichiarazione di cui sopra definisce una regola buy commerciale. Dà quot1quot o quottruequot quando chiudere croci di prezzo di cui sopra ema (vicino, 45). Poi possiamo scrivere la regola vendita che darebbe quot1quot quando situazione opposta si verifica - vicino croci di prezzo al di sotto ema (chiudi, 45): la vendita incrociata (EMA (vicino, 45), vicino) Si prega di notare che stiamo usando la stessa funzione di cross ma l'ordine inverso di argomenti. Così formula completa per lunghi commerci sarà simile a questa: acquistare croce (vicino, ema (vicino, 45)) vendere croce (EMA (vicino, 45), vicino) NOTA: Per creare nuova formula si prega di aprire Formula Editor utilizzando Analysis-gtFormula Editor Menu, digitare la formula e selezionare Strumenti-gtSend al menu Analysis in editor di formule per il back-testare il sistema è sufficiente fare clic sul pulsante Test Indietro nella finestra di analisi automatica. Assicurarsi di aver digitato nella formula che contiene almeno comprare e vendere regole di negoziazione (come mostrato sopra). Quando la formula è corretta AmiBroker inizia analizzare i simboli in base alle regole di negoziazione e genera un elenco di mestieri simulati. L'intero processo è molto veloce - è possibile eseguire il test di migliaia di simboli in una questione di minuti. La finestra di avanzamento vi mostrerà il tempo di completamento previsto. Se si desidera interrompere il processo si può semplicemente fare clic sul pulsante Annulla nella finestra di avanzamento. Quando il processo è finito l'elenco dei traffici simulati viene mostrato nella parte inferiore della finestra di analisi automatica. (Riquadro Risultati). È possibile esaminare se le comprano e vendono i segnali si sono verificati solo con un doppio clic sul commercio di riquadro Risultati. Questo vi darà segnali prime o non filtrati per ogni bar quando sono soddisfatte le condizioni di acquisto e di vendita. Se si desidera visualizzare solo i singoli frecce commerciali (apertura e chiusura commercio attualmente selezionata) si dovrebbe doppio clic sulla riga tenendo premuto il tasto SHIFT premuto. In alternativa è possibile scegliere il tipo di visualizzazione selezionando la voce appropriata dal menu contestuale che appare quando si fa clic sul riquadro dei risultati con un pulsante destro del mouse. Oltre all'elenco dei risultati è possibile ottenere statistiche molto dettagliate sulle prestazioni del sistema facendo clic sul pulsante Report. Per saperne di più circa le statistiche del rapporto si prega di consultare descrizione finestra del rapporto. Modifica delle impostazioni di test Pagina precedente la prova dei motori a AmiBroker utilizza alcuni valori predefiniti per eseguire il suo compito tra cui la dimensione del portafoglio, la periodicità (dailyweeklymonthly), la quantità di commissione, di tasso di interesse, perdita massima e target di profitto si ferma, il tipo di commerci, i campi dei prezzi e così sopra. Tutte queste impostazioni possono essere modificate dall'utente utilizzando finestra delle impostazioni. Dopo aver modificato le impostazioni si prega di ricordarsi di eseguire nuovamente il test indietro se si desidera che i risultati siano in sintonia con le impostazioni. Ad esempio, per eseguire il test barre settimanali invece di tutti i giorni è sufficiente fare clic sul pulsante Impostazioni selezionare settimanale da casella combinata Periodicità e fare clic su OK. quindi eseguire l'analisi facendo clic su Indietro prova. Riservato nomi delle variabili La tabella seguente mostra i nomi delle variabili riservate utilizzate da Analyser automatico. Il significato e gli esempi sul loro utilizzo sono riportate più avanti in questo capitolo. Permette il controllo importo in dollari o la percentuale di portafoglio che viene investito in commercio (vedi spiegazioni qui sotto) analisi automatica (nuova in 3.9) Fino ad ora abbiamo discusso l'uso abbastanza semplice del tester indietro. AmiBroker, tuttavia supporta molto più sofisticati metodi e concetti che saranno discusse più avanti in questo capitolo. Si prega di notare che l'utente principiante dovrebbe prima giocare un po 'con le tematiche più semplici di cui sopra prima di procedere. Così, quando si è pronti, si prega di dare un'occhiata alle seguenti caratteristiche di recente introduzione del back-tester: a) serie AFL di scripting per gli scrittori formula avanzata b) sostegno rafforzato per brevi Compravendite c) il modo per controllare l'ordine di prezzo di esecuzione del lo script d) vari tipi di fermate a tornare tester e) posizione dimensionamento f) la dimensione del lotto rotondo e spuntare le dimensioni g) i futures conto di deposito h) backtesting AFL host di scripting è un argomento avanzato che è coperto in un documento separato disponibile qui e non lo vorrei discutere in questo documento. restanti funzioni sono molto più facili da capire. Nelle versioni precedenti di AmiBroker, se si voleva sistema di back-test utilizzando compravendite sia lunghe che corte, si potrebbe simulare unica strategia stop-and-reverse. Quando la posizione lunga è stata chiusa una nuova posizione short è stato aperto immediatelly. E 'stato perché comprare e vendere variabili riservate sono stati utilizzati per entrambi i tipi di mestieri. Ora (con la versione 3.59 o superiore) ci sono variabili riservate separati per apertura e chiusura a lungo e breve tondo: acquistare - quottruequot o 1 valore si apre lungo commercio vendita - quottruequot o 1 Valore chiude lungo commerciali a breve - quottruequot o 1 Valore apre copertura commerciale a breve - quottruequot o 1 valore chiude breve commercio Som al fine di back-test di compravendite brevi è necessario assegnare variabili a breve e copertura. Se si utilizza il sistema stop-and-reverse (sempre sul mercato) è sufficiente assegnare vendita a breve e comprare per coprire la copertura short sell acquistare questo simula il modo pre-3.59 versioni lavorato. Ma ora AmiBroker consente di avere regole di negoziazione separati per andare a lungo e per andare a breve, come mostrato in questo semplice esempio: commerci lungo le regole di entrata e di uscita: acquistare croce (CCI (), 100) vendere croce (100, CCI ()) breve mestieri di entrata e uscita regole: cross corto (-100, CCI ()) coprire croce (CCI (), -100) si noti che in questo esempio se CCI è compreso tra -100 e 100 si è fuori dal mercato. Il controllo dei prezzi commercio AmiBroker ora offre 4 nuove variabili riservate per specificare il prezzo al quale comprare, vendere, vengono eseguiti gli ordini brevi e copertura. Questi array hanno i seguenti nomi: buyprice, sellprice, shortprice e coverprice. L'applicazione principale di queste variabili è il controllo prezzo commerciale: BuyPrice IIF (DAYOFWEEK () 1, HIGH, CLOSE) il Lunedi comprare a alta, altrimenti acquistare su una stretta Così si può scrivere il seguente per simulare reali di stop-ordini: BuyStop. La formula per il livello di arresto buy SellStop. La formula per il livello di arresto vendere se in qualsiasi momento durante i prezzi al giorno salgono sopra il livello del buystop (highgtbuystop) l'ordine di acquisto si svolge (a buystop o basso a seconda di quale sia superiore) Acquista Croce (alta, BuyStop) se in qualsiasi momento durante i prezzi al giorno scendono sotto il livello del sellprice (basso sellstop lt) l'ordine di vendita si svolge (ad sellstop o alto se inferiore) collocare Croce (SellPrice, sellStop) BuyPrice max (BuyStop, low) assicurarsi prezzo di acquisto non inferiore a bassa SellPrice min (sellStop, high) accertarsi prezzo non superiore ad alta si prega di notare che i preset AmiBroker buyprice, sellprice, shortprice e matrice coverprice variabili con i valori definiti nel sistema di finestra delle impostazioni di test (vedi sotto) vendere, in modo da poter, ma non avete bisogno di definirli nella formula. Se non li definiscono AmiBroker funziona come nelle vecchie versioni. Durante back-testing AmiBroker controllerà se i valori assegnati a buyprice, sellprice, shortprice, coverprice inserirsi in alta gamma bassa di data bar. In caso contrario, AmiBroker regolerà a prezzo elevato (se il valore prezzo dell'array è superiore a quello alto) o per il prezzo basso (se il valore prezzo dell'array è inferiore a quello basso) obiettivo di profitto si ferma Come si può vedere nella foto sopra, nuove impostazioni per fermate obiettivo di profitto sono disponibili nella finestra delle impostazioni di test del sistema. fermate obiettivo di profitto vengono eseguiti quando il prezzo elevato per un dato giorno exceedes il livello di arresto che può essere dato in percentuale o punto di aumento del prezzo di acquisto. Per impostazione predefinita arresti sono eseguiti al prezzo che si definisce come serie prezzo di vendita (per lunghi commerci) o una matrice prezzo di copertina (per brevi trades). Questo comportamento può essere modificato utilizzando quotExit in funzione stopquot. quotExit in funzione stopquot Se si contrassegna quotExit a scatola stopquot nelle impostazioni verranno eseguiti gli arresti a livello di arresto preciso, vale a dire se si definisce profitto fermata target a 10 vostra fermata e il prezzo di acquisto è stato di 50 ordine di arresto verrà eseguito a 55, anche se la matrice prezzo di vendita contiene un valore diverso (ad esempio prezzo di chiusura di 56). perdita massima si ferma il lavoro in un modo simile - vengono effettuate quando il prezzo basso per un dato giorno scende sotto il livello di arresto che può essere dato in percentuale o punto di aumento del prezzo di acquisto di questo tipo di arresto viene utilizzato per proteggere i profitti in quanto ascolti il ​​commercio così ogni volta che un valore di posizione raggiunge un nuovo massimo, il trailing stop è posta ad un livello superiore. Quando il profitto scende sotto il livello trailing stop la posizione viene chiusa. Questo meccanismo è illustrato nella figura sottostante (10 trailing stop viene mostrato): un esempio di implementazione a basso livello di arresto Profit-bersaglio in AFL: Acquisto Cross (MACD (), Signal ()) per (i 0 i lt BarCount i) if (priceatbuy 0 Acquista i) BuyPrice priceatbuy i if (priceatbuy GT 0 SellPrice i gt 1.1 priceatbuy) Vendi i 1 SellPrice i 1.1 priceatbuy priceatbuy 0 altro Vendi I 0 Questa è una nuova funzionalità nella versione 3.9. Posizione dimensionamento in backtester è attuato mediante nuova riservato variabile PositionSize ltsize arraygt Ora è possibile controllare importo in dollari o la percentuale di portafoglio che viene investito nel commercio numero positivo definire quantità (in dollari) che viene investito nel commercio, ad esempio: PositionSize 1000 invest 1000 in ogni commercio numeri negativi -100 ..- 1 definire percentuale: -100 dà 100 di dimensioni portafoglio attuale, -33 dà 33 di disposizione patrimoniale per esempio: PositionSize -50 sempre investe solo la metà dell'esempio dimensionamento dinamico corrente del patrimonio netto: PositionSize - 100 RSI () come RSI varia da 0..100 questo si tradurrà in posizione a seconda dei valori RSI - gt bassi valori di RSI si tradurrà in maggiore percentuale investita Se meno di 100 di cassa disponibile è investito quindi l'importo residuo guadagna tasso di interesse come definito nelle impostazioni. C'è anche una nuova casella di controllo nella finestra delle impostazioni AA: quotAllow dimensione della posizione shrinkingquot - questo controlla come backtester gestisce la situazione quando richiesto dimensione della posizione (tramite variabile PositionSize) supera disponibilità liquide: quando questo flag è selezionata la posizione è entrato con la dimensione shinked a cassa disponibile se è selezionata la posizione non viene inserito. Per vedere dimensioni reali di posizione si prega di utilizzare una nuova modalità di rapporto nella finestra delle impostazioni AA: lista quotTrade con prezzi e pos. sizequot Per la fine, ecco un esempio di posizione Tharps ATR-based dimensionamento tecnica codificato in AFL: Acquisto ltyour acquistare formula heregt vendi 0 vendita solo da arresto TrailStopAmount 2 ATR (20) Capitale 100000 IMPORTANTE: Impostare anche nelle Impostazioni: Initial rischio azionario 0.01Capital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, 2, TrailStopAmount, 1) la tecnica potrebbe essere riassunto come segue: il patrimonio totale per simbolo è 100.000, abbiamo impostato il livello di rischio a 1 del capitale totale. Livello di rischio è definito come segue: se un Trailing Stop su un 50 azionario è, diciamo, 45 (il valore di due ATR contro la posizione), la perdita di 5 è suddiviso in rischio 1000 a dare 200 azioni da acquistare. Quindi, il rischio di perdita è di 1000, ma il rischio di assegnazione è di 200 azioni x 50share o 10.000. Quindi, stiamo attribuendo il 10 del capitale per l'acquisto, ma solo rischiando 1000. (estratto a cura dalla mailing list AmiBroker) di dimensioni molto rotonda e di dimensioni tick Vari strumenti sono negoziati con vari unitsquot quottrading o quotblocksquot. Per esempio è possibile acquistare il numero frazionario di unità di fondo comune, ma non è possibile acquistare il numero frazionario di azioni. A volte è necessario acquistare in 10s o 100s lotti. AmiBroker ora consente di specificare la dimensione del blocco a livello globale e per-simbolo. È possibile definire per-simbolo dimensioni molto rotondo nella pagina Symbol-gtInformation (fig. 3). Il valore di zero significa che il simbolo non ha formato speciale molto rotondo e utilizzerà quotDefault molto sizequot rotondo (impostazione globale) dalla pagina delle impostazioni analisi automatica (fig. 1). Se la dimensione di default è impostato anche a zero significa che il numero frazionario di sharescontracts sono ammessi. È inoltre possibile controllare la dimensione del lotto rotonda direttamente dal vostro formula AFL utilizzando RoundLotSize riservato variabile, ad esempio: Questa impostazione controlla il movimento di prezzo minimo di una data simbolo. Si può definire a livello globale e per-simbolo. Come con la dimensione del lotto rotondo, è possibile definire per-simbolo dimensioni segno di spunta nella pagina di Symbol-gtInformation (fig. 3). Il valore di zero indica AmiBroker utilizzare quotdefault tick sizequot definito nella pagina delle impostazioni (fig. 1) di finestra di analisi automatica. Se la dimensione predefinita zecca è anche impostato a zero vuol dire che non esiste un prezzo minimo di movimento. È possibile impostare e recuperare la dimensione del segno di spunta anche da AFL formula utilizzando TickSize riservato variabile, ad esempio: Si noti che l'impostazione della dimensione tick influisce compravendite uscito dal built-in ferma Andor ApplyStop (). Il backtester presuppone che i dati sui prezzi seguono requisiti di dimensione zecche e non cambia le matrici di prezzi forniti dall'utente. Così dimensioni specificando tick ha senso solo se si sta utilizzando built-in così smette di punti di uscita vengono generati livelli di prezzo quotallowedquot invece di quelli calcolati. Per esempio in Giappone - non si può avere parti frazionarie di yen così si dovrebbe definire ticksize globale a 1, in modo integrato ferma uscire mestieri a livelli interi. impostazione del margine account definisce requisito di margine percentuale per l'intero account. Il valore predefinito di margine di account è 100. Questo significa che è necessario fornire 100 fondi per entrare nel commercio, e questo è il modo in cui backtester lavorato nelle versioni precedenti. Ma ora è possibile simulare un conto di deposito. Quando si acquista a margine si sta semplicemente prendendo in prestito i soldi dal proprio broker di acquistare azioni. Con normativa vigente si può mettere su 50 del prezzo di acquisto delle azioni che si desidera acquistare e prendere in prestito l'altra metà dal vostro broker. Per simulare questo basta inserire 50 nel campo margine di account (vedi fig. 1). Se il vostro capitale intial è impostato su 10000 vostro potere d'acquisto sarà poi 20000 e si sarà in grado di entrare in posizioni più grandi. Si prega di notare che questa impostazioni imposta il margine per l'intero account e non è legato alla negoziazione dei futures a tutti. In altre parole è possibile negoziare titoli sul conto di deposito. casella di controllo quotReverse forze segnale di entrata exitquot alle impostazioni Backtester. Quando è su ON (l'impostazione predefinita) - backtester funziona come nelle versioni precedenti e chiude già positon aperta se viene rilevato nuovo segnale di ingresso in direzione inversa. Se questo switch è OFF - anche in caso di segnale d'inversione backtester mantiene commercio aperto e non si chiude positon fino all'uscita regolare (vendita o il coperchio) viene generato il segnale. In altre parole, quando questo interruttore è spento backtester ignora i segnali brevi durante i lunghi commerci e ignora segnali di compra durante brevi compravendite. quotAllow stessa uscita bar (singola barra commercio) opzione quot alle impostazioni Quando è su ON (le impostazioni di default) - ingresso e di uscita per lo stesso bar è consentito (come nelle versioni precedenti) se è spento - uscita può avvenire a partire dal solo accanto bar (questo vale per i segnali regolari, vi è una regolazione separata per le uscite ApplyStop generati). Commutazione su OFF permette di riprodurre il comportamento di MS backtester che non è in grado di gestire stesse uscite giorno. quotActivate ferma impostazione immediatelyquotThis risolve il problema dei sistemi di controllo che entrano compravendite sul mercato aperto. Nelle versioni precedenti alla 4.09 backtester presume che si stava entrando compravendite sul mercato vicino in modo fermate built-in sono stati attivati ​​a partire dal giorno successivo. Il problema è stato quando si infatti definito prezzo di apertura come il prezzo di entrata commercio - allora stesse fluttuazioni di prezzo giorno non innescano le fermate. C'erano alcune soluzioni pubblicati basati sul codice AFL, ma ora non avete bisogno di usarli. Semplicemente se il commercio su aperta si dovrebbe contrassegnare quotActivate ferma immediatelyquot (fig. 1). Si può chiedere perché non si limitano a controllare la matrice buyprice o shortprice se è uguale al prezzo di apertura. Purtroppo questo non funzionerà. Perché semplicemente perché ci sono giorni in cui doji prezzo di apertura è uguale a chiudere e poi backtester non potrà mai sapere se il commercio è stato immesso al mercato aperto o chiuso. Quindi, abbiamo davvero bisogno di un ambiente separato. quotUse QuickAFLquotQuickAFL (tm) è una funzione che permette una più veloce calcolo AFL in determinate condizioni. Inizialmente (dal 2003) era disponibile solo per gli indicatori, a partire dalla versione 5.14 è disponibile in analisi automatica troppo. Inizialmente l'idea era quella di consentire grafico più veloce ridisegna attraverso il calcolo AFL formula solo per quella parte che è visibile sul grafico. In modo simile, finestra di analisi automatica può utilizzare sottoinsieme di quotazioni disponibili per calcolare AFL, se selezionato parametro 8220range8221 è inferiore 8220All quotationsquot. spiegazione dettagliata su come funziona QuickAFL e come controllarlo, viene fornita in questo articolo della Knowledge Base: amibrokerkb20080703quickafl Si noti che questa opzione non funziona solo in backtester, ma anche in ottimizzazioni, esplorazioni e scans. AmiBroker codice AmiBroker CodeForTraders catalogo è lieta di presentare il nuovo codice per la piattaforma AmiBroker, incluso il supporto arco di tempo di più. Ottimizzazione Iterazione Ricarica Ottimizzazione Iterazione Ricarica per AmiBroker - Infine, un modo semplice e veloce per ricaricare ogni iterazione di un'ottimizzazione AmiBroker per backtesting Andor visualizzazione grafico. Vedere ciò che è necessario vedere rapidamente, e reclamare il tuo ottimo momento, i punti a basso costo di partenza per l'analisi e l'ulteriore sviluppo: RSI strategia Suite per AmiBroker - La Suite strategia RSI per AmiBroker offre una formula primaria RSI a base di AFL, insieme con formule accessori , che insieme implementano un insieme di analisi, la visualizzazione, la presentazione e le tecniche di ottimizzazione per creare una soluzione completa per la ricerca 4 linee indicatore di trading. L'RSI strategia Suite è al tempo stesso uno strumento di lavoro e di un tutorial per l'uso di AFL, che può servire come punto di partenza per altri progetti. CCI strategia Suite per AmiBroker - La Suite strategia CCI per AmiBroker offre una formula primaria CCI a base di AFL, insieme con le formule di accessori, che, insieme, realizzare una raccolta di analisi, la visualizzazione, la presentazione e le tecniche di ottimizzazione per creare una soluzione completa per 4 linee la ricerca indicatore di trading. Il CCI strategia Suite è al tempo stesso uno strumento di lavoro e di un tutorial per l'uso di AFL, che può servire come punto di partenza per altri progetti. LRS strategia Suite per AmiBroker - La Suite strategia LRS per AmiBroker offre una formula AFL LRS-based primario, insieme con le formule di accessori, che, insieme, realizzare una raccolta di analisi, la visualizzazione, la presentazione e le tecniche di ottimizzazione per creare una soluzione completa per 4 linee la ricerca indicatore di trading. Il LRS strategia Suite è al tempo stesso uno strumento di lavoro e di un tutorial per l'uso di AFL, che può servire come punto di partenza per altri progetti. Qualsiasi della strategia Suite sopra potrebbe essere usato un punto di partenza per la costruzione di uno degli altri. Acquistare solo uno per costo più basso, o comprare più di uno per la massima praticità e possibilità di visualizzare immediatamente le differenze in un programma di confronto di file. ZigZag strategia Suite per AmiBroker - La Suite strategia ZigZag per AmiBroker offre una formula primaria ZigZag a base di AFL, insieme con le formule di accessori, che, insieme, realizzare una raccolta di analisi, la visualizzazione, la presentazione e le tecniche di ottimizzazione per creare una soluzione completa per l'analisi retrospettiva di negoziazione o dissolvenza zig-zag. Momo strategia Suite, Deluxe TimeFrame versione per AmiBroker - Il Momo strategia Suite, Deluxe TimeFrame versione per AmiBroker offre 3 varianti della sua primaria formula AFL slancio a base, insieme con le formule di accessori, che, insieme, realizzare una raccolta di analisi, la visualizzazione, la presentazione, e tecniche di ottimizzazione per creare una soluzione completa per lo scambio di quantità di moto al giorno o intraday. Deluxe temporale Suites L'RSI, CCI, e LRS strategia Suite sono disponibili sia in versione normale e deluxe lasso di tempo. Potente backtesting multi-temporale, l'ottimizzazione e la visualizzazione è ora pronta all'uso. Perché i pesanti di sollevamento da soli (Il Momo strategia Suite è disponibile solo in versione Deluxe TimeFrame.) Copyright 2003-2013 Steve Johns, tutti i diritti reserved. Successful Backtesting di 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. There are two main ways to mitigate survivorship bias in your strategy backtests: Survivorship Bias Free Datasets - In the case of equity data it is possible to purchase datasets that include delisted entities, although they are not cheap and only tend to be utilised by institutional firms. In particular, Yahoo Finance data is NOT survivorship bias free, and this is commonly used by many retail algo traders. One can also trade on asset classes that are not prone to survivorship bias, such as certain commodities (and their future derivatives). Use More Recent Data - In the case of equities, utilising a more recent data set mitigates the possibility that the stock selection chosen is weighted to survivors, simply as there is less likelihood of overall stock delisting in shorter time periods. One can also start building a personal survivorship-bias free dataset by collecting data from current point onward. After 3-4 years, you will have a solid survivorship-bias free set of equities data with which to backtest further strategies. We will now consider certain psychological phenomena that can influence your trading performance. Psychological Tolerance Bias This particular phenomena is not often discussed in the context of quantitative trading. However, it is discussed extensively in regard to more discretionary trading methods. It has various names, but Ive decided to call it psychological tolerance bias because it captures the essence of the problem. When creating backtests over a period of 5 years or more, it is easy to look at an upwardly trending equity curve, calculate the compounded annual return, Sharpe ratio and even drawdown characteristics and be satisfied with the results. As an example, the strategy might possess a maximum relative drawdown of 25 and a maximum drawdown duration of 4 months. This would not be atypical for a momentum strategy. It is straightforward to convince oneself that it is easy to tolerate such periods of losses because the overall picture is rosy. However, in practice, it is far harder If historical drawdowns of 25 or more occur in the backtests, then in all likelihood you will see periods of similar drawdown in live trading. These periods of drawdown are psychologically difficult to endure. I have observed first hand what an extended drawdown can be like, in an institutional setting, and it is not pleasant - even if the backtests suggest such periods will occur. The reason I have termed it a bias is that often a strategy which would otherwise be successful is stopped from trading during times of extended drawdown and thus will lead to significant underperformance compared to a backtest. Thus, even though the strategy is algorithmic in nature, psychological factors can still have a heavy influence on profitability. The takeaway is to ensure that if you see drawdowns of a certain percentage and duration in the backtests, then you should expect them to occur in live trading environments, and will need to persevere in order to reach profitability once more. Software Packages for Backtesting The software landscape for strategy backtesting is vast. Solutions range from fully-integrated institutional grade sophisticated software through to programming languages such as C, Python and R where nearly everything must be written from scratch (or suitable plugins obtained). As quant traders we are interested in the balance of being able to own our trading technology stack versus the speed and reliability of our development methodology. Here are the key considerations for software choice: Programming Skill - The choice of environment will in a large part come down to your ability to program software. I would argue that being in control of the total stack will have a greater effect on your long term PL than outsourcing as much as possible to vendor software. This is due to the downside risk of having external bugs or idiosyncrasies that you are unable to fix in vendor software, which would otherwise be easily remedied if you had more control over your tech stack. You also want an environment that strikes the right balance between productivity, library availability and speed of execution. I make my own personal recommendation below. Execution CapabilityBroker Interaction - Certain backtesting software, such as Tradestation, ties in directly with a brokerage. I am not a fan of this approach as reducing transaction costs are often a big component of getting a higher Sharpe ratio. If youre tied into a particular broker (and Tradestation forces you to do this), then you will have a harder time transitioning to new software (or a new broker) if the need arises. Interactive Brokers provide an API which is robust, albeit with a slightly obtuse interface. Customisation - An environment like MATLAB or Python gives you a great deal of flexibility when creating algo strategies as they provide fantastic libraries for nearly any mathematical operation imaginable, but also allow extensive customisation where necessary. Strategy Complexity - Certain software just isnt cut out for heavy number crunching or mathematical complexity. Excel is one such piece of software. While it is good for simpler strategies, it cannot really cope with numerous assets or more complicated algorithms, at speed. Bias Minimisation - Does a particular piece of software or data lend itself more to trading biases You need to make sure that if you want to create all the functionality yourself, that you dont introduce bugs which can lead to biases. Speed of Development - One shouldnt have to spend months and months implementing a backtest engine. Prototyping should only take a few weeks. Make sure that your software is not hindering your progress to any great extent, just to grab a few extra percentage points of execution speed. C is the elephant in the room here Speed of Execution - If your strategy is completely dependent upon execution timeliness (as in HFTUHFT) then a language such as C or C will be necessary. However, you will be verging on Linux kernel optimisation and FPGA usage for these domains, which is outside the scope of this article Cost - Many of the software environments that you can program algorithmic trading strategies with are completely free and open source. In fact, many hedge funds make use of open source software for their entire algo trading stacks. In addition, Excel and MATLAB are both relatively cheap and there are even free alternatives to each. Now that we have listed the criteria with which we need to choose our software infrastructure, I want to run through some of the more popular packages and how they compare: Note: I am only going to include software that is available to most retail practitioners and software developers, as this is the readership of the site. While other software is available such as the more institutional grade tools, I feel these are too expensive to be effectively used in a retail setting and I personally have no experience with them. Backtesting Software Comparison Description: High-level language designed for speed of development. Wide array of libraries for nearly any programmatic task imaginable. Gaining wider acceptance in hedge fund and investment bank community. Not quite as fast as CC for execution speed. Execution: Python plugins exist for larger brokers, such as Interactive Brokers. Hence backtest and execution system can all be part of the same tech stack. Customisation: Python has a very healthy development community and is a mature language. NumPySciPy provide fast scientific computing and statistical analysis tools relevant for quant trading. Strategy Complexity: Many plugins exist for the main algorithms, but not quite as big a quant community as exists for MATLAB. Bias Minimisation: Same bias minimisation problems exist as for any high level language. Need to be extremely careful about testing. Development Speed: Pythons main advantage is development speed, with robust in built in testing capabilities. Execution Speed: Not quite as fast as C, but scientific computing components are optimised and Python can talk to native C code with certain plugins. Cost: FreeOpen Source Description: Mature, high-level language designed for speed of execution. Wide array of quantitative finance and numerical libraries. Harder to debug and often takes longer to implement than Python or MATLAB. Extremely prevalent in both the buy - and sell-side. Execution: Most brokerage APIs are written in C and Java. Thus many plugins exist. Customisation: CC allows direct access to underlying memory, hence ultra-high frequency strategies can be implemented. Strategy Complexity: C STL provides wide array of optimised algorithms. Nearly any specialised mathematical algorithm possesses a free, open-source CC implementation on the web. Bias Minimisation: Look-ahead bias can be tricky to eliminate, but no harder than other high-level language. Good debugging tools, but one must be careful when dealing with underlying memory. Development Speed: C is quite verbose compared to Python or MATLAB for the same algorithmm. More lines-of-code (LOC) often leads to greater likelihood of bugs. Execution Speed: CC has extremely fast execution speed and can be well optimised for specific computational architectures. This is the main reason to utilise it. Cost: Various compilers: LinuxGCC is free, MS Visual Studio has differing licenses. Different strategies will require different software packages. HFT and UHFT strategies will be written in CC (these days they are often carried out on GPUs and FPGAs ), whereas low-frequency directional equity strategies are easy to implement in TradeStation, due to the all in one nature of the softwarebrokerage. My personal preference is for Python as it provides the right degree of customisation, speed of development, testing capability and execution speed for my needs and strategies. If I need anything faster, I can drop in to C directly from my Python programs. One method favoured by many quant traders is to prototype their strategies in Python and then convert the slower execution sections to C in an iterative manner. Eventually the entire algo is written in C and can be left alone to trade In the next few articles on backtesting we will take a look at some particular issues surrounding the implementation of an algorithmic trading backtesting system, as well as how to incorporate the effects of trading exchanges. We will discuss strategy performance measurement and finally conclude with an example strategy. Appena iniziato con Trading Quantitative

No comments:

Post a Comment