SnowCron Genetic Algorithm i Forex Trading Systems med hjälp av genetisk algoritm för att skapa lönsam Forex Trading Strategy. Genetisk algoritm i Cortex Neural Networks Software Feedforward Backpropagation Neural Network Application för genetisk beräkningsbaserad Forex trading. I det här exemplet används begrepp och idéer från den föregående artikeln, så läs först Neural Network Genetic Algorithm i Forex Trading Systems först, men det är inte obligatoriskt. Om den här texten Läs först och främst av ansvarsfriskrivningen. Detta är ett exempel på att använda genetic algoritmfunktionen Cortex Neural Networks Software, inte ett exempel på hur man gör lönsam handel. Jag är inte din guru, inte heller ska jag vara ansvarig för dina förluster. Cortex Neural Networks Software har neurala nätverk i det, och FFBP vi diskuterade förut är bara ett sätt att välja en Forex trading strategier. Det är en bra teknik, kraftfull och när den tillämpas korrekt, mycket lovande. Det har emellertid ett problem - att undervisa i det neurala nätverket. Vi behöver veta den önskade produktionen. Det är ganska lätt att göra när vi fungerar approximativt, vi tar bara det verkliga värdet av en funktion, för vi vet vad det ska vara. När vi gör neurala nätverksprognoser. Vi använder tekniken (beskrivs i tidigare artiklar) om att undervisa Neural Network på historien, igen, om vi förutser, säg en växelkurs, vet vi (under träningen) vad den rätta predikan är. Men när vi bygger ett handelssystem har vi ingen aning om vad rätt handelsbeslut är, även om vi känner till växelkursen. Vi har faktiskt många Forex trading strategier som vi kan använda när som helst och vi behöver hitta en bra - hur Vad ska vi mata som önskad produktion av vår neurala nätverk Om du följde vår tidigare artikel vet du att vi har lurat att hantera detta problem. Vi lärde det neurala nätverket att göra växelkurs (eller växelkursbaserad indikator) förutsägelse, och sedan använde denna förutsägelse att göra handel. Sedan, utanför det neurala nätverksdelen av programmet, fattade vi ett beslut på vilket neurala nätverk som är den bästa. Genetiska algoritmer kan hantera detta problem direkt, de kan lösa det problem som anges som att hitta de bästa handelssignalerna. I den här artikeln kommer vi att använda Cortex Neural Networks Software för att skapa ett sådant program. Använda genetisk algoritm Genetiska algoritmer är mycket väl utvecklade och mycket olika. Om du vill lära dig allt om dem, föreslår jag att du använder Wikipedia, eftersom den här artikeln bara handlar om vad Cortex Neural Networks Software kan göra. Har Cortex Neural Networks Software. Vi kan skapa ett neuralt nätverk som tar lite inmatning, säger, värden på en indikator och producerar viss produktion, säger handelssignaler (köp, sälja, hålla.) och sluta förlust ta vinstnivåer för positioner som ska öppnas. Självklart, om vi sålunda släpper det här neurala nätets vikter, kommer handelsresultatet att bli hemskt. Låt oss dock säga att vi skapat ett dussin av sådana NN. Då kan vi testa prestanda för var och en av dem, och välj den bästa, vinnaren. Detta var den första generationen NN. För att fortsätta till andra generationen måste vi tillåta vår vinnare att odla, men för att undvika att få identiska kopior, kan vi lägga till några slumpmässiga ljud till dess vikter. I andra generationen har vi vår första generationens vinnare och dess ofullkomliga (muterade) kopior. Låt oss göra test igen. Vi kommer att få en annan vinnare, vilket är bättre än något annat neuralt nätverk i generationen. Och så vidare. Vi tillåter helt enkelt vinnare att odla och eliminera förlorare, precis som i verklighetens evolution, och vi kommer att få vårt bästa handelsnätverk. utan någon tidigare kunskap om vad handelssystemet (genetisk algoritm) borde vara. Genetisk algoritm för neuralt nätverk: Exempel 0 Det här är det första genetiska algoritmexemplet. och en mycket enkel. Vi ska gå igenom det steg för steg för att lära oss alla knep som följande exempel kommer att använda. Koden har inline kommentarer, så vi kan bara fokusera på nyckelmoment. Först har vi skapat ett neuralt nätverk. Det använder slumpmässiga vikter, och lärdes inte ännu. Sedan, i cykel, gör vi 14 kopior av det, med användning av MUTATIONNN-fumktion. Denna funktion gör en kopia av ett källa Neural Network. lägger till slumpmässiga värden från 0 till (i vårt fall) 0,1 till alla vikter. Vi håller handtag till resulterande 15 NN i en grupp, vi kan göra det, eftersom handtaget bara är ett heltal. Anledningen till att vi använder 15 NN har inget att göra med handel: Cortex Neural Networks Software kan plotta upp till 15 linjer på ett diagram samtidigt. Vi kan använda olika metoder för testningen. Först kan vi använda inlärningssatsen, allt på en gång. För det andra kan vi testa på, säga 12000 resor (av 100000), och gå igenom inlärningssatsen, från början till slutet. Det kommer att göra learningigs annorlunda, eftersom vi kommer att leta efter Neural Network s som är lönsamma på en viss del av data, inte bara på hela uppsättningen. Det andra tillvägagångssättet kan ge oss problem, om data förändras, från början till slutet. Därefter utvecklas nätverket, får förmåga att handla i slutet av datamängden och förlora förmågan att handla i början. För att lösa det problemet ska vi ta slumpmässiga 12000 skivfragment från data och mata det till det neurala nätverket. är helt enkelt en oändlig cykel, eftersom 100000 cyklar aldrig kommer att nås med vår hastighet. Nedan lägger vi till ett barn för varje nätverk, med något olika vikter. Observera att 0,1 för mutation tangent är inte det enda valet, faktiskt kan även denna parameter optimeras med hjälp av genetisk algoritm. Nyskapade NN läggs till efter 15 befintliga. På så sätt har vi 30 NN i en grupp, 15 gamla och 15 nya. Då ska vi göra nästa testcykel och att döda förlorare, från båda generationerna. För att göra test tillämpar vi Neural Network på våra data, för att producera utgångar, och sedan ringa Test-funktion, som använder dessa utgångar för att simulera handel. Resultatet av handel används för att bestämma vilka NN som är bäst. Vi använder ett intervall av nLearn-poster, från nStart till nStart nLearn, där nStart är en slumpmässig punkt inom inlärningssatsen. Koden nedan är ett knep. Anledningen till att vi använder det är att illustrera faktumet att den genetiska algoritmen kan skapa en genetisk algoritm. men det kommer inte nödvändigtvis att vara det bästa, och också att föreslå att vi kan förbättra resultatet, om vi innebär några begränsningar för inlärningsprocessen. Det är möjligt att vårt handelssystem fungerar väldigt bra på långa affärer, och mycket fattiga på korta eller omvända. Om långa affärer är mycket bra, kan den här genetiska algoritmen vinna, även med stora förluster på korta affärer. För att undvika det tilldelar vi mer vikt till långa affärer i udda och korta affärer i jämncykler. Det här är bara ett exempel, det finns ingen garanti för att det kommer att förbättra något. Mer om det nedan, i diskussion om korrigeringar. Tekniskt behöver du inte göra det, eller kan göra det annorlunda. Lägg till vinst i en sorterad array. Den returnerar en infogningsposition, då använder vi den här positionen för att lägga till Neural Network-handtag, lära och testa vinster till icke-sorterade arrays. Nu har vi data för nuvarande neurala nätverk i samma array index som dess vinst. Tanken är att komma fram till en rad NN, sorterade efter lönsamhet. Eftersom array sorterar efter vinst, för att ta bort 12 nätverk, som är mindre lönsamma, behöver vi bara ta bort NNs 0 till 14. Handelsbeslut baseras på värdet på neuralt nätverkssignal. Ur denna synvinkel är programmet identiskt med exempel från föregående artikel. Forex Trading Strategy: Diskutera exempel 0 Först och främst kan vi ta en titt på diagram. Det första diagrammet för vinst under den första iterationen är inte alls bra, vilket borde förväntas, det neurala nätverket förlorar pengar (bild evolution00gen0.png kopieras efter första iteration från bildmapp): Bilden för vinst på cykel 15 är bättre, ibland , genetisk algoritm kan lära sig riktigt snabbt: Observera dock mättnaden på en vinstkurva. Det är också intressant att se på hur enskilda vinster förändras, med tanke på att kurvtalet säger 3 är inte alltid för samma neurala nätverk. som de föds och avslutas hela tiden: Observera också, att lite förexautomatiserat handelssystem fungerar fattigt på korta affärer, och mycket bättre i längden, vilket kanske inte är relaterat till det faktum att dollarn sjönk jämfört med euro under den perioden. Det kan också ha något att göra med parametrarna för vår indikator (kanske vi behöver annan period för shorts) eller valet av indikatorer. Här är historien efter 92 och 248 cykler: Till vår förvåning misslyckades den genetiska algoritmen helt. Låt oss försöka lista ut varför, och hur man hjälper situationen. Först och främst är inte varje generation förmodad att vara bättre än den tidigare. Svaret är nej, åtminstone inte inom modellen vi använde. Om vi tog ALLTIRE inlärning omedelbart och använt det upprepade gånger för att lära våra NN, så ja, de kommer att förbättras på varje generation. Men i stället tog vi slumpmässiga fragment (12000 poster i tid) och använde dem. Två frågor: varför systemet misslyckades med slumpmässiga fragment av inlärningssättning, och varför har vi inte använt hela uppsatsen som bra. För att svara på den andra frågan gjorde jag det. NNs utförs kraftigt - på inlärningsset. Och de misslyckades med att testa uppsättningen, av samma anledning misslyckas det när vi använde FFPB-lärande. För att uttrycka det annorlunda, fick våra NNs överskridande, de lärde sig att överleva i den miljö de brukar, men inte utanför den. Detta händer mycket i naturen. Tillvägagångssättet vi tog istället var avsett att kompensera för det genom att tvinga NN att göra bra på ett slumpmässigt fragment av datasetet, så att de förhoppningsvis också kunde utföra på ett okänt testningssätt. Istället misslyckades de både med testning och lärande. Föreställ dig djur som bor i en öken. Mycket sol, ingen snö alls. Detta är en metafor för riseringsmarknaden, eftersom vår NNs data spelar rollen som miljö. Djur lärde sig att leva i en öken. Föreställ dig djur som lever i ett kallt klimat. Snö och ingen sol alls. Tja, de justerade. Men i vårt experiment slog vi slumpmässigt våra NN i en öken, i snö, i vattnet, på träden. genom att presentera dem med olika fragment av data (slumpmässigt stigande, fallande, platt.). Djur dog. Eller, för att uttrycka det annorlunda, valde vi det bästa neurala nätverket för slumpmässig dataset 1, vilket var att säga för en stigande marknad. Sedan presenterade vi, för vinnarna och deras barn, en fallande marknadsdata. NNs utfördes dåligt, vi tog bäst av fattiga artister, kanske en av de mutanta barnen, som förlorade förmågan att handla på stigande marknad, men fick lite förmåga att hantera fallande. Sedan vände vi bordet igen, och igen fick vi bäst performer - men bäst bland fattiga artister. Vi gav helt enkelt våra NNs inga chanser att bli universella. Det finns tekniker som tillåter genetisk algoritm att lära sig ny information utan att förlora prestanda på gammal information (trots allt kan djur leva på sommaren och på vintern, rätt så evolution IS kan hantera upprepade förändringar). Vi kan diskutera dessa tekniker senare, även om den här artikeln handlar om att använda Cortex Neural Networks Software. än om att bygga ett framgångsrikt forexautomatiserat handelssystem. Neural Network Genetic Algorithm: Exempel 1 Nu är det dags att prata om korrigeringar. En enkel genetisk algoritm som vi skapade under föregående steg har två stora brister. För det första misslyckades det att handla med vinst. Det är ok, vi kan försöka använda delvis tränade system (det var lönsamt i början). Den andra felet är allvarligare: vi har ingen kontroll över saker som detta system gör. Det kan till exempel lära sig att vara lönsamt, men med stora drawdowns. Det är ett välkänt faktum att evolutionen i det verkliga livet kan optimera mer än en parameter samtidigt. Till exempel kan vi få ett djur som kan springa snabbt och vara motståndskraftigt mot kyla. Varför inte försöka göra detsamma i vårt forex-automatiserade handelssystem. Det är när vi använder korrigeringar, som bara är en uppsättning ytterligare straff. Säg, vårt system handlar med drawdown 0.5, medan vi vill bekräfta det till 0 - 0.3 intervall. För att berätta för systemet att det gjorde ett misstag minskar vi dess vinst (en som användes för att bestämma vilken genetisk algoritm vann) till den grad som är proportionell mot DD-storleken. Sedan tar evolutionalgoritmen hand om resten. Det finns få fler faktorer som vi vill ta hänsyn till: vi kanske vill ha mer eller mindre lika många köp och säljoperationer, vi vill ha mer lönsam verksamhet, då av misslyckanden, vi kanske vill att vinstdiagrammet ska vara linjär och så vidare. I evolution01.tsc implementerar vi en enkel uppsättning korrigeringar. Först och främst använder vi ett stort antal för ett första korrigeringsvärde. Vi multiplicerar den till ett litet (vanligtvis mellan 0 och 1) värden, beroende på det straff vi vill tillämpa. Sedan multiplicerar vi vår vinst till denna korrigering. Som resultat korrigeras vinsten för att reflektera hur mycket den genetiska algoritmen motsvarar våra andra kriterier. Sedan använder vi resultatet för att hitta ett vinnande neuralt nätverk. Forex Trading Strategy: Diskutera exempel 1 Exempel 1 fungerar mycket bättre än exempel 0. Under de första 100 cyklerna lärde sig det mycket, och vinstdiagrammen ser lugnande ut. Men som i exempel 0 är långa affärer mycket mer lönsamma, vilket sannolikt innebär att det finns ett problem i vår strategi. Systemet hittade emellertid en balans mellan några motsägelsefulla initiala förhållanden: Det finns en viss positiv dynamik både vid inlärningssättning och, viktigare, vid testuppsättning. När det gäller vidareutbildning, vid cykel 278 kan vi se att vårt system har överträffats. Det betyder att vi fortfarande har framsteg på inlärningssättet: Men att testa set visar svaghet: Detta är ett vanligt problem med NN: när vi lär det om lärande, lär det sig att hantera det, och ibland lär det sig alltför bra - till grad när det förlorar prestanda vid testuppsättningen. För att hantera det problemet används en traditionell lösning: vi letar efter det neurala nätverket. Det som bäst presterar på testet och spara det, skriva över tidigare bästa, varje gång ny topp nås. Det här är samma tillvägagångssätt som vi använde i FFBP-träning, förutom den här gången måste vi göra det själv (lägga till kod, som letar efter ett bäst neuralt nätverk på en testuppsättning och ringer SAVENN eller exporterar vikter av neuralt nätverk till en fil). På det här sättet, när du slutar träna, har du den bästa utställaren ON TESTING SET sparad och väntar på dig. Observera också att det inte är max. vinst du är ute efter, men optimal prestanda, så överväga att använda korrigeringar när du letar efter en bäst utförare på en testuppsättning. Genetisk algoritm för FOREX Teknisk Analys: Var nu När du fick din vinnare Neural Network. Du kan följa stegen, som beskrivs i föregående artikel, för att exportera vikter av det neurala nätverket. och sedan använda dem i din realtids handelsplattform, som Meta Trader, Trade Station och så vidare. Alternativt kan du fokusera på andra sätt att optimera det neurala nätverket. till skillnad från FFBP-algoritmen, kan du få avay från att använda inlärnings - och testsatser och flytta sekventiell inlärning. Ladda ner Cortex Order Cortex Visa prislista Synlighet är mycket viktigt för den här sidan. Om du gillar det, vänligen länka till den här URL-användningen av genetiska algoritmer för att prognostisera finansiella marknader. Burton föreslog i sin bok En slumpmässig Walk Down Wall Street (1973) att en blindfoldad apa-kasta dart på tidningarna finansiella sidor kunde välja en portfölj som skulle göra lika bra som en noggrant utvald av experter. Medan evolutionen kanske har gjort mannen inte mer intelligent vid att plocka lager, har Charles Darwins teori ganska effektiv när den tillämpas mer direkt. (För att hjälpa dig att välja lager, kolla Hur man väljer ett lager.) Vad är genetiska algoritmer Genetiska algoritmer (GAs) är problemlösningsmetoder (eller heuristics) som efterliknar processen med naturlig utveckling. Till skillnad från artificiella neurala nätverk (ANNs), utformade för att fungera som neuroner i hjärnan, använder dessa algoritmer begreppen naturligt urval för att bestämma den bästa lösningen för ett problem. Som ett resultat brukar GAs vanligtvis användas som optimeringsmedel som anpassar parametrar för att minimera eller maximera viss återkopplingsmått, som sedan kan användas oberoende eller i konstruktionen av en ANN. På de finansiella marknaderna. genetiska algoritmer används oftast för att hitta de bästa kombinationsvärdena för parametrar i en handelsregel och de kan byggas in i ANN-modeller som är utformade för att välja lager och identifiera affärer. Flera studier har visat att dessa metoder kan visa sig effektiva, inklusive genetiska algoritmer: Genesis of Stock Evaluation (2004) av Rama, och tillämpningarna av genetiska algoritmer i Stock Market Data Mining Optimization (2004) av Lin, Cao, Wang, Zhang. (För att lära dig mer om ANN, se Neural Networks: Prognos Profits.) Hur genetiska algoritmer fungerar Genetiska algoritmer skapas matematiskt med hjälp av vektorer, vilka är kvantiteter som har riktning och storleksordning. Parametrar för varje handelsregel är representerade med en endimensionell vektor som kan betraktas som en kromosom i genetiska termer. Under tiden kan värdena som används i varje parameter betraktas som gener, vilka sedan modifieras med naturligt val. Exempelvis kan en handelsregel innefatta användningen av parametrar som Moving Average Convergence-Divergence (MACD). Exponentiell rörlig medelvärde (EMA) och stokastik. En genetisk algoritm skulle sedan mata in värden i dessa parametrar med målet att maximera vinsten. Med tiden införs små förändringar och de som ger en önskad inverkan behålls för nästa generation. Det finns tre typer av genetiska operationer som kan utföras: Crossovers representerar reproduktion och biologisk korsning som ses i biologi, varigenom ett barn tar på sig vissa egenskaper hos sina föräldrar. Mutationer representerar biologisk mutation och används för att upprätthålla genetisk mångfald från en generation av en population till nästa genom att introducera slumpmässiga små förändringar. Utväljningar är det stadium där individuella genomer väljs från en population för senare uppfödning (rekombination eller crossover). Dessa tre operatörer används sedan i en femstegsprocess: Initiera en slumpmässig population där varje kromosom är n-längd, varvid n är antalet parametrar. Det vill säga, ett slumpmässigt antal parametrar upprättas med n element vardera. Välj kromosomer, eller parametrar, som ökar önskvärda resultat (förmodligen nettovinst). Applicera mutations - eller crossover-operatörer till de valda föräldrarna och generera en avkomma. Rekombinera avkomman och nuvarande befolkning för att bilda en ny befolkning med urvalsoperatören. Upprepa steg två till fyra. Med tiden kommer denna process att resultera i alltmer gynnsamma kromosomer (eller parametrar) för användning i en handelsregel. Processen avslutas sedan när ett stoppkriterium är uppfyllt, vilket kan innehålla körtid, träning, antal generationer eller andra kriterier. (För mer om MACD, läs Trading MACD Divergence.) Använda genetiska algoritmer i handel Medan genetiska algoritmer används främst av institutionella kvantitativa handlare. enskilda näringsidkare kan utnyttja kraften hos genetiska algoritmer - utan examen i avancerad matematik - med flera mjukvarupaket på marknaden. Dessa lösningar sträcker sig från fristående mjukvarupaket riktad mot finansmarknaderna till Microsoft Excel-tillägg som kan underlätta mer praktisk analys. När man använder dessa applikationer kan handlare definiera en uppsättning parametrar som optimeras sedan med en genetisk algoritm och en uppsättning historiska data. Vissa applikationer kan optimera vilka parametrar som används och värdena för dem, medan andra främst är inriktade på att helt enkelt optimera värdena för en viss uppsättning parametrar. (För mer information om dessa program härledda strategier, se Power of Program Trades.) Viktiga optimerings tips och tricks Kurvanpassning (överpassning), utforma ett handelssystem kring historiska data istället för att identifiera repeterbart beteende, utgör en potentiell risk för att handlare använder sig av genetiska algoritmer. Alla handelssystem som använder GA bör provprövas på papper före direktanvändning. Att välja parametrar är en viktig del av processen, och handlare bör söka parametrar som korrelerar med förändringar i priset på en viss säkerhet. Testa till exempel olika indikatorer och se om det verkar korrelera med stora marknadssvingningar. Genetiska algoritmer är unika sätt att lösa komplexa problem genom att utnyttja naturens kraft. Genom att tillämpa dessa metoder för att förutsäga värdepapperspriser kan handlare optimera handelsregler genom att identifiera de bästa värdena som ska användas för varje parameter för en viss säkerhet. Dessa algoritmer är dock inte den heliga graden, och handlare bör vara noga med att välja rätt parametrar och inte kurva passform (över passform). (För att läsa mer om marknaden, kolla in Lyssna på marknaden, inte dess pundits.) Beta är ett mått på volatiliteten eller systematisk risk för en säkerhet eller en portfölj i jämförelse med marknaden som helhet. En typ av skatt som tas ut på kapitalvinster som uppkommit av individer och företag. Realisationsvinster är vinsten som en investerare. En order att köpa en säkerhet till eller under ett angivet pris. En köpgränsorder tillåter näringsidkare och investerare att specificera. En IRS-regel (Internal Revenue Service) som tillåter utbetalningar från ett IRA-konto på ett strafffritt sätt. Regeln kräver det. Den första försäljningen av lager av ett privat företag till allmänheten. IPOs utfärdas ofta av mindre, yngre företag som söker. DebtEquity Ratio är skuldkvoten som används för att mäta ett företags finansiella hävstångseffekt eller en skuldkvot som används för att mäta en individ. Det finns en stor litteratur om framgången med tillämpningen av evolutionära algoritmer i allmänhet och den genetiska algoritmen i synnerhet till finansmarknader. Men jag känner mig obekväm när jag läser den här litteraturen. Genetiska algoritmer kan överpassa befintliga data. Med så många kombinationer är det lätt att komma fram till några regler som fungerar. Det kan inte vara robust och det har inte en konsekvent förklaring till varför denna regel fungerar och de regler som inte går utöver det bara (cirkulära) argumentet att det fungerar eftersom testningen visar att den fungerar. Vad är den nuvarande konsensusen om tillämpningen av den genetiska algoritmen i ekonomin frågade 18 feb 11 klockan 9:00 Ive arbetade i en hedgefond som medgav GA-härledda strategier. För säkerheten krävde det att alla modeller skickades in långt före tillverkningen för att se till att de fortfarande arbetade i backtests. Så det kan vara en fördröjning på upp till flera månader innan en modell skulle tillåtas springa. Det är också användbart att skilja provuniverset med en slumpmässig hälsa av de möjliga bestånden för GA-analys och den andra hälften för bekräftelse-backtest. Är det en annan process än vad du skulle använda innan du litar på någon annan handelsstrategi (Om så är fallet, är det inte klart för mig vad du får från att göra en GA-modell med data till tid t, sedan testning tills tN innan du litar på det, mot att använda data till tiden tN, testa från tN till t och använda det omedelbart.) Dar Dar Cook 23/11/11, 2:08 DarrenKök ett problem jag ser är att om du testar från tN till t och tycker att det inte fungerar bra, då går du att skapa en annan modell som testas under samma tidsperiod tN till t (ad infinitum). Det introducerar sannolikheten för kvotövervakning under modellskapande processen. ndash Chan-Ho Suh Jul 22 15 på 5:24 När det gäller data-snooping, om en GA är implementerad korrekt, borde det inte vara ett problem. Mutationfunktioner är specifikt inkluderade för att slumpmässigt söka igenom problemutrymmet och förhindra datasnutning. Med det sagt kan det vara något av en konst att hitta rätt mutationsnivåer, och om mutationsnivåerna är för låga, så är det som om funktionen inte genomfördes i första hand. ndash BioinformaticsGal Apr 6 11 at 16:28 BoinformaticsGal Jag förstår inte hur införandet av mutationsfunktioner gör det möjligt för oss att undvika datasnutning. Efter sökningen finns det en träningsfunktion som gör varje generation 39fit39 av data ännu mer. Eller förstår jag inte dig rätt ndash Vishal Belsare Sep 15 11 at 18:05 Theres många människor här talar om hur GAs är empiriska, har inte teoretiska fundament, är svarta lådor och liknande. Jag ber att skilja Theres en hel gren av ekonomi som ägnas åt att titta på marknader när det gäller evolutionära metaforer: Evolutionär ekonomi Jag rekommenderar starkt Dopferboken, The Evolutionary Foundations of Economics, som ett intro. cambridge. orggbknowledgeisbnitem1158033sitelocaleenGB Om din filosofiska uppfattning är att marknaden är i grunden ett jätte casino eller spel, då är en GA enbart en svart låda och har ingen teoretisk grund. Men om din filosofi är att marknaden är en överlevnad av den mest fina ekologin, så har GA: erna många teoretiska fundament och det är helt rimligt att diskutera saker som företagsspecialisering, marknadsekonomi, portföljgenomgångar, handelsklimat och tycka om. svarat 5 apr 11 kl 15:42 På korta tidsskalor är det mer ett kasino. Gilla naturen, i själva verket. ndash quantdev Apr 5 11 at 20:46 quantdev, problemet med detta är att GA - som alla andra kvantitativa metoder - fungerar bara med kort tidsskala, om jag inte misstar mig. Så om aktiemarknaden är mer som en aktiemarknad, skulle GA vara helt värdelös. ndash Graviton Apr 6 11 at 8:56 Graviton. Det finns ingen inneboende orsak till att man inte kan programmera en GA för att göra analys vid längre tidspaneler. Tidens domän för en GA är uppmätt i generationer, inte år eller dagar. Så man skulle helt enkelt behöva definiera en befolkning som innehåller individer vars generationer är år eller årtionden långa (dvs. företag). Det har definitivt varit något arbete som närmar sig att definiera företag 39genomes39 genom sina produktionsprocesser. I en sådan modell skulle man optimera för en effektiv företags affärsmodell med tanke på ett särskilt marknadsklimat. Det är dock inte en aktiekursportfölj modell. ndash BioinformaticsGal Apr 6 11 at 15:12 Förutsatt att du undviker data-snooping bias och alla potentiella fallgruvor för att använda det förflutna för att förutsäga framtiden, kommer det att lita på genetiska algoritmer för att hitta den rätta lösningen, som i stort sett kokar ner till samma vad du gör när du aktivt hantera en portfölj, vare sig kvantitativt eller diskretionärt. Om du tror på marknadseffektivitet är det dåligt att öka dina transaktionskostnader från aktiv hantering. Om du emellertid tror att det finns strukturella förstärkare, psykologiska mönster eller brister som ska utnyttjas och utbetalningen är värt tid och pengar för att undersöka och genomföra en strategi är det logiska valet aktivt förvaltning. Att driva en GA-strategi är en implicit satsning mot marknadseffektivitet. Du säger i grund och botten att jag tror att det finns felvärderingar som uppstår av någon anledning (massor av irrationella människor, fonder som hämtar på grund av felaktiga incitament etc.) och att köra denna GA kan sortera denna massa data ut snabbare än jag kan . svarade 18 feb 11 kl 15:49 Manuell hantering av en aktiv portfölj innebär att du använder all information vi har och tar en logisk slutsats om marknaden och genomför sedan strategier på det här är en rationell aktivitet. OTOH, med hjälp av GA använder vi ett svartboksverktyg som vi inte kan förklara resultatet från det från alla accepterade principer. Jag är inte säker på om dessa två är riktigt desamma. ndash Graviton Feb 18 11 at 15:57 Graviton Ja men överväga likheterna mellan GA39s och hur vi människor lär sig om marknader, utveckla strategier, lära av misstag och anpassa sig till förändrade marknadsförhållanden. När du undersöker vilka vinnande och förlorande aktier har gemensamt, eller vilka volymer och prismönster som skapar bra affärer, eller vilken modell som är mest exakt för värdering av derivat, vad du gör är datautvinning det förflutna på ett sätt. När marknadsförhållandena förändrar dig handlar du antingen om nya strategier eller så småningom att gå i konkurs. Om det finns exploerbara kanter på marknaden är den enda skillnaden mellan dig och en GA ndash Joshua Chance 18 feb 11 kl 16:46 Graviton (i mycket vid mening) är att du har en berättelse, en historia att gå med din strategi . Vi människor riskerar att hitta ett till synes återkommande mönster och sedan rationalisera det och skapa en berättelse. GA39s riskerar samma sak, bara deras potentiellt falska modell använder inte ord, de använder matematik och logik. ndash Joshua Chance 18 feb 11 kl 16:54 Den sena Thomas Cover. (sannolikt den ledande informationsteoretikern i sin generation), ansåg universella metoder för data som komprimering av data och portföljtilldelningar som sanna genetiska algoritmer. Evolution har inga parametrar för att passa eller träna. Varför ska äkta genetiska algoritmer Universella tillvägagångssätt ger inga antaganden om den underliggande fördelningen av data. De gör inga försök att förutse framtiden från mönster eller något annat. Den teoretiska effektiviteten hos universella tillvägagångssätt (de presenterar betydande implementeringsutmaningar, se min senaste fråga: Geometri för universella portföljer) följer av dem som gör vad evolutionen kräver. Den snabbaste, smartaste eller starkaste behöver inte nödvändigtvis överleva i nästa generation. Evolution gynnar den genen, organismen, meme, portföljen eller datakomprimeringsalgoritmen placerad för att lättast kunna anpassa sig till vad som händer nästa. Eftersom dessa tillvägagångssätt inte ger några antaganden och fungerar icke parametriskt kan man också betrakta alla tester, även på alla historiska data, som out-of-sample. Visserligen har de begränsningar. Visst kan de inte arbeta för varje sort ett problem vi står inför i vår domän, men ge, vilket intressant sätt att tänka på sakerna. svarat 14 juli 13 kl 15:42 Målet med ett genetiskt algo är att hitta den bästa lösningen utan att gå igenom alla möjliga scenarier eftersom det skulle vara för långt. Så det är självklart det kurvmontering, det är målet. svarat 6 mar 11 kl 20:40 Men det finns en signifikant skillnad mellan övermontering av provet (dåligt) och passning av befolkningen (bra). Det är därför som många föreslår att du kryssvaliderar din algoritm med provtagning utanför provet. ndash Joshua Jul 17 13 på 2:34 Ditt svar 2017 Stack Exchange, IncA styrka fördjupad prediktionsmodell för prognos växelkurser med hjälp av vektorvektorer och genetiska algoritmer Citera denna artikel som: zorhan, M. O. Toroslu,.H. ehitolu, O. T. Soft Comput (2016). doi: 10.1007s00500-016-2216-9 I detta papper behandlas problem med att förutsäga riktning och storleksordning för valutapar på valutamarknaden. Studien använder Support Vector Machine med ett nytt tillvägagångssätt för inmatningsdata och handelsstrategi. Ingångsdata innehåller tekniska indikatorer som genereras av valutaprisdata (dvs. öppna, höga, låga och stängda priser) och representation av dessa tekniska indikatorer som trenddeterministiska signaler. Inmatningsdata anpassas också dynamiskt till varje handelsdag med genetisk algoritm. Studien innehåller en valutahållfasthetsstrategi som väljer det bästa paret att handla från den tillgängliga valutan och är en förbättring jämfört med tidigare arbete. Noggrannheten i prognosmodellerna testas över flera olika uppsättningar av tekniska indikatorer och valutapar uppsättningar, som spänner över 5 års historiska data från 2010 till 2015. Experimentella resultat tyder på att användandet av trenddetermistiska tekniska indikatorsignaler blandade med rådata förbättrar övergripande prestanda och dynamisk anpassning av ingående data till varje handelsperiod resulterar i ökad vinst. Results also show that using a strength-biased trading strategy among a set of currency pair increases the overall prediction accuracy and profits of the models. Forex Forecasting Support Vector Machines Genetic Algorithms Trend Deterministic Communicated by V. Loia. References Anasataskis L, Mort N (2009) Exchange rate forecasting using a combined parametric and nonparametric self-organising modelling approach. Expert Syst Appl 1:1200112011 CrossRef Google Scholar Bahrepour M, Akbarzadeh M, Yaghoobi M, Naghibi S (2011) An adaptive ordered fuzzy time series with application to FOREX. Expert Syst Appl 1:475485 CrossRef Google Scholar Box GEP, Jenkins GM (1976) Time series analysis: forecasting and control. Holden-Day, San Francisco MATH Google Scholar Brown DP, Robert HJ (1989) On technical analysis. Rev Financ Stud 2:527551 CrossRef Google Scholar Chen MY, Chen K, Chiang H, Huang H, Huang M (2007) Comparing extended classifier system and genetic programming for financial forecasting: an empirical study. Soft Comput 1:11731183 CrossRef MATH Google Scholar Cheung Y, Chinn MD, Pascual AG (2005) Empirical exchange rate models of the nineties: are they fit to survive J Int Money Finance 24:11501175 CrossRef Google Scholar Cortes C, Vapnik V (1995) Support-vector networks. Mach Learn 1:20 MATH Google Scholar Davis L (1991) Handbook of genetic algorithms. Van Nostrand Reinhold, New York Google Scholar Gupta AR, Ingle VR, Gaikwad MA (2012) LS-SVM parameter optimization using genetic algorithm to improve fault classification of power transformer. Int J Eng Res Appl 1:18061809 Google Scholar Ijegwa D, Rebecca O, Olusegun F, Isaac O (2014) A predictive stock market technical analysis using fuzzy logic. Comput Inf Sci 7(3):117 Jung HG, Yoon JP, Kim J (2007) Genetic algorithm based optimization of SVM based pedestrian classifier. ITC-CSCC 1:833834 Google Scholar Kampouridis M, Otero FEB (2015) Heuristic procedures for improving the predictability of a genetic programming financial forecasting algorithm. Soft Comput 1:116 Google Scholar Kamruzzaman J, Sarker R (2003) Forecasting of currency exchange rates using ANN: a case study. IEEE Int Conf Neural Netw Signal Process 1:793797 Google Scholar Khemchandani R, Jayadeva Chandra S (2009) Regularized least squares fuzzy support vector regression for financial time series forecasting. Expert Syst Appl 1:132138 CrossRef Google Scholar Korol T (2014) A fuzzy logic model for forecasting exchange rates. Knowl Based Syst 1:4960 CrossRef Google Scholar Leitch G, Tanner JE (1991) Economic forecast evaluation: profits versus the conventional error measures. Am Econ Rev 1:580590 Google Scholar Lu C, Lee T, Chiu C (2009) Financial time series forecasting using independent component analysis and support vector regression. Decis Support Syst 1:115125 CrossRef Google Scholar Meffert K (2014) JGAPJava Genetic Algorithms and Genetic Programming Package. jgap. sf Moosa I, Burns K (2014) The unbeatable random walk in exchange rate forecasting reality or myth J Macroecon 1:6981 CrossRef Google Scholar Nesreen A, Atiya A, Gayar N, Shishiny H (2010) An empirical comparison of machine learning models for time series forecasting. Econ Rev 1:594621 MathSciNet Google Scholar Pang S, Song L, Kasabov N (2011) Correlation-aided support vector regression for forex time series prediction. Neural Comput Appl 1:11931203 CrossRef Google Scholar Patel J, Shah S, Thakkar P, Kotecha K (2015) Predicting stock and stock price index movement using trend deterministic data preparation and machine learning techniques. Expert Syst Appl 1:259268 CrossRef Google Scholar Shahjalal M, Sultana A, Mitra KN, Khan K (2012) Implementation of fuzzy rule based technical indicator in share market. Int J Appl Econ Finance 6:5363 CrossRef Google Scholar Shen F, Chao J, Zhao J (2015) Forecasting exchange rate using deep belief networks and conjugate gradient method. Neurocomputing 1:243253 CrossRef Google Scholar Tick-by-Tick Real-Time and Historical Market Rates (2016) truefx. Accessed on 14 Jan 2016 Villa S, Stella F (2012) A continuous time bayesian network classifier for intraday FX Prediction. Quantitative Finance, pp 1-20 Wang S, Yu L, Lai K, Huang W (2007) Developing and assessing an intelligent forex rolling forecasting and trading decision support system for online e-service. Int J Intell Syst 1:475499 Google Scholar Yao J, Tan C (2000) A case study on using neural networks to perform technical forecasting of forex. Neurocomputing 1:7998 Zhang P (2003) Time series forecasting using a hybrid ARIMA and neural network model. Neurocomputing 1:159175 CrossRef MATH Google Scholar Zhiqiang G, Huaiqing W, Quan L (2013) Financial time series forecasting using LPP and SVM optimized by PSO. Soft Comput 1:805818 CrossRef Google Scholar Copyright information Springer-Verlag Berlin Heidelberg 2016 Authors and Affiliations Mustafa Onur zorhan 1 Email author smail Hakk Toroslu 1 Onur Tolga ehitolu 1 1. Computer Engineering Department Middle East Technical University Ankara Turkey About this article
No comments:
Post a Comment