Introduktion till FX Data Mining Vi gör en enkel och snabb introduktion till en av de mest intressanta fälten idag - Data Mining. Det finns ett brett utbud av data mining applikationer. Vi bör integrera Data Mining i vår FX-handel. FX, FOREX eller Foreign Exchange FX är den största marknaden när det gäller daglig handel. Den har tre huvudnivåer av deltagare: de stora pojkarna, mellannivån och enkla handlare som du och jag. Det har en spekulativ natur, vilket innebär att vi oftast inte byter varor. Vi bryr oss bara om skillnaden och vill köpa lågt och sälja högt eller sälja högt och köpa lågt. Genom korta eller långa operationer kan vi få pips. Beroende på din volym kan pipvärdet variera från en cent till 10 och mer. Detta är det viktigaste sättet att tjäna pengar på valutamarknaden (tillsammans med Carry Trade, Brokering, Arbitrage och mer). Observera att valutamarknaden är enorm men lämpar sig för alla nivåer av spelare. Tänk på valutamarknaden som ett oändligt stormarknad med oändligt antal produkter och kunder, men det har också ett oändligt antal kassörer. Det betyder att det finns lika stora möjligheter för alla. Data Mining och Machine Learning Data Mining är ett moget delområde för datavetenskap. Det handlar om mycket data och icke trivial utvinning av användbar kunskap från massiva datamängder. Det görs av Intelligent databehandling med maskinlärningsalgoritmer. Data Mining är inte bara CRUD (Skapa, läs, uppdatera och ta bort). Vi har flera Data Mining metoder. Härmed metoderna och vissa tillämpningar. Klassificering - klassificera e-post som spam, klassificera en transaktion som bedrägeri. Association - YouTube föreslår oss nya videor baserat på vår historia. Amazon föreslår oss fler artiklar under utcheckningen. Clustering - analys av ostrukturerad data som ekonomiska nyheter och åsikter för att hitta gemensamma grupper. Process Mining - granska loggar av samtalsoperatörer för att hitta ineffektiva operationer. Text Mining - gruvinnews eller teknisk analys för mönsterigenkänning. Algoritmisk handel är ett automatiserat utförande av en handelsalgoritm. I vårt fall kommer handelsalgoritmen från gruvan. Den automatiserade handeln görs av någon kung i programmeringsspråket. Hastighet och robusthet är viktiga punkter här: Mänskliga handlare kan inte slå datorprogrammet om dessa attribut. Det kan vara HFT (High Frequency Trading) och låg nivå programmering (som C) eller långsiktig handel och hög nivå programmering (som Java). Blanda Algoritmisk Handel med Data Mining Blanda Data Mining i Algoritmisk Trading är viktigt. Det viktigaste är data. En enkel princip säger att om dina data inte är tillräckligt bra kommer dina modeller inte att vara tillräckligt bra (GIGO). Det handlar om att skapa en modell, implementera den och testa den (som alltid). För närvarande är detta flöde mestadels manuellt. Data Mining Software Det finns många öppna källprogram alternativ inom Data Mining. WEKA är ett datagrundverkningsramverk som har sitt ursprung i University of Waikato, Hamilton, Nya Zeeland. WEKA är skrivet i Java och har ett bra API. Du har också implementeringar för de flesta av de välkända maskinlärningsalgoritmerna. Blandning av bra verktyg är avgörande. Det finns för många möjliga handelsmodeller. Att kasta ett mynt är ett dumt handelssystem men det är ett handelssystem. Vi behöver Data Mining för att hitta guldet. Bra verktyg är lätta att få lycka till med gruvan. Om du letar efter mer information om vetenskaplig valutahandel är ditt nästa steg att utforska datautvinningsverktyg och historiska data. Besök algonell för mer information. Du hittar oss på twitter. Facebook. Google. LinkedIn och WordPress. Data Mining en Forex Majors strategi På grund av de unika egenskaperna hos olika valutapar är många kvantitativa Forex strategier utformade med ett specifikt valutapar i åtanke. Även om detta kan producera många lönsamma handelsstrategier, finns det också fördelar med att utveckla strategier som kan handlas över flera valutapar. Detta introducerar ett element av diversifiering som kan ge en ytterligare nivå av nackskydd. Daniel Fernandez publicerade nyligen ett system som han utformade för att handla på var och en av de fyra Forex majorsna. Hans mål var att hitta ett system som skulle ha gjort en 20-årig rekord över lönsam handel på EURUSD, GBPUSD, USDJPY och USDCHF. Daniel använder en metodbrytning för att utveckla en strategi för handel med de fyra Forex-majorsna. För att konstruera sitt system använde Daniel sin data mining programvara för att definiera inresa och utgående signaler som skulle ha skapat en lönsam handelsstrategi på var och en av de fyra valutapar under de senaste 20 åren. Vad han kommer med är en kombination av tre prisbaserade regler som ligger till grund för sin Forex Majors strategi. Daniel8217s Forex Majors Strategi Daniel8217s Forex Majors strategi är väldigt enkelt genom att den alltid har en position, antingen lång eller kort, i var och en av de fyra valutapar som den handlar om. Det baserar alla sina affärer på dagliga diagram. Strategin går lång när följande tre villkor är uppfyllda: Strategin går kort när följande tre villkor är uppfyllda: Som du kan se är strategin i princip en optimerad trendstrategi. Det här är vettigt, för Daniel säger i början av sin artikel att den långsiktiga trenden efter strategier i allmänhet är de bästa strategierna för handel med flera marknader. En ytterligare regel som Daniel8217s strategi utnyttjar är en ATR-baserad stop-loss. Den fasta stoppförlusten är inställd på 180 av 20-dagars ATR. Om stoppförlusten utlöses, förblir strategin borta från marknaden tills en signal genereras i motsatt riktning. Testning indikerar att återinmatning på en signal i samma riktning påverkar resultatet negativt. Backtesting Performance De backtestingresultat som Daniel inkluderade i hans inlägg visar att strategin var ganska lönsam. Det gav ett vinstförhållande på 45, en vinstfaktor på 1,38 och ett belöning till riskförhållande på 1,68. Daniel8217s största oro över strategin var att den maximala dröjsmålsperioden representerade en mycket lång tid. Enligt Daniel8217s siffror var den genomsnittliga årliga avkastningen 9,67. Detta bestod av 16 lönsamma år, 4 förlorande år och ett år som i grunden bröt ens. Det bästa året var en avkastning på 37,76, och det värsta året var en förlust på 20,2. Daniel noterar att detta system inte skulle utgöra en bra fristående strategi på grund av avkastningen i förhållande till maximala drawdowns. Han föreslår emellertid att det kan vara en intressant bit av en större, multi-systems strategi. Vad vill du ha mer information om hur TradeMiner kan hjälpa dig i din handel. TradeMiner Software identifierar historiska säsongsutvecklingar och marknadscykler En vetenskapligt dokumenterad metodik: Justera kriterier för att få omedelbara resultat av historiska trender Skanning för historiska säsongsutvecklingar görs enkelt genom att interagera med stycket som ovan. Sök efter trender efter månad eller för en viss symbol Definiera den minsta historiska noggrannheten (dvs. 80 historisk vinstprocent över tio år skulle innebära minst 8 av de senaste 10 åren måste ha varit i linje med säsongsutvecklingen.) Smal Eller utöka handelsdagarna. Detta anger hur länge antalet dagar du vill att trenden ska vara (dvs. 15 handelsdagar till 45 handelsdagar söker trender som stannar tre veckor till nio veckor.) Välj hur många år du ska se tillbaka. Med det här alternativet kan du ange det lägsta antalet år TradeMiner kommer att se tillbaka för att hitta historiska trender. Filter filtrerar bort överlappande trender (dvs trender som börjar samma dag men slutar på olika dagar eller om de överlappar alls.) Välja Dig nu kommer att skanna igenom den historiska databasen och identifiera trender och cykler som uppfyller dina kriterier. TradeMiner kommer att rangordna de historiska resultaten enligt ett eget rankningssystem. Detta system rankar högre valen med de största historiska vinsterna på kortast möjliga tid, med minst en historisk risk. Poängrankningen fungerar på en skala från noll till fem och innehåller en lättläst, färgkodad nyckel. Analysera grafer Med olika kartor i TradeMiner kan du se resultaten från tidigare år, identifiera historisk risk vs. belöning och se detaljerade handelsloggar över tidigare års trender. Visuellt se den historiska trenden och se resultaten från tidigare år. I TradeMiner kan du välja något av följande diagram och de kommer att dyka upp i det nedre större diagramfönstret. Denna större vy ger och ytterligare detaljer för valfri handel. Historisk Equity Graph Historisk Risk vs Belöning År-för-år Handel DetaljerBacktesting Data Mining Backtesting Data Mining I den här artikeln ta en titt på två relaterade metoder som används ofta av handlare som heter Backtesting och Data Mining. Det här är tekniker som är mäktiga och värdefulla om vi använder dem korrekt, men handlarna brukar ofta använda dem. Därför utforska också två vanliga fallgropar av dessa tekniker, känd som problem med multipel hypotes och överfitting och hur man kan övervinna dessa fallgropar. Backtesting är bara processen att använda historiska data för att testa prestanda för någon handelsstrategi. Backtesting börjar i allmänhet med en strategi som vi skulle vilja testa, till exempel köpa GBPUSD när den passerar över 20 dagars glidande medelvärde och säljer när det går under det genomsnittet. Nu kunde vi testa den strategin genom att titta på vad marknaden går framåt, men det skulle ta lång tid. Det är därför vi använder historiska data som redan är tillgängliga. Men vänta, vänta jag hör dig säga. Kunde du inte fuska eller åtminstone vara partisk eftersom du redan vet vad som hände i det förflutna. Det är definitivt en oro, så en giltig backtest kommer att vara en där vi inte känner till historiska data. Vi kan åstadkomma detta genom att välja slumpmässiga tidsperioder eller genom att välja många olika tidsperioder för att utföra testet. Nu hör jag en annan grupp av dig som säger: Men all den historiska data som bara sitter där och väntar på att bli analyserad är frestande. Det är kanske. Det finns kanske djupa hemligheter i den data som bara väntar på geeks som att vi ska upptäcka den. Skulle det vara så fel för oss att undersöka historiska data först, att analysera det och se om vi kan hitta mönster som är dolda inom det. Detta argument är också giltigt, men det leder oss till ett område som är fyllt av fara. Data Mining Data Mining innebär att du söker igenom data för att hitta mönster och hitta möjliga korrelationer mellan variabler. I exemplet ovan med 20 dagars glidande medelstrategi kom vi precis fram till den specifika indikatorn ut ur det blåa, men antar att vi inte hade någon aning om vilken typ av strategi vi ville testa. Det är när datainsamling kommer till nytta. Vi kunde söka igenom våra historiska data på GBPUSD för att se hur priset uppfördes efter att det passerade många olika glidande medelvärden. Vi kunde även kontrollera prisrörelser mot många andra typer av indikatorer och se vilka som motsvarar stora prisrörelser. Ämnet med data mining kan vara kontroversiellt eftersom det som om jag diskuterade ovan verkar det som att fuska eller titta framåt i data. Är datautvinning en giltig vetenskaplig metod Å ena sidan säger den vetenskapliga metoden att man först skulle göra en hypotes och sedan prova den mot våra data, men å andra sidan förefaller det lämpligt att göra en viss undersökning av data först för att Föreslå en hypotes. Så som är rätt Vi kan titta på stegen i den vetenskapliga metoden för att ange källan till förvirringen. Processen ser i allmänhet ut så här: Observation (data) Hypotesprediction Experiment (data) Observera att vi kan hantera data under både observations - och experimentfasen. Så båda visningarna är rätt. Vi måste använda data för att skapa en förnuftig hypotes, men vi testar också den hypotesen som använder data. Tricket är helt enkelt att se till att de två uppsättningarna inte är samma. Vi får aldrig testa vår hypotes med samma uppsättning data som vi brukade föreslå vår hypotes. Med andra ord, om du använder data mining för att komma med strategidéer, se till att du använder en annan uppsättning data för att backtest dessa idéer. Nu snälla vända oss till de viktigaste fallgroparna med att använda datautvinning och backtesting felaktigt. Det allmänna problemet är känt som överoptimering och jag föredrar att bryta det problemet ner i två olika typer. Dessa är problem med multipel hypotes och överfitting. På ett sätt är de motsatta sätt att göra samma fel. Problemet med flera hypoteser innebär att man väljer många enkla hypoteser medan överfitting innebär att man skapar en mycket komplex hypotes. Problemet med flera hypoteser För att se hur problemet uppstår, kan vi gå tillbaka till vårt exempel där vi testade den 20-dagars glidande genomsnittliga strategin. Låt oss anta att vi backtestar strategin mot tio års historisk marknadsdata och ser och gissar vad Resultaten är inte särskilt uppmuntrande. Vi är dock grova och torra handlare som vi är, vi bestämmer oss för att inte ge upp så lätt. Vad sägs om ett tio dagars glidande medelvärde. Det kan fungera lite bättre, så vi kan backtest det. Vi kör en annan backtest och vi finner att resultaten fortfarande är stilla, men de är lite bättre än 20-dagarsresultaten. Vi bestämmer oss för att utforska lite och köra liknande tester med 5-dagars och 30-dagars glidande medelvärden. Slutligen förekommer det för oss att vi faktiskt kunde testa varje enskilt rörligt medelvärde fram till en viss tid och se hur de alla utför. Så vi testar 2-dagars, 3-dagars, 4-dagars och så vidare hela vägen upp till 50-dagars glidande medelvärde. Nu kommer vissa av dessa medelvärden att fungera dåligt och andra kommer att fungera ganska bra, men det måste vara en av dem som är det absolut bästa. Till exempel kan vi konstatera att 32-dagars glidande medelvärde visade sig vara den bästa artisten under den här tioårsperioden. Betydar detta att det finns något speciellt med 32-dagars genomsnittet och att vi borde vara övertygade om att det kommer att fungera bra i framtiden. Men många handlare antar att detta är fallet, och de slutar bara analysen på den här tiden och tänker på att De har upptäckt något djupt. De har fallit in i fallet med multipel hypotesproblem. Problemet är att det inte finns något ovanligt eller signifikant om att vissa medel visade sig vara bäst. När allt kommer omkring testade vi nästan femtio av dem mot samma data, så vi räknar med att hitta några bra artister, bara av en slump. Det betyder inte theres något speciellt om det speciella glidande medlet som vann i detta fall. Problemet uppstår eftersom vi testat flera hypoteser tills vi hittade en som fungerade, istället för att välja en enda hypotes och testa den. Här är en bra klassisk analogi. Vi kunde komma med en enda hypotes, som Scott är bra på att flippa huvuden på ett mynt. Därifrån kunde vi skapa en förutsägelse som säger att, om hypotesen är sant, kommer Scott att kunna vända 10 huvuden i rad. Då kan vi utföra ett enkelt experiment för att testa den hypotesen. Om jag kan vända 10 huvuden i rad bevisar det faktiskt inte hypotesen. Men om jag inte kan åstadkomma denna prestation motbevisar den definitivt hypotesen. När vi gör upprepade experiment som misslyckas med att motbevisa hypotesen växer vårt förtroende för sin sanning. Det är rätt sätt att göra det. Men om vi hade kommit med 1000 hypoteser istället för bara den om att jag var en bra myntflipper kunde vi göra samma hypotes om 1000 olika människor. Jag, Ed, Cindy, Bill, Sam, etc. Ok, nu kan vi testa våra multipla hypoteser. Vi ber alla 1000 personer att vända ett mynt. Det kommer förmodligen att finnas ungefär 500 som flip heads. Alla andra kan gå hem. Nu ber vi de 500 personerna att vända igen, och den här gången ca 250 kommer att flipa huvuden. På den tredje flipen sitter cirka 125 personer på huvudet, på fjärde finns cirka 63 personer kvar och på femte flipen finns det 32. Dessa 32 personer är alla ganska fantastiska. De har alla vred fem huvuden i rad Om vi vänder fem Fler gånger och eliminera hälften av folket varje gång i genomsnitt, kommer vi att sluta med 16, sedan 8, sedan 4, sedan 2 och äntligen kvarstår en person som har vridit tio huvuden i rad. Dess Bill Bill är en fantabulous flipper av mynt Eller är han väl vi vet verkligen inte, och det är poängen. Bill kan ha vunnit vår tävling ur ren chans, eller han kan mycket väl vara den bästa flipper av huvuden denna sida av Andromeda galaxen. På samma sätt vet vi inte om 32-dagars glidande medelvärde från vårt exempel ovan bara fungerade bra i vårt test med ren chans, eller om det verkligen finns något speciellt med det. Men allt vi gjort hittills är att hitta en hypotes, nämligen att den 32-dagars glidande genomsnittliga strategin är lönsam (eller att Bill är en bra myntfinger). Vi har inte testat den hypotesen än. Så nu vi förstår att vi inte har upptäckt någonting som är betydelsefulla än om det 32-dagars glidande medlet eller om Bills förmåga att vända på mynt, är den naturliga frågan att fråga är vad vi ska göra nu. Som jag nämnde ovan inser många handlare inte att det där Är ett nästa steg som krävs alls. Nåväl, när det gäller Bill, frågar du noga, Aha, men kan han vända tio huvuden i rad igen. När det gäller 32-dagars glidande medel vill wed vilja testa det igen, men absolut inte mot samma dataprov som Vi brukade välja den hypotesen. Vi skulle välja en annan tioårsperiod och se om strategin fungerade lika bra. Vi kunde fortsätta att göra detta experiment så många gånger som vi ville ha tills vår leverans av nya tioårsperioder löpte ut. Vi hänvisar till detta som ur provprovning, och det är sättet att undvika denna fallgrop. Det finns olika metoder för sådan testning, varav en är korsvalidering, men vi kommer inte att komma in i så mycket detaljer här. Överfitting är verkligen en typ av omvändning av ovanstående problem. I exemplet med flera hypoteser ovan tittade vi på många enkla hypoteser och plockade den som fungerade bäst i det förflutna. Vid överfitting ser vi först på förflutna och bygger sedan en enda komplex hypotes som passar bra med vad som hände. Om jag till exempel tittar på USDJPY-kursen under de senaste 10 dagarna kan jag se att den dagliga stängningen gjorde det här: upp, upp, ner, upp, upp, upp, ner, ner, nedåt, uppåt. Fick det Se mönstret Ja, det gör jag inte heller. Men om jag ville använda dessa data för att föreslå en hypotes skulle jag kunna komma med. Min fantastiska hypotes: Om slutkursen går upp två gånger i rad och sedan ner för en dag eller om det går ner i tre dagar i rad borde vi köpa, men om stängningskursen går upp tre dagar i rad, så borde vi sälja , Men om det går upp tre dagar i rad och sedan ner tre dagar i rad borde vi köpa. Huh låter som en whacky hypotes rätt Men om vi hade använt den här strategin under de senaste 10 dagarna hade vi haft rätt på varje handel vi gjorde. Överfitter använder backtesting och data mining annorlunda än de många hypoteserna gör. Överfitteren kommer inte upp med 400 olika strategier för backtest. Inget sätt Överfitter använder data mining verktyg för att räkna ut en enda strategi, oavsett hur komplicerat det skulle ha haft den bästa prestanda under backtesting perioden. Kommer det att fungera i framtiden Inte sannolikt, men vi kan alltid hålla tweaking modellen och testa strategin i olika prover (ur provtest igen) för att se om vår prestanda förbättras. När vi slutar få prestandaförbättringar och det enda som stiger är komplexiteten hos vår modell, så vet vi att vi har korsat linjen till överfitting. Så i korthet har vi sett att datautvinning är ett sätt att använda vår historiska prisdata för att föreslå en fungerande handelsstrategi, men att vi måste vara medvetna om fallgroparna i det multipla hypotesproblemet och överfitting. Sättet att se till att vi inte faller byte mot dessa fallgropar är att backtest vår strategi med hjälp av en annan dataset än den som vi använde under vår undersökning av data mining. Vi brukar hänvisa till detta som ur provprovning. Ett problem med Data mining är att handlare tenderar att använda olika typer av filter för att söka efter ett mönster. Problemet med detta är att någon signal är sammansatt av de olika sinusformade signalerna, så när vi använder olika filter på en signal kommer vi säkert att sluta med ett mönster. Många studier har gjorts på prismönster, mestadels baserat på datavinnning, frågan kommer antagandet att framtiden speglar det förflutna, svaret är kanske. Vi har 5050 chans. Andelen kan ökas genom att studera detta mönster på olika data. Om vi till och med vill öka denna procentandel behöver vi veta vad orsaken till detta mönster är, genom att veta orsaken till detta mönster skulle vi ha en fördel i handeln. Till exempel kommer jag att göra detta antagande, säger let8217s att den första fredagen i varje månad på grund av nyheterna massor av handlare tenderar att lämna sina affärer på morgonen före nyheten och gå in igen efter nyheterna, så det finns ett mönster för försäljning och Köpa vid viss tidpunkt. Vi skulle kunna använda denna information till vår fördel genom att tillämpa någon form av en säkringshandel så vi går in med både köp och sälj före nyheterna. Sedan efter nyheterna säljer vi bara för vem som vill köpa och didn8217t vill hålla en position under nyheterna och vi låter köpet tills priset återkommer, det skulle kunna tillämpas på sågpengräntan eller en annan inställning 8230 bla bla. Detta är bara en teori. Jag använder det för att säga att rädsla och girighet har en tid på marknaden. Så vad skapar prismönstret är rädsla och girighet, nu om vi isolerar mönstret och känner orsaken bakom det här mönstret, som i föregående exempel, rädsla för nyheterna eller avveckling av kontot i slutet av månaden. sådana saker. Då kan vi teoretiskt förutse framtiden de första två inlägget kopieras från den här sidan är alla artiklar från Scott Percival värda att läsa Utmärkt Thread MiniMe Gå med oss ladda ner MetaTrader 5 Copyright 2000-2016, MQL5 Ltd.
No comments:
Post a Comment