Forex walk forward testing
Walk Forward Analyzer är nu gratis Gå till hämtningssidan för att få din gratis kopia Hur vet du om din expertrådgivare är verkligen lönsam MetaTraders Strategy Tester ger dig inte hela bilden Är du handel baserad på alltför optimistiska backtests och besviken på att hitta att din expertrådare förlorar pengar i direkt handel Vill du veta om din expertrådgivare är lönsam, snabbt och enkelt, utan att förlora pengar? The Walk Forward Analyzer för MetaTrader The Walk Forward Analyzer använder MetaTraders egen strategitestare för att utföra en framåtriktad analys . med hjälp av inställningarna och testparametrar som tillhandahålls av användaren. Programvaran är lätt att använda, och kan ge dig en komplett spårningsanalys på en bråkdel av tiden som det skulle ta för dig att göra det manuellt. En spårningsanalys avgör huruvida en expertrådgivare är lönsam när han handlar med optimerade parametrar på externa data. Varje expertrådgivare kan producera ett imponerande optimeringsresultat, men det sanna testet är om resultaten kommer att hålla upp när de testas över framtida data. Walk Forward Analyzer utför denna process många gånger under månader och år med historiska data, vilket ger dig en korrekt bild av din sakkunniga rådgivares sanna prestanda. När du har slutfört en spridningsanalys kommer du att presenteras med en detaljerad framåtriktad analysrapport, som visar resultaten av testnings - och optimeringslödena, den totala testresultatförlusten och effektiviteten för spårets framåtriktning. vilket är ett mått på hur robust ditt handelssystem är. Se Walk Forward Analyzer i aktion Om du inte känner till processen med att gå vidare, läser du Vad är Walk Forward Analysis för att ta reda på varför det är den bästa metoden för att bestämma robustheten och den potentiella lönsamheten i ditt handelssystem. Videon nedan ger en komplett genomgång och handledning av Walk Forward Analyzer för MetaTrader: Vad är Walk Forward Analysis Gå framåt anaylsis är processen att optimera ett handelssystem med en begränsad uppsättning parametrar och sedan testa den bästa optimerade parameteruppsättningen ut - av-provdata. Detta liknar hur du skulle använda din expertrådgivare i live trading. Principerna för framåtriktad analys beskrivs först i boken "Evaluation and Optimization of Trading Strategies" av Robert Pardo. För att utföra en framåtriktad analys i MetaTrader, optimera först expertrådgivaren i Strategy Tester. Välj sedan det mest lönsamma resultatet i fliken Optimeringsresultat och utför en backtest det under en tidsperiod omedelbart efter optimeringsperioden. Optimeringsperiodens slutdatum är detsamma som testdatumets startdatum. Denna process upprepas om och om tills en tillfredsställande provstorlek uppnås. Om expertrådgivaren utför bra test i förhållande till optimeringsresultaten kan man dra slutsatsen att expertrådgivaren sannolikt kommer att vara lönsam i direkt handel. Om däremot expertrådgivaren utför dålig testning, måste antingen optimeringsparametrarna eller längden på test - och optimeringsperioderna justeras. Om det efter många försök fortfarande inte fungerar expertrådgivaren bra i testet kan man dra slutsatsen att handelssystemet är olönsamt. Animeringen till höger illustrerar proceduren för framåtriktad analys. En optimering utförs över en längre period (in-sample data), och sedan testas den optimerade parametervärden under en efterföljande kortare period (data utanför provet). Optimerings - och testperioderna förskjuts framåt, och processen upprepas tills en lämplig provstorlek uppnås. Källa Ett exempel på en framåtriktad analys Kan ge ett exemplar i verkligheten: Skulle göra en spårningsanalys på en expertrådgivare med hjälp av EURUSD M30. Väl optimera denna expertrådgivare under en period av 120 dagar. Weve valde de 3 eller 4 viktigaste parametrarna för att optimera, så att inte överoptimera eller kurva passar resultaten. Fyra parametrar betyder också ett snabbare test. Välja det mest lönsamma resultatet och backtest dessa parametrar under en 30-dagarsperiod omedelbart efter optimeringsperioden. Det rekommenderas att använda en testperiod på cirka 25 av längden på optimeringsperioden. När vi har spelat in våra resultat flyttar du nästa optimerings - och testperiod framåt med 30 dagar. Efter 12 på varandra följande omgångar av optimering och testning, har väl en år värd att gå framåt analysdata. Vi jämför den genomsnittliga dagliga vinsten för optimeringsperioderna med den genomsnittliga dagliga vinsten för testperioderna. Detta kommer att ge oss en beräkning som kallas förflyttningsförhållandekvoten. Ett steg framåt effektivitetsförhållande större än 0,5 anses vara ett mycket bra resultat. Det här kallas ett robust handelssystem. En expertrådgivare är dock omsättbar så länge det är konsekvent lönsamt över flera testperioder. Om effektivitetsförhållandet är negativt betyder det att expertrådgivaren inte fungerade bra i förhållande till optimeringsresultatet. Självklart kan du göra en spårningsanalys manuellt i MetaTraders Strategy Tester. Men processen är tråkig, tidskrävande och utsatt för fel. Det här är programvaran Walk Forward Analyzer. Programmet kommer automatiskt att utföra en fortlöpningsanalys med MetaTraders Strategy Tester under en längre tid, med endast några inställningar som användaren tillhandahåller. Testtestning och framåtprovning: Betydelsen av korrelationshandlare som är angelägna om att försöka en handelsidee på en levande marknad gör ofta misstaget att förlita sig helt på backtesting-resultat för att avgöra huruvida systemet kommer att vara lönsamt. Medan backtesting kan ge handlare värdefulla uppgifter, är det ofta missvisande och det är bara en del av utvärderingsprocessen. Utprovningstestning och framåtprestandardestning ger ytterligare bekräftelse om systemets effektivitet, och kan visa ett system sanna färger, innan riktiga pengar finns på linjen. God korrelation mellan backtesting, out-of-sample och forward prestanda testresultat är avgörande för att bestämma lönsamheten för ett handelssystem. (Vi erbjuder några tips om denna process som kan hjälpa till att förfina dina nuvarande handelsstrategier. För att läsa mer, läs Backtesting: Tolkning av det förflutna.) Backtesting Basics Backtesting avser att tillämpa ett handelssystem på historiska data för att verifiera hur ett system skulle ha utförts under den angivna tidsperioden. Många av dagens handelsplattformar stöder backtesting. Traders kan testa idéer med några tangenttryckningar och få insikt i effektiviteten av en idé utan att riskera pengar på ett handelskonto. Backtesting kan utvärdera enkla idéer, till exempel hur en rörlig genomsnittlig crossover skulle utföra på historiska data eller mer komplexa system med olika inmatningar och utlösare. Så länge en idé kan kvantifieras kan den backtestas. Vissa handlare och investerare kan söka en kvalificerad programmörs sakkunskap för att utveckla idén till en testbar form. Vanligtvis involverar detta en programmerare som kodar idén till det proprietära språket som hostas av handelsplattformen. Programmeraren kan innehålla användardefinierade inmatningsvariabler som tillåter näringsidkaren att finjustera systemet. Ett exempel på detta skulle vara i det enkla glidande genomsnittliga korsningssystemet som noterats ovan: näringsidkaren skulle kunna mata in (eller ändra) längderna för de två glidande medelvärdena som används i systemet. Näringsidkaren kan backtest för att bestämma vilka längder av glidande medelvärden som skulle ha gjort det bästa på historiska data. (Få mer insikt i handledningen Electronic Trading.) Optimeringsstudier Många handelsplattformar möjliggör också optimeringsstudier. Detta innebär att man anger ett intervall för den angivna ingången och låter datorn göra matematiken för att ta reda på vilken ingång som skulle ha gjort det bästa. En optimering med flera variabler kan göra matematiken för två eller flera variabler för att bestämma vilka nivåer som tillsammans skulle ha uppnått det bästa resultatet. Till exempel kan handlare berätta för programmet vilka ingångar de vill lägga till i sin strategi, dessa skulle då optimeras till sina idealvikter med tanke på de testade historiska data. Backtesting kan vara spännande genom att ett olönsamt system ofta kan omvandlas till en penningmaskin med några optimeringar. Tyvärr leder ett system för att uppnå störst lönsamhet ofta ett system som kommer att fungera dåligt i verklig handel. Denna överoptimering skapar system som ser bra ut på papper bara. Kurvmontering är användningen av optimeringsanalys för att skapa det högsta antalet vinnande affärer med största vinst på historiska data som användes under testperioden. Även om det ser imponerande ut i backtesting-resultat leder kurvanpassning till opålitliga system eftersom resultaten är väsentligen anpassade för endast den specifika data - och tidsperioden. Backtesting och optimering ger många fördelar till en näringsidkare men det här är bara en del av processen när man utvärderar ett potentiellt handelssystem. Ett handlare nästa steg är att tillämpa systemet på historiska data som inte har använts i den första backtesting-fasen. (Det glidande medelvärdet är enkelt att beräkna och, när det är ritat på ett diagram, är ett kraftfullt visuellt trendspottningsverktyg. Mer information finns i enkla rörliga genomsnittsvärden. Utveckla tendenser.) In-sample vs Out-of-Sample Data När man testar en idé om historiska data är det fördelaktigt att reservera en tidsperiod av historiska data för teständamål. Den ursprungliga historiska data som tanken testas och optimeras kallas för in-sample data. Den dataset som har reserverats kallas data som inte är sammansatt. Denna inställning är en viktig del av utvärderingsprocessen, eftersom den ger ett sätt att testa idén om data som inte har varit en komponent i optimeringsmodellen. Som ett resultat kommer tanken inte att påverkas på något sätt av data utanför data, och handlare kommer att kunna bestämma hur väl systemet kan fungera på nya data, dvs i verklig handel. Innan någon eventuell backtesting eller optimering initieras kan handlare avvika en procentandel av historiska data som ska reserveras för externtestning. En metod är att dela upp de historiska uppgifterna i tredjedelar och separera en tredjedel för användning vid provtagning utanför provet. Endast in-sample data ska användas för initialt test och eventuell optimering. Figur 1 visar en tidslinje där en tredjedel av den historiska data är reserverad för provning utanför provet och två tredjedelar används för provtagningen. Även om Figur 1 visar data utanför provet i början av testet, skulle typiska förfaranden ha den externa delen omedelbart före den framåtriktade prestandan. Figur 1: En tidslinje som representerar den relativa längden av in-prov och out-of-sample-data som används i backtesting-processen. När ett handelssystem har utvecklats med hjälp av in-sample data, är det redo att appliceras på data utanför data. Traders kan utvärdera och jämföra resultatresultaten mellan in-sample och out-of-sample data. Korrelation hänvisar till likheter mellan prestanda och de övergripande trenderna i de två datasætten. Korrelationsmätningar kan användas vid utvärdering av strategiprestationsrapporter som skapats under testperioden (en funktion som de flesta handelsplattformar tillhandahåller). Ju starkare korrelationen mellan de två, desto bättre är sannolikheten för att ett system kommer att fungera bra i framåtprestandestestning och levande handel. Figur 2 illustrerar två olika system som testades och optimerades på in-samplingsdata och applicerades sedan på data utanför data. Diagrammet till vänster visar ett system som tydligt var kurvpassat för att fungera bra på in-sample-data och misslyckades helt på externa data. Diagrammet till höger visar ett system som fungerade bra både på in - och utdata. Figur 2: Två aktiekurvor. Handelsdata före varje gula pil representerar provtagning. De affärer som genereras mellan de gula och röda pilarna indikerar provning utanför provet. Traderna efter de röda pilarna kommer från de framåtriktade testfaserna. Om det finns liten korrelation mellan provtagningen och provtagningen, som det vänstra diagrammet i Figur 2, är det troligt att systemet har överoptimerats och inte kommer att fungera bra i direkt handel. Om det finns stark korrelation i prestandan, vilket framgår av det högra diagrammet i Figur 2, innebär nästa utvärderingsfas en ytterligare typ av test utanför testet, känd som framåtprestandestestning. (För mer läsning om prognoser, se Finansiell prognos: Bayesian Method.) Grundläggande framåtriktad prestationstest Vidareprestandestestning, även känd som pappershandel. ger näringsidkare en annan uppsättning out-of-sample data för att utvärdera ett system. Framåtprestandestestning är en simulering av verklig handel och innebär att man följer systemlogiken på en levande marknad. Det kallas också pappershandel eftersom alla affärer exekveras på papper bara det vill säga handelsposter och utlopp dokumenteras tillsammans med vinst eller förlust för systemet, men inga verkliga affärer exekveras. En viktig aspekt av framåtprövningstest är att följa systemlogiken exakt annars, blir det svårt, om inte omöjligt, att noggrant utvärdera detta steg i processen. Handlare bör vara ärliga om några handelsposter och utgångar och undviker beteende som körsbärstickning eller inte med en handel på papper som rationaliserar att jag aldrig skulle ha tagit den handeln. Om handeln skulle ha inträffat efter systemlogiken borde den dokumenteras och utvärderas. Många mäklare erbjuder ett simulerat handelskonto där handel kan placeras och motsvarande resultat och förlust beräknas. Genom att använda ett simulerat handelskonto kan man skapa en halvrealistisk atmosfär för att öva handel och ytterligare bedöma systemet. Figur 2 visar också resultaten för framåtprestandestestning på två system. Återigen misslyckas det system som representeras i det vänstra diagrammet, att det går bra utöver den inledande testningen på in-sample data. Systemet som visas i det högra diagrammet fortsätter dock att fungera bra genom alla faser, inklusive framåtprestandestestning. Ett system som visar positiva resultat med god korrelation mellan in-sample, out-of-sample och forward prestationstestning är redo att implementeras på en levande marknad. Bottom Line Backtesting är ett värdefullt verktyg tillgängligt på de flesta handelsplattformar. Att dela historisk data i flera uppsättningar för att tillhandahålla provtagning och urval av prov kan ge handlare ett praktiskt och effektivt sätt att utvärdera en handelsidee och ett system. Eftersom de flesta handlare använder optimeringstekniker i backtesting är det viktigt att sedan utvärdera systemet på rena data för att bestämma dess lönsamhet. Om du fortsätter utprovningstesten med framåtprestandningstestning ger du ett annat säkerhetsskikt innan du sätter ett system på marknaden som riskerar att få riktiga pengar. Positiva resultat och god korrelation mellan in-sample och out-of-sample backtesting och forward performance test ökar sannolikheten för att ett system kommer att fungera bra i verklig handel. (För en övergripande översikt över teknisk analys, se Teknisk analys: Inledning.) Artikel 50 är en förhandlings - och avvecklingsklausul i EU-fördraget som beskriver de åtgärder som ska vidtas för vilket land som helst. Ett första bud på ett konkursföretagets tillgångar från en intresserad köpare vald av konkursbolaget. Från en pool av budgivare. Beta är ett mått på volatiliteten, eller systematisk risk, av 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 beställning 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-reglering (Internal Revenue Service) som tillåter utbetalningar av straff från ett IRA-konto. Regeln kräver att. Walk-forward testning AmiBroker 5.10 har det automatiska Walk-Forward testläget. Det automatiska Walk forward-testet är en systemdesign och valideringsteknik där du optimerar parametervärdena på ett tidigare segment av marknadsdata (8221in-sample8221), sedan verifiera systemets prestanda genom att testa det framåt i tiden på data efter optimeringen segmentet (8221out-of-sample8221). Du utvärderar systemet baserat på hur väl det utförs på testdata (8221out-of-sample8221), inte de data som den optimerades på. Processen kan upprepas över efterföljande tidssegment. Följande illustration visar hur processen fungerar. Syftet med walk-forward-testet är att bestämma när prestanda för optimerade handelssystem är det realistiska eller resultatet av kurvmontering. Systemets prestanda kan betraktas som realistiskt om det har predikitivt värde och fungerar bra på osynliga (out-of-sample) marknadsdata. När systemet är korrekt utformat bör realtidshandlingsprestandan vara i förhållande till det som upptäckts under optimering. Om systemet ska fungera i verklig handel måste den först passera ett framåtriktat test. Med andra ord, vi bryr oss inte riktigt om in-sample resultat som de är (eller borde vara) alltid bra. Vad som är viktigt är systemets prestanda utan system. Det är den realistiska uppskattningen av hur systemet skulle fungera i verklig handel och kommer snabbt att avslöja eventuella kretspassande problem. Om prestanda utanför prov är dålig bör du inte handla ett sådant system. Förutsättningen att utföra flera optimeringstest steg över tiden är att det senaste förflutet är en bättre grund för att välja systemparametervärden än det avlägsna förflutna. Vi hoppas är att parametervärdena som väljs i optimeringssegmentet kommer att vara väl lämpade för marknadsförhållandena som omedelbart följer. Detta kan eller kanske inte är fallet då marknaderna går igenom bearbull-cykeln, så att du bör vara försiktig när du väljer längden av provperioden. För mer information om systemdesign och verifiering med hjälp av vidarebefordran och alla berörda problem kan vi rekommendera Howard Bandys bok: quotQuantitative Trading Systemsquot (se länkar på AmiBroker-sidan). För att använda Walk-Forward-optimering, följ så här: Gå till Verktyg-gtAutomatisk analys Klicka på Inställningar-knappen och växla sedan till Gå framåt-fliken Här kan du se Gå framåt-inställningar för In-sample-optimering, back-up-test från början markera inledande period börjar slutet Denna period kommer att flyttas framåt för steg tills slutet når sista datumet. Startdatumet kan också gå vidare för steg eller kan förankras (konstant) om Förankrad kontroll är på. Om du markerar Använd idag kommer det senast inmatade datumet att ignoreras och i dag (aktuellt datum) används istället. Som standard väljs en 8220EASY MODE8221 som förenklar processen att ställa in WF-parametrar. Det förutsätter att: a) Out-of-sample-segmentet följer omedelbart i provsegmentet b) längden av urvalssegmentet är lika med walk-forward-steget Baserat på dessa två antaganden tar 8220EASY8221-läget in i provet Slutdatum och ställer in START-datumet till nästa dag. Sedan läggs i STEP-provet och det blir slutdatum för slutdatum. In-sample och Out-of-sample stegvärden är inställda på samma värden. 8220EASY8221-läget garanterar att WF-procedurens inställningar är korrekta. Du bör använda Easy Mode (EOD) när du testar på slutdatumsdata eller Easy-läge (Intraday) när du testar på intradagdata. Skillnaden är att i EOD-läget är slutdatumet för föregående period och START-datum för nästa period samma, vilket förhindrar mellanrum mellan perioder. Intradagsläge ställer in START-datum för nästa period som NEXT DAY efter slutet av föregående period. Det garanterar att gränsdagen inte räknas två gånger vid provning på intradagdata. I avancerat läge. användaren har fullständig kontroll över alla värden, i den utsträckning de inte kan utgöra ett giltigt WF-förfarande. Gränssnittet tillåter att deaktivera in-sample och out-of-sample faser med hjälp av kryssrutor överst (för speciella saker som att köra sekventiella backtests utan optimering). Alla inställningar återspeglas omedelbart i listan PREVIEW som visar alla genererade ISOOS-segment och deras datum. Fältet 8220 Optimeringsmål 8221 definierar optimeringsrapporterna KOLUMNAMN som ska användas för att sortera resultat och hitta den bästa. Alla inbyggda kolumner kan användas (som visas i optimeringsutmatningen), eller du kan använda någon anpassad statistik som du definierar i anpassad backtester. Standard är CARMDD, men du kan dock välja vilken annan inbyggd mätmängd som helst från kombinationsrutan. Du kan också TYP IN en anpassad mätning som du har lagt till via anpassat backtester-gränssnitt. När du har definierat Walk-Forward-inställningar går du till Automatisk analys och trycker på rullgardinsmenyn på Optimera-knappen och väljer 8220Walk Vidareoptimering8221Detta kör sekvens av optimizaitons och backtest och resultaten visas i 8220Walk Forward8221-dokumentet som är öppet i huvudapplikationsramen. När optimering körs kan du klicka på 8220MINIMIZE8221-knappen på Progress-dialogrutan för att minimera den - det här låter dig se framåtskridningsutmatningen under optimeringsstegen. IN-SAMPLE och OUT-OF-SAMPLE kombinerat eget kapital Kombinerade in-sample och out-sample aktier är tillgängliga med OSEQUITY komposit tickers (i följd IS och OOS är sammanslagna och skalade för att upprätthålla kontinuitet i eget kapital - detta tillvägagångssätt förutsätter att du i allmänhet talar är sammansatt vinst). För att visa IS och OOS eget kapital kan du till exempel använda följande: ISEQUITY. In-sample Equity. färgen röd . styleLine) PlotForeign (översikt över sammandragsrapporten (nytt i 5.60) Version 5.60 innehåller en ny sammanfattningsrapport som går utöver provet. Den är synlig i Report Explorer som den sista och har quotPSquot-typ . Det var väsentliga förändringar för att gå framåtprovning som gjordes för att möjliggöra en sammanfattande rapport utan rapport. Den viktigaste förändringen är att varje efterföljande test utanför provet använder initialt eget kapital som är lika med tidigare steg som slutade eget kapital. eget kapital). Denna förändring är nödvändig för korrekt beräkning av all statistikmetri i alla delar av provet utanför provet. Sammanfattningsrapport visar noten att inbyggda mätvärden korrekt representerar alla out-of-sample-steg men sammandragna anpassade parametrar är sammansatta med hjälp av användardefinierbar metod: 1 första stegvärde, 2 sista stegvärde, 3 summa, 4 genomsnitt, 5 minimum, 6 maximalt. Sammanfattningsvis visar rapportens sista stegvärde av anpassade mätvärden utan att användaren specificerar olika kombinationsmetod i bo. AddCustom Metrics () call. bo. AddCustomMetrics har nu ny valfri parameter - CombineMethod bool AddCustomMetric (strängtitel, variantvärde, valfri variant LongOnlyValue, valfri variant ShortOnlyValue. valfri variant DecPlaces 2, valfri variant CombineMethod 2) Den här metoden lägger till anpassade mätvärden i backtestrapporten, backtest quotsummaryquot och backtest quotsummaryquot och optimeringsresultatlista. Titel är ett namn på den metriska som ska visas i rapporten, värdet är värdet av metriska, valfria argument LongOnlyValue, ShortOnlyValue tillåter att ge värden för ytterligare longshort-only kolumner i backtestrapporten. Senaste argumentet DecPlaces kontrollerar hur många decimaler som ska användas för att visa värdet. Stödda CombineMethod-värden är: 1 första stegvärde, - Sammanfattningsrapport visar värdet av anpassat mätvärde från det allra första urvalet av steg 2, sista stegvärdet (standard), - Sammanfattningsrapport visar värdet av anpassat mätvärde från det sista Sammanfattningsrapport kommer att visa summan av värdena för anpassad metrisk från alla ur provsteg 4-genomsnittet. Sammanfattningsrapporten visar genomsnittet av värdena för anpassad mätning från alla ur provsteg 5 minsta, - Sammanfattningsrapport visar det minsta värdet av anpassad mätvärde från alla ur provsteg 6 maximalt. Sammanfattningsrapport visar det största värdet av anpassad mätvärde från alla ur provsteg. Observera att vissa metriska beräkningsmetoder är komplexa och för Exempel på medelvärden skulle inte leda till matematiskt korrekt representation av allt ur provprov. Sammanfattningar av alla inbyggda mätvärden är matematiskt korrekta utomordnade (dvs. de är inte medelvärden, men korrekt beräknade mätvärden med hjälp av metod som är lämplig för givet värde). Detta står i motsats till anpassade mätvärden, eftersom de är användardefinierbara och det är upp till användaren att välja kombinationsmetod, och det kan ändå hända att ingen av de tillgängliga metoderna är lämpliga. Av den anledningen innehåller rapporten den anteckning som förklarar vilken användardefinierbar metod som användes för att kombinera anpassade mätvärden.
Comments
Post a Comment