Friday 1 September 2017

Trading Strategia Genetico Algoritmo


Vi è un grande corpo di letteratura sul successo della domanda di algoritmi evolutivi in ​​generale, e l'algoritmo genetico in particolare, ai mercati finanziari. Tuttavia, mi sento a disagio ogni volta che la lettura di questa letteratura. Gli algoritmi genetici possono over-adattare i dati esistenti. Con così tante combinazioni, è facile a venire con alcune regole che funzionano. Esso non può essere robusto e non ha una spiegazione coerente del perché questa regola funziona e queste regole dont al di là della mera (circolare) argomento che funziona perché il test mostra che funziona. Qual è l'attuale consenso sull'applicazione dell'algoritmo genetico in finanza chiesto 18 Feb 11 in 09:00 Ive ha lavorato presso un hedge fund che ha permesso strategie GA-derivati. Per motivi di sicurezza, è necessario che tutti i modelli presentati molto prima della produzione per assicurarsi che ancora lavoravano nei estensivi. Quindi ci potrebbe essere un ritardo fino a diversi mesi prima di un modello sarebbe stato permesso di correre. La sua anche utile per separare l'universo di esempio utilizzare un mezzo casuale dei possibili stock per analisi GA e l'altra metà per backtests conferma. E 'questo un processo diverso da quello che avrebbe usato prima di fidarsi di qualsiasi altra strategia di trading (Se è così, non mi è chiaro che cosa si guadagna da fare un modello GA utilizzando i dati al tempo t, poi prova fino tN prima affidandola, rispetto all'utilizzo dei dati al tempo tn, testando da TN a T e utilizzare immediatamente.) ndash Darren Cook 23 nov 11 a 2:08 DarrenCook un problema che vedo è che se si prova da TN a T e trovare doesn39t funziona bene, poi andare you39re per creare un altro modello che viene testato in quello stesso periodo di tempo tN a t (all'infinito). Che introduce la probabilità di quotmetaquot-overfitting durante il processo di creazione del modello. ndash Chan-Ho Suh 22 luglio 15 a 5:24 quanto riguarda i dati-snooping, se un GA è implementato correttamente, che shouldn39t essere una preoccupazione. funzioni di mutazione sono specificamente inclusi per la ricerca in modo casuale attraverso lo spazio problema, ed evitare di snooping dei dati. Detto, trovando i livelli mutazione giusti può essere qualcosa di un'arte e se i livelli di mutazione sono troppo bassi, quindi it39s come se la funzione wasn39t implementata in primo luogo. ndash BioinformaticsGal 6 Aprile 11 alle 16:28 BoinformaticsGal ho don39t capire come l'inserimento di funzioni di mutazione ci permette di evitare di dati snooping. Al termine della ricerca, there39s una funzione di fitness che rende ogni generazione 39fit39 i dati sempre più. O sto non ho capendo correttamente ndash Vishal Belsare 15 settembre 11 alle 18:05 Theres un sacco di persone qui a parlare di come il gas sono empirici, non hanno fondamenti teorici, sono scatole nere, e simili. Mi permetto di dissentire C'è un intero ramo di economia dedicati a guardare i mercati in termini di metafore evolutive: Evolutionary Economics consiglio vivamente il libro Dopfer, I fondamenti evolutivi di Economia, come un intro. cambridge. orggbknowledgeisbnitem1158033sitelocaleenGB Se la vostra visione filosofica è che il mercato è fondamentalmente un casinò gigante, o un gioco, poi un GA è semplicemente un black-box e doesnt hanno alcun fondamento teorico. Tuttavia, se la vostra filosofia è che il mercato è una ecologia di sopravvivenza-of-the-forte, poi a gas hanno un sacco di fondamenti teorici, e il suo perfettamente ragionevole per discutere di cose come la speciazione aziendale, ecologie di mercato, genomi di portafoglio, i climi di trading, e la piace. ha risposto 5 Apr 11 in 15:42 In breve tempo scale è più un casinò. Come la natura, in effetti. ndash quantdev 5 Apr 11 in 20:46 quantdev, il problema è che GA-- come qualsiasi altro methods-- quantitativa funziona solo con scala di tempo breve, se non sbaglio I39m. Quindi, se il mercato azionario è più simile a un mercato azionario, quindi GA sarebbe del tutto inutile. ndash Graviton 6 Aprile 11 alle 8:56 Graviton. There39s alcuna ragione intrinseca per cui un programma couldn39t un GA a fare analisi a intervalli di tempo più lunghi. Il dominio del tempo di un GA è misurata in generazioni, non anni o giorni. Quindi, si potrebbe semplicemente bisogno di definire una popolazione contenente individui i cui generazioni sono anni o decenni lunghi (es. Corporazioni). C'è stato sicuramente un lavoro che si avvicina la definizione 39genomes39 aziendale dai loro processi di produzione. In tale modello, si potrebbe ottimizzare per un modello di business aziendale efficiente, dato un particolare clima di mercato. Non It39s un modello di portafoglio di prezzo delle azioni, però. ndash BioinformaticsGal 6 Aprile 11 alle 15.12 Supponendo di evitare distorsioni dei dati-snooping e tutti i potenziali insidie ​​di utilizzare il passato per predire il futuro, confidando algoritmi genetici per trovare la giusta soluzione bolle più o meno verso la stessa scommessa che si fanno quando si gestire attivamente un portafoglio, sia quantitativamente o discrezionale. Se si crede in efficienza del mercato quindi aumentando i costi di transazione da una gestione attiva è illogico. Se, tuttavia si ritiene che ci sono ampli modelli psicologici strutturali o difetti da sfruttare e la vincita vale il tempo e denaro per la ricerca e l'attuazione di una strategia la scelta più logica è la gestione attiva. Esecuzione di una strategia di GA derivata è una scommessa implicita contro l'efficienza del mercato. Youre fondamentalmente dicendo Penso che ci siano errori di valutazioni che si verificano da qualche ragione (masse di persone irrazionali, fondi comuni di allevamento a causa di mis-allineati incentivi, etc.) e l'esecuzione di questo GA può ordinare questa massa di dati via d'uscita più veloce che posso . risposto 18 febbraio 11 alle 15:49 gestire manualmente un portafoglio attivo implica l'utilizzo di tutte le informazioni che abbiamo e derivare una conclusione logica sul mercato e quindi eseguire strategie su di esso si tratta di un'attività razionale. OTOH, utilizzando GA sta usando uno strumento di black-box abbiamo can39t spiegare il risultato che ne deriva da eventuali principi accettati. I39m non troppo sicuro se questi due sono in realtà la stessa. ndash Graviton 18 febbraio 11 alle 15:57 Graviton Si, pero 'considerare le somiglianze tra GA39s e noi come gli esseri umani conoscere i mercati, sviluppare strategie, imparare dagli errori, e di adattarsi alle mutevoli condizioni di mercato. Quando si ricerca ciò che vincere e perdere le scorte hanno in comune, o ciò che di volume e di prezzo i modelli creano buone mestieri, o quale modello è il più preciso per la valutazione dei derivati ​​quello che stai facendo è di data mining il passato in un certo senso. Quando le condizioni di mercato si cambiano o scambiare nuove strategie o eventualmente uscire dal mercato. Se ci sono spigoli sfruttabili nel mercato allora l'unica differenza tra voi e un GA è ndash Joshua Chance 18 11 Feb alle 16:46 Graviton (in un senso molto ampio), è che si dispone di una narrazione, una storia di andare con la vostra strategia . Noi esseri umani rischio di trovare un modello apparentemente ricorrente e quindi la razionalizzazione e la creazione di una narrazione. GA39s rischiano la stessa cosa, solo i loro potenzialmente falsi parole utilizzare il modello doesn39t, usano la matematica e la logica. ndash Joshua Chance 18 febbraio 11 alle 16:54 Il ritardo Thomas Cover. (Probabilmente il principale Informazioni teorico della sua generazione), considerato universale si avvicina a cose come la compressione dei dati e allocazioni di portafoglio come veri algoritmi genetici. L'evoluzione non ha parametri per adattarsi o in treno. Perché i veri algoritmi genetici approcci universali non fare ipotesi circa la distribuzione sottostante dei dati. Essi non fanno alcun tentativo di predire il futuro da schemi o qualsiasi altra cosa. L'efficacia teorica di universale si avvicina (presentano notevoli difficoltà di implementazione vedere il mio recente domanda: Geometria per portafogli universali) seguire da loro di fare ciò che le richieste di evoluzione. Il Dont più veloce, più intelligente, più forte o necessariamente sopravvivere nella prossima generazione. L'evoluzione favorisce quel gene, organismo, meme, portafoglio, o algoritmo di compressione dei dati posizionata per più facilmente adattarsi a qualunque cosa succede dopo. Inoltre, poiché questi approcci fanno fare alcuna ipotesi e funzionano non parametrico, si può prendere in considerazione tutte le prove, anche su tutti i dati storici, come out-of-sample. Certamente hanno dei limiti, certamente cant lavorano per ogni tipo di problema che dobbiamo affrontare nel nostro dominio, ma accidenti, quanto un modo interessante per pensare alle cose. risposto 14 luglio 13 alle 15:42 Ebbene, l'obiettivo di un algo genetica è quello di trovare la soluzione migliore senza passare attraverso tutti i possibili scenari perché sarebbe troppo lungo. Così, naturalmente, è montaggio di curva, questo è l'obiettivo. rispose 6 11 Mar alle 20:40, ma vi è una differenza significativa tra overfitting campione (cattivo) e il montaggio della popolazione (buono). È per questo che molti suggeriscono che si cross-convalidare l'algoritmo con il test out-of-sample. ndash Joshua 17 luglio 13 a 2:34 tua risposta 2017 Stack Exchange, IncCreating un sistema di negoziazione all'interno del sistema Trading Lab Trading System Lab genererà automaticamente Sistemi di negoziazione in alcun mercato in pochi minuti utilizzando un programma per computer molto avanzato conosciuto come un AIMGP (Automatic L'induzione del Codice macchina con la programmazione genetica). Creazione di un sistema di negoziazione all'interno del sistema Trading Lab si realizza in 3 semplici passi. In primo luogo, un semplice preprocessore è gestito che estrae e preprocessa i dati necessari dal mercato che si desidera lavorare con automaticamente. TSL accetta CSI, MetaStock, AIQ, TradeStation, i dati via Internet gratis, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, file binari e di dati di Internet streaming. In secondo luogo, il sistema di generatore di Trading (GP) viene eseguito per diversi minuti, o più, di sviluppare un nuovo sistema di trading. Si possono utilizzare i propri dati, i modelli, gli indicatori, le relazioni intermarket o dati fondamentali all'interno TSL. In terzo luogo, il sistema di trading evoluto è formattato per la produzione di nuovi segnali di trading sistema dall'interno molte altre piattaforme di trading TradeStation o. TSL scriverà automaticamente Easy Language, Java, Assembler, il codice C, il codice C e WealthLab Script Language. Il Trading System può quindi essere scambiato manualmente, scambiato attraverso un mediatore, o automaticamente scambiati. È possibile creare il sistema di trading da soli o possiamo farlo per voi. Quindi, voi o il vostro broker può scambiare il sistema manualmente o automaticamente. Trading System Labs programma genetico contiene diverse caratteristiche che riducono la possibilità di curve fitting, o producono un sistema commerciale che non continua a svolgere nel futuro. In primo luogo, i Trading Systems evoluti hanno la loro dimensione potata fino alla dimensione più bassa possibile attraverso quello che viene chiamato Parsimony pressione, attingendo dal concetto di minima lunghezza di descrizione. Così il Trading System risultante è il più semplice possibile e in genere si ritiene che la semplice Trading System è, meglio si esibirà nel futuro. In secondo luogo, la casualità è introdotto nel processo evolutivo, che riduce la possibilità di trovare soluzioni che sono localmente, ma non globalmente ottimale. La casualità è introdotto nel corso non solo le combinazioni di materiale genetico utilizzato nelle Trading Systems evoluti, ma in Parsimony pressione, Mutazione, Crossover e di altri parametri GP di livello superiore. Fuori di test del campione viene eseguita mentre la formazione è in corso con le informazioni statistiche presentate sia sul campione dentro e fuori di test del sistema Esempio Trading. log Run vengono presentati all'utente per la formazione, la convalida e Out dei dati campione. Ben educati Fuori prestazioni campione può essere indicativo che il sistema commerciale è in continua evoluzione con caratteristiche di resistenza. Sostanziale deterioramento nella Out automatica di test del campione rispetto al test di esempio In può implicare che la creazione di un robusto sistema commerciale è in dubbio o che il terminale, o Set di ingresso può avere bisogno di essere cambiato. Infine, il Set terminale è scelto con cura in modo da non eccessivamente influenzare la selezione del materiale genetico iniziale verso una particolare polarizzazione mercato o sentimento. TSL non inizia la sua corsa con un Trading System predefinito. Infatti, solo l'ingresso di impostazione e una selezione di modalità di ingresso sul mercato o modalità, per la ricerca ingresso automatico e l'assegnazione, è inizialmente fatto. Un comportamento modello o un indicatore che può essere pensato come una situazione rialzista può essere usato, scartato o invertito all'interno del GP. Nessun modello o l'indicatore è pre-assegnato ad alcuna particolare distorsione movimento del mercato. Si tratta di un cambiamento radicale rispetto generata manualmente sviluppo Trading System. Un Trading System è un insieme logico di istruzioni che raccontano il commerciante quando comprare o vendere un particolare mercato. Queste istruzioni raramente richiedono l'intervento di un commerciante. Trading Systems possono essere scambiati manualmente, osservando le istruzioni di trading su uno schermo di computer, o possono essere scambiati per permettere al computer di entrare commerci nel mercato automaticamente. Entrambi i metodi sono in uso diffuso. Ci sono più money manager professionali che si considerano i commercianti sistematiche o meccanico rispetto a coloro che si considerano discrezionale, e le prestazioni dei gestori di fondi sistematici è generalmente superiore a quella dei gestori di denaro discrezionali. Gli studi hanno dimostrato che gli account di trading in generale perdere soldi più spesso, se il cliente non utilizza un sistema di negoziazione. Il significativo aumento Trading Systems nel corso degli ultimi 10 anni è evidente soprattutto nelle società di intermediazione merci, tuttavia equity e di intermediazione del mercato obbligazionario stanno diventando sempre più consapevoli dei benefici attraverso l'uso di sistemi di negoziazione e alcuni hanno cominciato ad offrire i sistemi di trading per loro clienti al dettaglio. La maggior parte dei gestori di fondi comuni stanno già utilizzando sofisticati algoritmi informatici per guidare le loro decisioni su cosa caldo magazzino per prendere o cosa rotazione settoriale è a favore. Computer e algoritmi sono diventati molto popolari nel investire e ci aspettiamo che questo trend continui come più giovane, più di computer investitori esperti continuano a permettere porzioni del loro denaro per essere gestiti da Trading Systems per ridurre i rischi e aumentare i rendimenti. Le enormi perdite subite dagli investitori che partecipano a comprare e tenere scorte e fondi comuni, come il mercato azionario fuse negli anni passati è promuovere questo movimento verso un approccio più disciplinato e logico investire in borsa. L'investitore medio si rende conto che lui o lei attualmente permette a molti aspetti della loro vita e quella dei loro cari siano mantenuti o controllati da computer, come le automobili e aerei che usiamo per il trasporto, l'apparecchiatura diagnostica medica che usiamo per il mantenimento della salute, i controllori di riscaldamento e refrigerazione che usiamo per il controllo della temperatura, le reti che usiamo per informazioni basato su Internet, anche i giochi che facciamo per l'intrattenimento. Perché allora alcuni investitori al dettaglio credono che essi possono sparare dal fianco nelle loro decisioni su ciò che riserva o fondo comune per comprare o vendere e si aspettano di fare soldi, infine, l'investitore medio è diventato diffidenti nei confronti del consiglio e informazioni trasmesse dagli intermediari senza scrupoli , commercialisti, dirigenti aziendali e consulenti finanziari. Negli ultimi 20 anni i matematici e gli sviluppatori di software hanno cercato di indicatori e modelli dei mercati azionari e delle materie prime alla ricerca di informazioni che possono indicare la direzione del mercato. Queste informazioni possono essere utilizzate per migliorare le prestazioni dei sistemi di negoziazione. Generalmente questo processo di scoperta viene realizzato attraverso una combinazione di tentativi ed errori e più sofisticato Data Mining. In genere, lo sviluppatore vorranno settimane o mesi di macinare numeri, al fine di produrre un potenziale Trading System. Molte volte questo sistema di trading non funzionerà bene quando effettivamente utilizzato in futuro, a causa di quello che viene chiamato curve fitting. Nel corso degli anni ci sono stati molti Trading Systems (società di sviluppo e Trading System) che sono andati e venuti come i loro sistemi hanno fallito nel trading dal vivo. Lo sviluppo di sistemi di trading che continuano a svolgere nel futuro è difficile, ma non impossibile da realizzare, anche se nessuno sviluppatore etica o gestore di fondi daranno una garanzia incondizionata che qualsiasi sistema di negoziazione, o per quella materia qualsiasi azioni, obbligazioni o fondi comuni, continuerà per produrre profitti nel futuro per sempre. Che ha preso settimane o mesi per il Trading sviluppatore del sistema per produrre in passato possono ora essere prodotti in minuti attraverso l'uso di Trading System Lab. Trading System Lab è una piattaforma per la generazione automatica di sistemi di trading e trading indicatori. TSL fa uso di una velocità elevata Genetic Programming motore e produrrà Trading Systems ad una velocità di oltre 16 milioni system-bar al secondo basato su 56 ingressi. Si noti che solo pochi ingressi verranno effettivamente utilizzati o necessario, con conseguente generalmente semplici strutture di strategia evoluta. Con circa 40.000 a 200.000 sistemi necessari per una convergenza, il tempo di convergenza per ogni insieme di dati può essere approssimata. Si noti che non stiamo semplicemente eseguendo una ottimizzazione forza bruta degli indicatori esistenti alla ricerca di parametri ottimali da cui uso in un sistema di trading già strutturata. Il sistema di generatore di Trading inizia ad un'origine punto zero senza fare ipotesi circa il movimento del mercato nel futuro e poi si evolve Trading Systems a un tasso molto elevato combinando le informazioni presenti nel mercato e la formulazione di filtri nuovi, funzioni, le condizioni e le relazioni come si progredisce verso un sistema di commercio geneticamente. Il risultato è che un eccellente sistema di scambio può essere generato in pochi minuti a 20-30 anni di dati di mercato ogni giorno praticamente su qualsiasi mercato. Negli ultimi anni ci sono stati diversi approcci per l'ottimizzazione Trading System che impiegano il meno potente algoritmo genetico. Programmi genetici (GP) sono superiori ai Algoritmi Genetici (gas) per diversi motivi. In primo luogo, il GPS convergono su una soluzione a un ritmo esponenziale (molto veloce e sempre più veloce), mentre algoritmi genetici convergere ad una velocità lineare (molto più lento e non ottenere più velocemente). In secondo luogo, i medici in realtà generano codice macchina Trading System che combina il materiale genetico (indicatori, modelli, dati inter-mercato) in modo unico. Queste combinazioni uniche potrebbero non essere intuitivamente ovvia e non richiedono la definizione iniziale da parte degli sviluppatori del sistema. Le relazioni matematiche unici creati possono diventare nuovi indicatori, o varianti in analisi tecnica, non ancora sviluppati o scoperti. GAS, d'altra parte, è sufficiente cercare soluzioni ottimali mentre progrediscono nel campo di parametro non scoprono nuove relazioni matematiche e non scrivere il proprio codice Trading System. GP creano Trading codice Sistema di varie lunghezze, con genomi di lunghezza variabile, modificherà la lunghezza del sistema di scambio attraverso la cosiddetta attraversamento non omologhe e sarà completamente eliminare un indicatore o modello che non contribuisce alla efficienza del sistema di scambio. usare il gas fissata solo blocchi di istruzioni di dimensione, facendo uso di solo attraversamento omologa e non producono lunghezza Trading codice Sistema variabile, né si scarta un indicatore inefficiente o un modello così facilmente come un GP. Infine, programmi genetici sono un avanzamento recente nel campo della machine learning, mentre Genetici Algoritmi sono stati scoperti 30 anni fa. Programmi genetici fanno includere tutte le funzionalità principali di algoritmi genetici di crossover, la riproduzione, la mutazione e la forma fisica, tuttavia GPS includono molto più veloce e robuste funzionalità, rendendo i medici la scelta migliore per la produzione di sistemi di negoziazione. Il GP impiegato in tsls Trading System Generator è il GP più veloce attualmente disponibile e non è disponibile in qualsiasi altro software mercato finanziario del mondo. La programmazione Genetic Algorithm, Trading Simulator e Motori Fitness utilizzato entro TSL ha preso oltre 8 anni per produrre. Trading System Lab è il risultato di anni di duro lavoro da parte di un team di ingegneri, scienziati, programmatori e commercianti, e crediamo che rappresenta la tecnologia più avanzata oggi disponibile per la negoziazione l'algoritmo genetico markets. SnowCron nel forex trading sistemi che utilizzano algoritmo genetico per creare strategia di Trading redditizio 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. Per far fronte a questo problema, una soluzione tradizionale viene utilizzato: noi continuare a cercare la rete neurale. che funziona in modo ottimale sul set di test, e salvarlo, sovrascrivendo precedente migliore, viene raggiunta ogni volta nuovo picco. Questo è lo stesso approccio, abbiamo usato in allenamento FFBP, ad eccezione, questa volta dobbiamo farlo noi stessi (codice aggiungendo, che cerca una migliore rete neurale su una serie di test, e chiamando SAVENN, o l'esportazione di pesi di Neural Network ad un file). In questo modo, quando si smette l'allenamento, youll hanno il miglior interprete ON TEST SET salvato e in attesa per voi. Si noti anche che non è il massimo. profitto si sono dopo, ma le prestazioni ottimali, in modo da considerare l'utilizzo di correzioni, quando alla ricerca di un best performer su un set test. Algoritmo genetico per la forex analisi tecnica: Dove ora Dopo aver ottenuto il vostro vincitore Neural Network. è possibile seguire le fasi, descritte nel precedente articolo, per esportare i pesi di quella rete neurale. e poi usarli nella vostra piattaforma di trading in tempo reale, come la Meta Trader, stazione di commercio e così via. In alternativa, è possibile concentrarsi su altri modi di ottimizzare la rete neurale. a differenza con l'algoritmo FFBP, qui è possibile ottenere avay dall'utilizzo di apprendimento e test set, e spostare l'apprendimento sequenziale. Scarica Cortex Cortex Order Visualizza Prezzo List La visibilità è molto importante per questo sito. Se lo trovate utile un collegamento a questo software commerciale URLAdvanced: analisi tecnica e le reti neurali avanzata strategia di ottimizzazione migliorare il vostro redditizio Idee Trading ottimizzazione è il processo di eseguire più test durante la modifica dei parametri indicati nelle regole o indicatori di strategia. Lo scopo di ottimizzazione è quello di scoprire le impostazioni migliori e più redditizi per un indicatore o un prezzo specifico modello negoziati su un titolo specifico. L'ottimizzazione può notevolmente migliorare la vostra conoscenza di ogni strategia e la vostra competenza su ciò che funziona in diversi tipi di mercati. Esso permette di sperimentare con i parametri della vostra strategia senza cambiare le sue funzioni principali. Quando deve essere usato molte ottimizzazione commercianti utilizzare scorrettamente ottimizzazione per forzare una strategia incompiuta verso il completamento. Tuttavia, se l'ottimizzazione è usato correttamente, può diventare il passo fondamentale nel preparare la strategia per il trading reale. L'ottimizzazione deve essere iniziato solo dopo aver testato una strategia e fatto in modo che sia redditizia. Ottimizzazione guidata strategia È possibile ottimizzare una strategia per una varietà di periodi e mercati di tempo, mantenendo il suo massimo delle prestazioni. Il Optimization Wizard strategia fornirà una guida passo-passo per il processo di ottimizzazione. Trovare i parametri ottimali È possibile utilizzare l'ottimizzazione per assicurarsi che si sta utilizzando i parametri ottimali per gli indicatori applicati alle condizioni di strategia e entryexit. Automatico Cabina Forward Test Tradecision esegue test automatici passi in avanti. Questo tipo di test è importante perché aiuta a fare in modo che si sta facendo trading di successo con la vostra strategia ottimizzata. La capacità di test di cammino in avanti consente di definire gli intervalli di date di prova, dando così il potere di selezionare le parti di riserva da utilizzare per l'ottimizzazione e out-of-campione di verifica. Specificare l'intervallo e Step Inoltre, è necessario specificare il passo e gamma (minimo, massimo) (incremento) per ogni variabile di ottimizzazione. Si prega di notare, che i più variabili di ottimizzazione che hai, e più di loro sono testati per ogni variabile, il più a lungo il processo di ottimizzazione vorrà. Applicando l'algoritmo che si adatta il meglio il processo di ottimizzazione può richiedere secondi, minuti o ore, a seconda del numero delle simulazioni in esecuzione. Per ridurre il tempo necessario per l'ottimizzazione, è possibile ridurre il numero dei parametri di ottimizzazione, oppure utilizzare algoritmi genetici per l'ottimizzazione. In questi casi, quando si dispone di più variabili di ottimizzazione e ampi intervalli di ricerca, gli algoritmi genetici lavorare molto più velocemente di quanto la ricerca esaustiva, pur rimanendo molto robusto. Gli algoritmi genetici sono algoritmi di ricerca basati sulla meccanica della selezione naturale e della genetica naturale. Essi combinano la sopravvivenza della regola più forte con lo scambio di informazioni ancora randomizzato strutturato. Gli algoritmi genetici possiedono le migliori caratteristiche degli altri metodi di ottimizzazione, quali robustezza e rapida convergenza, che non dipendono da nessuno dei criteri di ottimizzazione (per esempio, sulla scorrevolezza). Exhaustive Search verifica tutte le possibili combinazioni dei parametri ottimizzati, garantendo così che si troverà la migliore soluzione possibile. Tuttavia, il tempo necessario per condurre ricerca esaustiva è aumentato drammaticamente quando il numero dei parametri aumenta.

No comments:

Post a Comment