Utilizzando algoritmi genetici per prevedere i mercati finanziari Burton ha suggerito nel suo libro, A zonzo per Wall Street, (1973) che, Una scimmia bendato lanciando freccette a una pagine finanziarie giornali potrebbe selezionare un portafoglio che farebbe altrettanto bene come uno accuratamente selezionati da esperti. Mentre l'evoluzione può aver fatto l'uomo più intelligente in stock picking, la teoria di Charles Darwin ha molto efficace se applicato in modo più diretto. (Per aiutarvi a scegliere le scorte, verificare come scegliere un Fotografici.) Quali sono Algoritmi Genetici Gli algoritmi genetici (GA) sono problem solving metodi (o euristica) che imitano il processo di evoluzione naturale. A differenza delle reti neurali artificiali (ANN), progettati per funzionare come i neuroni nel cervello, questi algoritmi utilizzano il concetto di selezione naturale per determinare la migliore soluzione per un problema. Come risultato, il gas sono comunemente utilizzati come ottimizzatori che regolano parametri per minimizzare o massimizzare qualche misura feedback, che possono poi essere utilizzati indipendentemente o nella costruzione di una ANN. Nei mercati finanziari. algoritmi genetici sono più comunemente utilizzati per trovare i migliori valori combinazione di parametri in una regola di trading, e possono essere integrati in modelli ANN progettati per raccogliere le scorte e identificare i commerci. Diversi studi hanno dimostrato che questi metodi possono rivelarsi efficaci, tra cui Genetic Algorithms: genesi di azioni di valutazione (2004) di Rama, e le applicazioni degli algoritmi genetici in Borsa Data Mining Optimization (2004) di Lin, Cao, Wang, Zhang. (Per ulteriori informazioni su ANN, vedere Reti Neurali:. I profitti di previsione) Come si creano algoritmi genetici algoritmi genetici lavoro matematicamente utilizzando vettori, che sono le quantità che hanno la direzione e la grandezza. Parametri per ogni regola negoziazione sono rappresentati con un vettore monodimensionale che può essere pensato come un cromosoma in termini genetici. Nel frattempo, i valori utilizzati in ogni parametro possono essere pensati come i geni, che sono poi modificati utilizzando la selezione naturale. Ad esempio, una regola di trading può comportare l'uso di parametri come Moving Convergence Divergence-media (MACD). Media mobile esponenziale (EMA) e Stocastico. Un algoritmo genetico sarebbe poi i valori di ingresso in questi parametri con l'obiettivo di massimizzare l'utile netto. Nel corso del tempo, vengono introdotti piccoli cambiamenti e quelli che fanno un impatto preferibilmente vengono mantenute per la prossima generazione. Ci sono tre tipi di operazioni genetiche che possono poi essere eseguite: crossover rappresentano la riproduzione e incrocio biologico visto in biologia, per cui un bambino assume certe caratteristiche dei suoi genitori. Mutazioni rappresentano mutazione biologica e sono utilizzati per mantenere la diversità genetica da una generazione di una popolazione all'altra introducendo piccoli cambiamenti casuali. Le selezioni sono la fase in cui i singoli genomi sono scelti da una popolazione per la riproduzione successiva (ricombinazione o crossover). Questi tre operatori vengono quindi utilizzati in un processo in cinque fasi: Inizializza una popolazione casuale, in cui ciascun cromosoma è n - LUNGHEZZA, con n è il numero di parametri. Cioè, un numero casuale di parametri sono stabiliti con n elementi ciascuno. Selezionare i cromosomi, o parametri, che aumentano i risultati desiderabili (profitto presumibilmente netto). Applicare operatori di mutazione o di crossover ai genitori selezionati e generare una prole. Ricombinare prole e la popolazione corrente per formare una nuova popolazione con l'operatore di selezione. Ripetere i passaggi 2-4. Nel corso del tempo, questo processo si tradurrà in cromosomi sempre più favorevoli (o, parametri) per l'utilizzo in una regola di trading. Il processo viene poi terminata quando un criterio di arresto è soddisfatti, che possono includere tempo di esecuzione, il fitness, il numero di generazioni o altri criteri. (Per ulteriori informazioni su MACD, leggere Trading L'MACD divergenza.) Utilizzando algoritmi genetici in Trading Mentre gli algoritmi genetici sono utilizzati principalmente dai commercianti quantitative istituzionali. singoli operatori possono sfruttare la potenza degli algoritmi genetici - senza una laurea in matematica avanzata - utilizzando diversi pacchetti software sul mercato. Queste soluzioni vanno da pacchetti software standalone orientate verso i mercati finanziari a Microsoft Excel add-on che possono facilitare più hands-on analisi. Quando si utilizzano queste applicazioni, gli operatori possono definire una serie di parametri che vengono poi ottimizzati utilizzando un algoritmo genetico e un set di dati storici. Alcune applicazioni possono ottimizzare i parametri che vengono utilizzati e dei loro valori, mentre altri tratti principalmente semplicemente ottimizzando i valori per un dato insieme di parametri. (Per ulteriori informazioni su queste strategie programma derivato, vedere la potenza di Programma Mestieri.) Importanti suggerimenti per l'ottimizzazione e il montaggio Tricks Curve (Overfitting), la progettazione di un sistema di negoziazione intorno a dati storici, piuttosto che identificare il comportamento ripetibile, rappresenta un potenziale rischio per i commercianti che utilizzano algoritmi genetici. Qualsiasi sistema di scambio di utilizzare il gas deve essere in avanti-testato su carta prima di utilizzo dal vivo. La scelta dei parametri è una parte importante del processo, e gli operatori dovrebbero cercare parametri che correlano alle variazioni del prezzo di un determinato titolo. Ad esempio, provare diversi indicatori e vedere se sembrano correlare con importanti giri di mercato. Gli algoritmi genetici sono modi unici per risolvere problemi complessi sfruttando la potenza della natura. Applicando questi metodi per prevedere i prezzi dei titoli, i commercianti possono ottimizzare regole di negoziazione, individuando i migliori valori da utilizzare per ogni parametro per un determinato titolo. Tuttavia, questi algoritmi non sono il Santo Graal, e gli operatori devono fare attenzione a scegliere i giusti parametri e non Adattamento curva (oltre Fit). (Per saperne di più sul mercato, controlla ascoltare il mercato, non la sua pandit.) Beta è una misura della volatilità o rischio sistematico, di un titolo o di un portafoglio rispetto al mercato nel suo complesso. Un tipo di imposta riscossa sulle plusvalenze sostenute da individui e aziende. Le plusvalenze sono i profitti che un investitore. Un ordine per l'acquisto di un titolo pari o inferiore a un determinato prezzo. Un ordine di acquisto limite consente agli operatori e agli investitori di specificare. Un Internal Revenue Service (IRS) regola che consente per i prelievi senza penalità da un account IRA. La regola prevede che. La prima vendita di azioni da una società privata al pubblico. IPO sono spesso emesse da piccole, le aziende più giovani che cercano la. Rapporto DebtEquity è rapporto debito utilizzato per misurare una leva finanziaria company039s o un rapporto debito utilizzato per misurare un individual. MetaTrader 4 - Tester Genetici Algoritmi contro Ricerca semplice nel MetaTrader 4 Optimizer 1. Quali sono algoritmi genetici Il MetaTrader 4 piattaforma offre ora genetica algoritmi di ottimizzazione degli interventi degli esperti consulenti. Si riducono i tempi di ottimizzazione in modo significativo, senza alcuna invalidazione significativa di test. Il loro principio di funzionamento è descritto in articolo intitolato Algoritmi Genetici: matematica nei dettagli. Questo articolo è dedicato a EA ingressi ottimizzazione utilizzando algoritmi genetici rispetto ai risultati ottenuti utilizzando, ricerca diretta completa dei valori dei parametri. 2. il consulente esperto Per i miei esperimenti, ho un po 'completato l'EA nome CrossMACD che potrebbe essere conosciuta dalla Direzione articolo chiamato ordini - la sua semplice: Aggiunto StopLoss e TakeProfit alle posizioni poste. Aggiunto Trailing Stop. Usato parametro OpenLuft per filtrare i segnali: Ora segnale arriverà se la linea dello zero è attraversata a una certa quantità di punti (con la precisione di un decimale). Aggiunto CloseLuft parametro per la simile filtraggio dei segnali stretti. Mettere in variabili expernal i periodi di lento e le medie in rapido movimento utilizzati per i calcoli MACD. Ora è un Expert Advisor praticamente completato. Sarà conveniente per ottimizzare e utilizzare nel commercio. È possibile scaricare EA CrossMACDDeLuxe. mq4 al PC e testarlo in modo indipendente. 3. Ottimizzazione Ora possiamo iniziare ad ottimizzare l'EA. Tre test saranno condotti con diverse quantità di ricerche ottimizzazione. Ciò contribuirà a confrontare i profitti ottenuti usando algoritmi genetici in varie situazioni. Dopo ogni prova, io rimuovere manualmente la cache tester per le prove successive non utilizzare le combinazioni già trovati. Questo è necessario solo per l'esperimento per essere più precisi - normalmente, chaching automatizzato dei risultati solo migliora l'ottimizzazione ripetuta. Per confrontare i risultati. ottimizzazione utilizzando algoritmi genetici sarà effettuata due volte: prima volta - al fine di trovare il profitto massimo (Profit), secondo tempo per trovare il più alto fattore di profitto (Fattore di Rendimento). Dopo di che, i migliori tre risultati per entrambi i metodi di ottimizzazione saranno riportati nella tabella relazione di sintesi ordinati per le colonne dati. L'ottimizzazione è puramente sperimentale. Questo articolo non è destinato a trovare gli ingressi che sarebbe davvero fare grandi profitti. simbolo grafico grafico EURUSD periodo 1 periodo di prova di 2 anni che modellano i prezzi di Open ingressi solo ha cercato in: Si deve notare che, quando si utilizza algoritmi genetici, l'orario previsto per l'ottimizzazione è circa la stessa di quella di ottimizzazione utilizzando la ricerca ingressi diretti. La differenza è che un algoritmo genetico schermi continuamente le combinazioni certamente falliti e, in questo modo, riduce la quantità di prove necessarie parecchie volte (forse diverse decine, centinaia, migliaia di volte). Questo è il motivo per cui non si dovrebbe essere orientata al tempo di ottimizzazione previsto quando si utilizza algoritmi genetici. Il tempo di ottimizzazione reale sarà sempre più breve: Come si vede, l'ottimizzazione utilizzando algoritmi genetici sono voluti meno di quattro minuti invece dei previsti cinque ore e mezza. Grafico Ottimizzazione con algoritmi genetici è diversa da quella con la ricerca diretta. Dal momento che le combinazioni cattivi sono già stati proiettati fuori, le prove successive sono condotte con combinazioni di input che sono più redditizi per impostazione predefinita. Questo è il motivo per cui il grafico bilancia sale: Consideriamo i risultati di entrambi i metodi di ottimizzazione in tutti i dettagli. La situazione è cambiata. I periodi di ottimizzazione coincidono (errore trascurabile è ricevibile), ed i risultati sono identici. Ciò può essere spiegato attraverso quella ottimizzazione consisteva solo 1.331 ricerche e questa quantità di passaggi non è sufficiente per utilizzando algoritmi genetici. non hanno il tempo di prendere velocità - l'ottimizzazione è più veloce a causa di screening fuori certamente perdere combinazioni ingressi, ma che sia tale quantità di combinazioni di cui sopra, gli algoritmi genetici non possono definire quello che i genitori (ingressi combinazioni) generano cattivo off-primavera. Quindi, non vi è alcun senso di usarli. 4. Conclusioni Gli algoritmi genetici sono una bella aggiunta al 4 strategie di ottimizzazione. L'ottimizzazione viene notevolmente incrementata se la quantità di ricerche è grande, i risultati coincidono con quelli ottenuti dall'ottimizzazione regolare. Ora non ha senso usare la ricerca completa in input. Gli algoritmi genetici troveranno il miglior risultato più veloce e non meno efficace. 5. Postfazione Dopo aver scritto l'articolo, ho soddisfatto la mia curiosità e lanciato l'ottimizzazione di CrossMACDDeLuxe su tutti gli ingressi. La quantità di combinazioni fatto oltre un centinaio di milioni di euro (103 306 896). L'ottimizzazione utilizzando algoritmi genetici sono voluti solo 17 ore, mentre l'ottimizzazione utilizzando la ricerca in tutti gli ingressi avrebbe preso circa 35 anni (301 223 ore). Le conclusioni sono fino a sistema di trading Forex you. A sulla base di un algoritmo genetico Cita questo articolo come: Mendes, L. Godinho, P. Dias, J. J euristica (2012) 18: 627. doi: 10.1007s10732-012-9201- y In questo lavoro, un algoritmo genetico verrà descritto che mira ad ottimizzare una serie di regole che costituiscono un sistema di negoziazione per il mercato Forex. Ogni individuo nella popolazione rappresenta un insieme di dieci regole commerciali tecnici (cinque per immettere una posizione e altri cinque per uscire). Queste regole hanno 31 parametri in totale, che corrispondono ai geni individui. La popolazione evolverà in un dato ambiente, definito da una serie temporale di una coppia di valute specifico. L'idoneità di un dato individuo rappresenta quanto bene è stato in grado di adattarsi all'ambiente, e si calcola applicando le regole corrispondenti alla serie di tempo, e poi calcolando il rapporto tra l'utile ed il massimo drawdown (il rapporto di Stirling) . sono state utilizzate due coppie di valute: EURUSD e GBPUSD. dati differente è stato utilizzato per l'evoluzione della popolazione e per testare gli individui migliori. I risultati ottenuti dal sistema sono discussi. I migliori individui sono in grado di ottenere ottimi risultati nella formazione serie. Nella serie di test, le strategie sviluppate mostrano qualche difficoltà nel raggiungere risultati positivi, se si prende i costi di transazione in considerazione. Se si ignora i costi di transazione, i risultati sono per lo più positivi, mostrando che i migliori individui hanno una certa capacità di previsione. Gli algoritmi genetici Finanza tecniche regole di negoziazione tassi di cambio esteri Referenze Alvarez-Diaz, M. Alvarez, A. cambi di previsione utilizzando algoritmi genetici. Appl. Econ. Lett. 10 (6), 319322 (2003) CrossRef Google Scholar Brabazon, A. O'Neill, M. evoluzione regole di trading tecniche per i mercati dei cambi a pronti con l'evoluzione grammaticale. Comput. Manag. Sci. 1 (3), 311.327 (2004) MATH CrossRef Google Scholar Davis, L. Manuale degli algoritmi genetici. Van Nostrand Reinhold-, New York (1991) Google Scholar Dempster, M. A.H. Jones, C. M. Un sistema adattivo di trading in tempo reale utilizzando la programmazione genetica. Quant. Finanza 1 (4), 397.413 (2001) CrossRef Google Scholar Dunis, C. Harris, A. et al. Ottimizzazione modelli di trading intraday con algoritmi genetici. Neural Netw. Mondiale 9 (3), 193.223 (1999) Google Scholar Elini, M. Schuhmacher, F. Ha la scelta di misura delle prestazioni influenzare la valutazione dei fondi hedge J. Bank. Finanza 31 (9), 26.322.647 (2007) CrossRef Google Scholar Fama, mercati dei capitali efficienti E. F.: una revisione della teoria e lavoro empirico. J. Finanza 25 (2), 383.417 (1970) CrossRef Google Scholar Goldberg, D. Algoritmi Genetici nella ricerca, Ottimizzazione e Machine Learning. Addison-Wesley, Reading (1989) MATH Google Scholar Grefenstette, J. J. Gli algoritmi genetici per cambiare ambienti. In: Problem Solving parallelo da Nature 2, Bruxelles (1992) Google Scholar Harding, D. Nakou, G. et al. I pro ei contro di prelievo come una misura statistica del rischio per gli investimenti. AIMA Journal, Aprile 1617 (2003) Google Scholar Hirabayashi, A. Aranha, C. et al. Ottimizzazione della regola di trading in valuta estera utilizzando l'algoritmo genetico. In: Atti del Convegno annuale di 11 ° sulla genetica e Evolutionary Computation GECCO09 (2009) Google Scholar Hryshko, A. Downs, T. sistema per lo scambio di valuta estera utilizzando algoritmi genetici e apprendimento per rinforzo. Int. J. Syst. Sci. 35 (13), 763.774 (2004) MATH CrossRef Google Scholar Kaboudan, M. A. genetica programmazione previsione dei prezzi delle azioni. Comput. Econ. 16 (3), 207.236 (2000) MATH CrossRef Google Scholar LeBaron, B. tecnico regola il commercio redditività e interventi sui cambi. J. Int. Econ. 49 (1), 125143 (1999) CrossRef Google Scholar LeBaron, il commercio B. tecnico redditività nei mercati dei cambi nel 1990 (2002) Levich, R. M. Thomas, L. R. Il significato di trading-regola tecnica profitti nel mercato dei cambi: un approccio bootstrap. J. Int. Denaro Bilancio. 12 (5), 451.474 (1993) CrossRef Google Scholar Menkhoff, L. Taylor, PF La passione ostinata di professionisti dei cambi: analisi tecnica. J. Econ. Illuminato. 45 (4), 936.972 (2007) CrossRef Google Scholar Meyers, T. A. Il Corso di analisi tecnica. McGraw-Hill, New York (1989) Google Scholar Mitchell, M. An Introduction to algoritmi genetici. MIT Press, Cambridge (1996) Google Scholar Neely, C. Weller, pag Intraday commercio tecnica nel mercato dei cambi. J. Int. Denaro Bilancio. 22 (2), 223.237 (2003) CrossRef Google Scholar Neely, C. Weller, P. et al. È l'analisi tecnica nel mercato dei cambi proficuo approccio di programmazione genetica A. J. Bilancio. Quant. Anale. 32 (4), 405.426 (1997) CrossRef Google Scholar Neely, C. J. Weller, P. A. et al. I mercati adattative ipotesi: evidenze dal mercato dei cambi. J. Bilancio. Quant. Anale. 44 (02), 467.488 (2009) CrossRef Google Scholar Olson, D. Avere commerciali regola profitti nei mercati valutari è diminuito nel corso del tempo J. Bank. Finanza 28 (1), 85105 (2004) CrossRef Google Scholar Osman, I. H. Kelly, J. P. Meta-euristica: Applicazioni Teoria amp. Kluwer Academic, Dordrecht (1996) MATH Google Scholar Park, C.-H. Irwin, S. H. Che cosa sappiamo circa la redditività di analisi tecnica J. Econ. Surv. 21 (4), 786826 (2007) CrossRef Google Scholar Pictet, O. V. Dacorogna, M. M. et al. Utilizzando algoritmi genetici per l'ottimizzazione robusta in applicazioni finanziarie. Neural Netw. Mondiale 5 (4), 573587 (1995) Google Scholar Reeves, C. R. Utilizzando algoritmi genetici con piccole popolazioni. In: Atti del Quinta Conferenza Internazionale su algoritmi genetici. Morgan Kaufmann, San Mateo (1993) Google Scholar Rothlauf, F. Goldberg, D. rappresentazioni ridondanti in calcolo evolutivo. Illinois Algoritmi Genetici Laboratory (illigal) Report (2002) Schulmeister, S. Componenti della redditività del commercio di valuta tecnico. Appl. Bilancio. Econ. 18 (11), 917.930 (2008) CrossRef Google Scholar Sweeney, R. J. Battere il mercato dei cambi. J. Finanza 41 (1), 163.182 (1986) Google Scholar Wilson, G. Banzhaf, W. Interday intermediazione in cambi, utilizzando la programmazione genetica lineare. In: Atti del Convegno annuale di 12 ° sulla genetica e Evolutionary Computation GECCO10 (2010) informazioni di Google Scholar Copyright Springer ScienceBusiness Media, LLC 2012 Autori e Affiliazioni Lus Mendes 1 Pedro Godinho 2 Joana Dias 3 Autore e-mail 1. Faculdade de Economia Universidade de Coimbra Coimbra Portogallo 2. Faculdade de Economia e GEMF Universidade de Coimbra Coimbra Portogallo 3. Faculdade de Economia e INESC-Coimbra Universidade de Coimbra Coimbra Portogallo a proposito di questo algoritmo genetico articleSnowCron nel forex trading sistemi che utilizzano algoritmi genetici per creare proficua strategia di trading Forex. Genetic Algorithm nella corteccia Neural Networks Software Feedforward Backpropagation Neural Network Application per i calcoli genetica sulla base di trading Forex. Questo esempio utilizza i concetti e le idee del precedente articolo, quindi si prega di leggere Neural Network Genetic Algorithm in FOREX Trading Systems prima, anche se non è obbligatorio. A proposito di questo testo Prima di tutto, si prega di leggere il disclaimer. Questo è un esempio di utilizzo di reti neurali Cortex Software funzionalità algoritmo genetico, non è un esempio di come fare trading profittevole. Io non sono il vostro guru, né dovrei essere responsabile per le perdite. Cortex reti neurali software ha reti neurali in esso, e FFBP abbiamo discusso prima è solo un modo di scegliere un strategie di trading forex. Si tratta di una buona tecnica, potente e se applicato correttamente, molto promicing. Tuttavia, si ha un problema - insegnare tne Neural Network. abbiamo bisogno di conoscere l'output desiderato. E 'piuttosto facile da fare quando facciamo approssimazione di funzioni, dobbiamo solo prendere il valore reale di una funzione, perché sappiamo quello che dovrebbe essere. Quando facciamo la previsione rete neurale. usiamo la tecnica (descritta in precedenti articoli) di insegnare la Rete Neurale sulla storia, ancora una volta, se si prevede, ad esempio, un tasso di cambio, sappiamo che (durante l'allenamento) ciò che la previsione corretta è. Tuttavia, quando stiamo costruendo un sistema di negoziazione, non abbiamo idea di quello che la decisione di trading corretto è, anche se sappiamo che il tasso di cambio Come il dato di fatto, abbiamo molte strategie di trading forex che possiamo usare in qualsiasi punto del tempo, e abbiamo bisogno di trovare un buon compromesso - come cosa dovremmo mangiare come l'output desiderato della nostra rete neurale Se avete seguito il nostro articolo precedente, si sa, che abbiamo truffato per affrontare questo problema. Ci ha insegnato la rete neurale da fare (indicatore di base o il tasso di cambio) la previsione del tasso di cambio, e quindi utilizzato questa previsione per fare trading. Poi, al di fuori della parte rete neurale del programma, abbiamo preso una decisione su cui Neural Network è il migliore. Gli algoritmi genetici possono affrontare questo problema direttamente, si può risolvere il problema indicato come trovare i migliori segnali di trading. In questo articolo ci accingiamo ad utilizzare Cortex Reti Neurali Software per creare un tale programma. Uso genetici algoritmo genetico algoritmi sono molto ben sviluppato, e molto diversificata. Se volete imparare tutto su di loro, ti suggerisco di usare Wikipedia, come questo articolo è solo di ciò che Cortex Neural Networks Software in grado di fare. Avendo Cortex reti neurali software. siamo in grado di creare una rete neurale che richiede un po 'di input, ad esempio, i valori di un indicatore, e produce un output, ad esempio, segnali di trading (comprare, vendere, detenere.) e fermare la perdita di livelli di prendere profitto per le posizioni da aprire. Naturalmente, se seminiamo pesi questa rete neurale s a caso, i risultati di negoziazione sarà terribile. Tuttavia, diciamo che abbiamo creato una dozzina di tali NNS. Poi possiamo provare le prestazioni di ciascuno di loro, e scegliere il migliore, il vincitore. Questa è stata la prima generazione di NNS. Per continuare con la seconda generazione, dobbiamo permettere che il nostro vincitore di procreare, ma per evitare di ottenere copie identiche, permette di aggiungere un po 'di rumore casuale per le sue descentants pesi. Nella seconda generazione, abbiamo il nostro vincitore di prima generazione e le sue imperfette copie (mutato). Consente di fare di nuovo il test. Avremo un altro vincitore, che è meglio di qualsiasi altra rete neurale nella generazione. E così via. Abbiamo semplicemente permettiamo vincitori per riprodursi, ed eliminare perdenti, proprio come nella vera e propria evoluzione della vita, e noi ci metteremo il nostro Neural Network best-trading. senza alcun knowlege prima su ciò che il sistema di scambio (algoritmo genetico) come dovrebbe essere. Neural Network Algoritmo genetico: Esempio 0 Questo è il primo esempio algoritmo genetico. e molto semplice. Ci accingiamo a camminare attraverso un passo alla volta, per imparare tutti i trucchi che esempi riportati di seguito verranno utilizzati. Il codice ha commenti in linea, così lascia solo concentrarsi sui momenti chiave. In primo luogo, abbiamo creato una rete neurale. Sta usando pesi casuali, e non era ancora insegnato. Poi, nel ciclo, facciamo 14 copie, utilizzando MUTATIONNN fumction. Questa funzione crea una copia di una sorgente Neural Network. aggiungendo valori casuali da 0 a (nel nostro caso) 0.1 a tutti i pesi. Teniamo maniglie per risultante 15 NNS di un array, siamo in grado di farlo, come maniglia è solo un numero intero. La ragione per cui usiamo 15 NNS non ha nulla a che fare con il commercio: Cortex Neural Networks Software in grado di tracciare fino a 15 linee su un grafico contemporaneamente. Possiamo usare diversi approcci alla sperimentazione. In primo luogo, possiamo utilizzare il set di apprendimento, tutto in una volta. In secondo luogo, siamo in grado di testare su, diciamo, 12000 resords (su 100000), e camminare attraverso il set di apprendimento, dall'inizio alla fine. Che renderà learnigs diverso, come avremo modo di cercare Neural Network s che sono redditizi in un dato parte dei dati, non solo l'intero set. Il secondo approccio ci può dare problemi, se i dati cambiano, dall'inizio alla fine. Poi la rete si evolverà, ottenendo capacità di commerciare alla fine del set di dati, e perdere la capacità di commerciare al suo inizio. Per risolvere questo problema, stiamo andando a prendere casuali frammenti 12000 record da dati e mangimi per la rete neurale. è semplicemente un ciclo senza fine, come 100000 cicli non saranno mai raggiunti presso la nostra velocità. Di seguito si aggiunge un bambino per ogni rete, con pesi leggermente diverse. Si noti, che per 0,1 mutazione Tange non è l'unica scelta, come dato di fatto, anche questo parametro può essere ottimizzata utilizzando algoritmi genetici. NNS appena creati vengono aggiunti dopo 15 quelli già esistenti. In questo modo abbiamo 30 NNS di un array, 15 vecchi e 15 nuovi. Poi ci accingiamo a fare il prossimo ciclo di test, e per uccidere i perdenti, da entrambe le generazioni. Per fare il test, applichiamo Neural Network i nostri dati, per produrre risultati, e quindi chiamare la funzione di test, che utilizza queste uscite per simulare trading. I risultati di negoziazione sono utilizzate per DeSide, che NNS sono i migliori. Usiamo un intervallo di record nUlteriori, da nStart a nStart nUlteriori, dove nStart è un punto casuale all'interno set di apprendimento. Il codice che segue è un trucco. Il motivo per cui lo usiamo è quello di illustrare il fatto, che algoritmo genetico può creare algoritmo genetico. ma non sarà necessariamente sarà la migliore, e anche, a suggerire, che possiamo migliorare conseguenza, se implichiamo alcune limitazioni al processo di apprendimento. E 'possibile che il nostro sistema commerciale funziona molto bene su lunghi traffici, e molto povera con breve, o viceversa. Se, per esempio, lungo i commerci sono molto buoni, questo algoritmo genetico può vincere, anche con grandi perdite su brevi commerci. Per evitare questo, assegniamo più peso a lunghi mestieri in dispari e a brevi mestieri in anche cicli. Questo è solo un esempio, non vi è alcuna garanzia che migliorerà qualcosa. Più sottostante, nella discussione su correzioni. Tecnicamente, non dovete farlo, o si può fare diversamente. Aggiungere profitto per un array ordinato. Esso restituisce una posizione di inserimento, quindi usiamo questa posizione per aggiungere gestire Neural Network, l'apprendimento e la sperimentazione profitti per gli array non ordinato. Ora abbiamo i dati per i seguenti Rete Neurale allo stesso indice di matrice come il suo profitto. L'idea è quella di arrivare alla gamma di NNS, ordinati per redditività. Come matrice è sortes dal profitto, per rimuovere 12 reti, che sono meno redditizie, abbiamo solo bisogno di togliere NNS 0 a 14 decisioni di trading si basa sul valore del segnale Neural Network, da questo punto di vista il programma è identico a esempi articolo precedente. FOREX Trading strategia: Discussione esempio 0 Prima di tutto, permette di dare un'occhiata a grafici. Il primo grafico per profitto durante la prima iterazione non è buono a tutti, come dovrebbe essere previsto, la rete neurale perde soldi (immagine evolution00gen0.png copiata dopo la prima iterazione dalla cartella immagini): L'immagine a scopo di lucro nel ciclo 15 è meglio, a volte , algoritmo genetico può imparare molto velocemente: Tuttavia, si noti la saturazione su una curva di profitto. E 'interessante anche guardare al cambiamento modo i singoli profitti, tenendo presente che il numero della curva, per esempio, 3 non è sempre per la stessa rete neurale. come si stanno nascendo e terminati per tutto il tempo: Si noti inoltre, che il piccolo sistema automatizzato di forex trading fuori effettua poveri su brevi commerci, e molto meglio su anela, che può o non può essere legato al fatto che dollaro cadeva rispetto al euro in quel periodo. Essa può anche avere a che fare con i parametri del nostro indicatore (forse, abbiamo bisogno di periodi diversi per corti), o la scelta degli indicatori. Ecco la storia dopo 92 e 248 cicli: Con nostra sorpresa, algoritmo genetico non è riuscita del tutto. Proviamo a capire perché, e come aiutare la situazione. Prima di tutto, isnt ogni generazione dovrebbe essere migliore di PRECEDENTE uno la risposta è no, almeno non nel modello che abbiamo usato. Se abbiamo preso insieme l'apprendimento INTERO in una sola volta, e l'ho usato ripetutamente per insegnare ai nostri NNS, allora sì, che miglioreranno in ogni generazione. Invece, abbiamo preso frammenti casuali (12000 record in tempo), e li hanno usati. Due domande: perché il sistema non è riuscito a frammenti casuali di set di apprendimento, e perché havent abbiamo usato tutto il learning set Bene. Per rispondere alla seconda domanda, l'ho fatto. NNS eseguito notevolmente - sull'apprendimento set. E hanno fallito sul set di test, per lo stesso motivo failes quando abbiamo usato apprendimento FFPB. Per dirla diversamente, i nostri NNS GOT overspecialized, hanno imparato come sopravvivere in un ambiente cui sono abituati, ma non al di fuori di esso. Questo succede molto in natura. L'approccio che abbiamo preso invece aveva lo scopo di compensare questo, costringendo NNS per eseguire bene su qualsiasi frammento casuale di set di dati, in modo che si spera, si potrebbe anche eseguire su un insieme di test non familiare. Al contrario, non sono riusciti sia a test e sull'apprendimento set. Immaginate di animali, che vivono in un deserto. Tanto sole, senza neve affatto. Si tratta di un Metafor per Rizing mercato, come per i nostri NNS dati svolgono il ruolo di ambiente. Gli animali hanno imparato a vivere in un deserto. Immaginate gli animali, che vivono in un clima freddo. Neve e sole non a tutti. Ebbene, essi regolati. Tuttavia, nel nostro esperimento, abbiamo messo casualmente nostri NNS in un deserto, neve, in acqua, sugli alberi. presentando loro diversi frammenti di dati (in modo casuale ascendente, discendente, piatta.). Animali morti. O, per dirla in modo diverso, abbiamo selezionato la migliore rete neurale per i dati casuali set 1, che, per esempio, è stato per l'aumento del mercato. Poi abbiamo presentato, ai vincitori e ai loro figli, una caduta di dati mercati. NNS eseguito male, abbiamo preso meglio di artisti poveri, forse, uno dei bambini mutanti, che hanno perso la capacità di operare sul mercato in crescita, ma ha una certa capacità di affrontare con la caduta uno. Poi ci siamo rivolti al tavolo ancora, e ancora, abbiamo ottenuto migliore interprete - ma migliore tra esecutori poveri. Abbiamo semplicemente scesi ai nostri NNS alcuna possibilità di diventare universale. Ci sono tecniche che permettono algoritmo genetico di apprendere nuove informazioni senza perdere prestazioni su vecchie informazioni (dopo tutto, gli animali possono vivere in estate e in inverno, proprio così l'evoluzione è in grado di gestire i cambiamenti che si ripetono). Si possono discutere queste tecniche più avanti, anche se questo articolo è più sull'utilizzo di reti neurali della corteccia Software. di circa la costruzione di un sistema automatizzato di forex trading di successo. Neural Network Algoritmo genetico: Esempio 1 Ora è il momento di parlare di correzioni. Un semplice algoritmo genetico che abbiamo creato nella fase precedente ha due grossi difetti. In primo luogo, non è riuscito a commerciare con profitto. E 'ok, possiamo provare a utilizzare il sistema parzialmente addestrato (era redditizia all'inizio). Il secondo difetto è più grave: non abbiamo alcun controllo sulle cose, che questo sistema fa. Ad esempio, può imparare ad essere redditizia, ma con enormi prelievi. E 'un fatto ben noto, che nella vita reale, evoluzione può ottimizzare più parametri contemporaneamente. Ad esempio, siamo in grado di ottenere un animale, che può essere eseguito velocemente ed essere resistente al freddo. Perché non provare a fare lo stesso nel nostro sistema di trading automatico forex. Quello è quando usiamo le correzioni, che non sono altro che l'insieme delle pene accessorie. Dire, i nostri commerci di sistema con prelievo di 0,5, mentre noi vogliamo confermarlo a 0-0,3 intervallo. A dire il sistema che ha fatto un errore, riduciamo l'utile (quello usato per determinare, quale algoritmo genetico vinto) al grado, che è proporzionale alla dimensione del DD. Quindi, l'algoritmo di evoluzione si prende cura di tutto il resto. Ci sono pochi altri fattori, che vogliamo prendere in considerazione: si può desiderare di avere il numero più o meno uguale di comprare e vendere le operazioni, vogliamo avere più di redditività, quindi di fallimenti, possiamo vogliamo che il grafico dei profitti di essere lineare e così via. In evolution01.tsc implementiamo un semplice insieme di correzioni. Prima di tutto, usiamo qualche numero elevato per un valore di correzione iniziale. Ci moltiplichiamo ad una piccola (di solito, tra 0 e 1) valori, a seconda del pene vogliamo applicare. Poi moltiplichiamo il nostro profitto a questa correzione. Come risultato, il profitto viene corretto, in modo da riflettere quanto l'algoritmo genetico corrisponde ai nostri altri criteri. Poi usiamo il risultato di trovare un vincitore Neural Network. FOREX Trading strategia: Discussione Esempio 1 Esempio 1 funziona molto meglio, rispetto ad esempio 0. Durante i primi 100 cicli, ha imparato molto, e grafici di profitto aspetto rassicurante. Tuttavia, come nell'esempio 0, lunghe commerci sono molto più vantaggioso, che molto probabilmente significa che c'è un problema nel nostro approccio. Tuttavia, il sistema ha trovato un equilibrio tra paio di condizioni iniziali contraddittorie: Ci sono alcune dinamiche positive sia a imparare insieme e, cosa più importante, in set di testing. Per quanto riguarda ulteriore apprendimento, a ciclo 278 si può vedere, che il nostro sistema ha sovrallenato. Significa, abbiamo ancora i progressi sul set di apprendimento: Ma testing set dimostra debolezza: Questo è un problema comune con NNS: quando insegniamo su imparare insieme, si impara a trattare con esso, e, a volte, si viene a sapere troppo bene - per la laurea, quando perde le prestazioni sul set di test. To deal with that problem, a traditional solution is used: we keep looking for the Neural Network . that performs best on testing set, and save it, overwriting previous best one, every time new peak is reached. This is the same approach, we used in FFBP training, except, this time we have to do it ourselves (adding code, that looks for a best Neural Network on a testing set, and calling SAVENN, or exporting weights of Neural Network to a file). This way, when you stop your training, youll have the best performer ON TESTING SET saved and waiting for you. Note also, that it is not the max. profit you are after, but optimal performance, so consider using corrections, when looking for a best performer on a testing set. Genetic Algorithm for FOREX Technical Analysis: Where now After you got your winner Neural Network . you can follow the steps, described in previous article, to export weights of that Neural Network . and then to use them in your real time trading platform, like Meta Trader, Trade Station and so on. Alternatively, you can focus on other ways of optimizing the Neural Network . unlike with FFBP algorithm, here you can get avay from using learning and testing sets, and move sequential learning. Download Cortex Order Cortex View Price List Visibility is very important for this site. If you like it please link to this URL
Comments
Post a Comment