Matematisk förväntan i valutahandel med valutahandel. Vissa valutahandlare använder samma handelsstrategi för alla valutor, medan andra använder helt olika strategier beroende på hur valutaparet handlas. Eller handlare kan använda flera strategier med flera valutapar för att kanske öka vinsten Samtidigt som risken för utjämning riskeras av överkoncentration på en enda strategi. Expertrådgivare EA gör det möjligt att optimera ingångsparametrarna, men det gör det inte nödvändigtvis lättare att sätta separata strategier ihop i ett enda system. Och testning kan visa Ökad risk för överlappande eller korrelerade drawdowns när olika forexstrategier slås samman. Använda algoritmer kan ett handelssystem kontrollera valutapar och utföra specifika operationer enligt ingångsparametrar Ett multicurrency multisystem EA kan utformas för att bedöma alla handelsstrategier Sida vid sida Detta kan vara till hjälp om endast en enda EA tillåts acc acc Ess ett givet konto. Det kan vara utmanande att utveckla ett valutahandelssystem som fungerar bra över olika valutapar under olika förhållanden. De flesta av de kända systemen för handel med flera valutor baseras på trend-följande strategier, såsom Donchian-kanalen Breakouts och är utformade för att dra nytta av väldigt långsiktiga trender. En strategi för flera valutor måste dock tydligt visa en vinnande kant över de typiska tidshorisonterna för valutahandlare. Till exempel för att ett system ska fungera bra med både EUR USD och USD JPY signalerna måste ha stor sannolikhet för framgång trots volatilitet och potentiell korrelation mellan de två parerna. Och handel måste bli vinnare under relativt korta perioder. Om inte kan handelskorrelerade par skapa risk för överkoncentration och överdriven Draw. There är många lönsamma möjligheter att handla de fyra stora valutaparen EUR USD, GBP USD, USD JPY och USD CHF Jag har haft en bra framgång genom att använda en strategi ba Sed på matematisk förväntan ME Jag använder ME för att analysera data och hitta omfattande handelsmöjligheter och beräkna utträdesavgångspunkter för handel med de fyra stora valutaparema. Matematisk förväntan förutsäger sannolikheten att en valutahandel kommer att vinna. En välprogrammerad EA kan använda ME-verktyg För att hjälpa till att bygga system som fungerar över flera valutapar Jag har hjälpt till att utveckla ett par system som fungerar i realtid och visa långsiktig lönsamhet genom backtest. Återigen har handlare blivit mer medvetna om de nackdelar som uppstår vid användning av data - mining tekniker för att back-test och finjustera strategier för valutahandel system. Alternativa systemutvecklingsmetoder som System Parameter Permutation SPP är nu tillgängliga och kan hjälpa handlare att undvika problem med data-mining bias. Om det görs noggrant, SPP eller data mining Kommer att bidra till att bygga en uppsättning indikatorer av god kvalitet för att generera signaler över de fyra stora valutapararna. Sedan beräknar expertrådgivaren matematisk förväntan För att se om handeln är sannolikt lönsam eller inte. Slutligen handlar det om att specificera filter och testning för att hitta exakta strategier som konsekvent resulterar i att vinna, lönsamma signaler. Inträdes - och utgångspunkter beräknas av det mekaniska handelssystemet med hjälp av matematisk förväntad justering För nuvarande volatilitet. Beräkning av matematisk förväntan på framgång. Matematisk förväntan ME är en statistik som mäter det största temporära resultatet som en handel upplevde hela tiden den var öppen. Den blev först populär under Optimal-F-positionerings - och penninghanteringsregler Utvecklad av Ralph Vince Ekvationen är. Matematisk förväntan MFE MAE. Det matematiska förväntningsverktyget ger valutahandeln förexhandlare en förutsägbar kant i att utveckla vinnande system. MIG definieras enligt begreppen maximal fördelaktig utflykt MFE och maximal negativ utflykt MAE ME s-värdet kan vara Beräknad i realtid av det mekaniska handelssystemet. Maximum F Äventyrlig utflykt är det största balansen på en gynnsam handel innan en valutahandel stängs ut, oavsett slutkursen under tidsperioden, huruvida daglig, timme eller minutiös MFE är den högsta positiva balans som uppnåtts medan handeln var öppen. Maximal negativ utflykt Är den största orealiserade eller tillfälliga förlusten under en handel, oavsett om handeln stängdes som en förlorare eller inte. MAE är den lägsta negativa balansen på handeln medan den var öppen. För att kvantifiera och analysera ME från en given forex Par kan handlare enkelt beräkna genomsnittlig MFE och genomsnittlig MAE för ett stort antal tidigare affärer. Matematisk förväntan är lika med maximal gynnsam utflykt. Om genomsnittlig MFE är större än genomsnittlig MAE, är den matematiska förväntningen positiv. Ju större förhållandet mellan MFE Och MAE för ett givet valutapar, desto mer gynnsam är utsikterna för en potentiell handel. Multicurrency forex trading strategier baserade på matematiska Förväntan. När du handlar EUR USD, GBP USD, USD JPY och USD CHF med en strategi med flera valutor baserat på den matematiska förväntningen är den här metriska vanligtvis positiv och generellt hög och liknande bland olika valutapar. Det är viktigt att undvika att utvärdera positionsstorlek , Eller handelsutgångsregler eller andra parametrar medan expertrådgivaren analyserar ingångspunkterna. Dessa parametrar kan ställas in oberoende av det mekaniska handelssystemet baserat på ME justerat för volatilitet, som diskuteras senare i denna artikel. Efter bestämning av ingångspunkt och handel Riktning, beräknar det mekaniska handelssystemet MFE och MAE-värden i allmänhet först vid 10 bar bortom ingångspriset, sedan 15 barer bortom, sedan 20 bar bortom ingångspriset. Förutom signaleringsångpunkter visar ME också om valutahandeln s Fördel är bäst omedelbart efter att positionen har öppnats eller vid något genomsnittligt intervall efter att ha varit i positionen. Min enklaste handelsstrategi för växelkurver använder dagliga charter Ts och bygger på en kombination av tre prisbaserade regler och bara några parametrar som använder matematisk förväntan för att förutsäga framgång. Reglerna för långa och korta affärer är som följer. Trade länge och stäng en kort handel när. Öppna Föregående Låg Föregående Stäng Tidigare Stäng. Tra kort och stäng ut en lång handel när. Stäng Föregående Stäng Öppna Föregående Högst Föregående Stäng Förut Stäng. Detta system växlar handeln när signalen ändras Så om systemet har en lång position öppen när en Kort signal tas emot, systemet stänger den långa positionen och går i stället likadant. Om systemet har en öppen kort position när en lång nivå tas emot kommer den att stänga den korta och omedelbart gå lång. En annan parameter i detta system är Stop-loss trigger som är inställd till ett värde bara något mer än det femton dagars eller tjugo dagars genomsnittliga sanna intervallet ATR Detta värde uppdateras varje gång en ny signal tas emot i samma riktning. Om det emellertid finns nya Signaler i samma riktning, lägger mitt system inte nya positioner, eftersom jag har funnit att dragning uppväger ytterligare vinster när det görs. För det första tilldelar systemet om högst 2 av kontotillgångar till en enda hög ME-handel om det Är flera signaler i flera valutapar, men ME-beräkningarna visar korrelation mellan signalerna, de totala positionsstorlekarna kommer inte att vara mer än 2 av eget kapital. Uppföljningsresultat. Detta enkla valutasystem för valutahandel har visat anständigt resultat i verklig handel och Backtestning under en tjugoårsperiod visar att det skulle ha haft lönsamma resultat i minst sexton av de tjugo år som testats. Det har visat ett belönings-till-risk-förhållande på cirka 1 7 och vinstprocenten cirka 45, medan vinsten Faktor var nästan 1 4. Däremot kan neddragningarna vara långa. Den längsta drawdownen som ses under back-testing var mer än 1000 dagar. Förhållandet mellan vinst och förlust vid användning av denna strategi liknar den för att köpa Och under back-test var förhållandet cirka 0 35 med en totalavkastning på mer än 500 under ett tjugoårigt backtest. Riskhantering för multicurrency trading strategier med hjälp av ME. By att veta genomsnittet MFE och MAE Värden kan en valutahandlare programmera ett mekaniskt system med flera valutor för att avsluta en handel med ett vinstmål eller en förlustpunkt som bestäms genom att lägga till ett beräknat antal pips utöver Maximal Gunstig Utflykt eller Maximal Biverkningsutvärdering. I genomsnitt för att vinna Över tiden måste forex trading systemet nå vinstmålet oftare än det rör vid utebliven utlösningsnivå. Till exempel, om mitt system ser en genomsnittlig MAE på 35 pips och en genomsnittlig MFE på 55 pips finns det en ombytlig möjlighet Vinstmålet kan projiceras för 50 pips, vilket är 5 pips mindre än MFE, och stopputgången kan ställas in på 30 pips, vilket är 5 pips bortom MAE. Regarding system design är det viktigt att programmera handeln System för att definiera resultatmål Och stopp-poäng i enlighet med volatilitet istället för att ange ett fast antal pips. Volatility hjälper till att bestämma utgångspunkter för handel med flera valutor. Som tidigare nämnts kan ett mekaniskt handelssystem enkelt använda Average True Range ATR som ett volatilitetsberoende verktyg för att beräkna MAE Och MFE för att ställa ut utgångspunkter Systemet bestämmer ingångspriset plus eller minus en procentandel av ATR som kan fungera enligt ME-analysen. För att ha ett tillräckligt stort prov ställer jag vanligtvis ATR-värdet för att beräkna de senaste 15 eller 20-tiden Ramar. Till exempel, under en marknad när EUR USD rör sig i genomsnitt ca 100 pips per dag, ska systemet beräkna målresultatposter och slutförlustpoäng baserat på nuvarande volatilitet och analysen av ME. Så om en handel Rör sig i en gynnsam riktning för 55 pips och om den aktuella ATR är 85 pips, rapporteras rörelsen inte som 55 pips istället, MFE rapporteras som 64 7 av ATR. Över tiden har jag sett att MFE för de fyra Stor valuta pai Rs EUR USD, GBP USD, USD JPY och USD CHF verkar fluktuera kring ett MFE värde på cirka 60 av ATR och genomsnittlig MAE cirka 40 av ATR för den typiska posten efter 15 tidsperioder. För att finjustera valutahandelns resultat Enligt volatiliteten kan det mekaniska handelssystemet ställa in vinstmålen och slutförlustpunkterna på olika nivåer. Till exempel kan systemet ställa in resultatutgångspunkten till 55 av ATR-värdet bort från ingångspunkten, inte vid MFE-full Värdet på 60. Och volatiliteten kan kräva att inställningsutgångspunkterna anges vid 45 av ATR-värdet bortom ingångspunkten, inte vid 40 av ATR. Det här systemet kommer sannolikt att nå målet vinstnivåer oftare än stop-loss nivåer, Och vinnarna borde vara större så länge som målvinsterna är större än stoppförluster. För alla branscher är det beräknade antalet pips för målvinster och stoppförluster alltid baserat på volatilitet bara vid handelns ögonblick, vilket återspeglas av ATR. När en signal uppstår kontrollerar handelssystemet S värdet av nuvarande ATR, beräknar sedan det exakta antalet pips för att nå målresultat och slutförlustnivåer. Tänk på att det finns en signal att gå länge i EUR USD och nuvarande ATR är 100 pips Så, Målet vinstpunkt kommer att ligga på 55 pips över anbudspriset 55 av ATR-värdet och stoppförlusten kommer att ligga på 45 pips under ATR-ingångspriset 45. Ett fåtal tankar om matematisk förväntning. Den matematiska förväntan är Generellt lägre för korta affärer, och vissa handlare har sett ME öka med så mycket som arton barer efter det öppna, sedan sönderfall under prissvingningar med så mycket som åttio barer efter öppet. För långa affärer har ME i allmänhet en längre livslängd med Värden som kan öka snabbt fram till den trettionde tidsperioden och fortsätt sedan långsamt framåt upp till ca 75 tidsperioder. Med hjälp av detta system är min genomsnittliga handelstid cirka 25 dagar. Den bästa uppsidan när man handlar EUR USD, GBP USD, USD JPY och USD CHF verkar tillfalla med cirka 30 tidsperioder Om Den gynnsamma rörelsen fortsätter framåt över den genomsnittliga punkten, då är det troligt att någon form av grundläggande förspänning på marknaden förlänger flytten. Sammanfattningsvis utnyttjar denna grundläggande multicurrency forex tradingstrategi en positiv, hög ME delad över de fyra stora Valutapar Posterna, vinstmålen och slutförlustpunkterna är alla baserade på ME. När indikatorerna för matematisk förväntning förutsäger framgång kan de fyra stora valutaparen EUR USD, GBP USD, USD JPY och USD CHF framgångsrikt handlas antingen tillsammans eller Separat. Hade du försökt MIG i din handel. Lämna ett svar Avbryt svar. Ursprungligen postat av aliasentric. My mening är att det vore bättre att helt enkelt öka storleken på ett par om du vill öka vinsten eftersom det verkar som om Par rör sig i samma riktning eller motsats, då handlar de samtidigt, ökar din risk eller begränsar din vinst på handeln som är en vinnare. Jag har hört några handel flera par a Sa sorts säkringsmetod I varje fall är jag intresserad av att höra från någon som är konsekvent lönsam handel flera par samtidigt och varför du tycker att det är bättre än att bara handla ett par åt gången. Jag gör allt Tid Din logik är något felaktig. I den mån jag kan höras av någonting, som kanske eller inte bryr mig vad jag säger, frågar jag om det betyder att du är förlåtad för allt du kanske har gjort eller misslyckats med att göra som kräver förlåtelse. Rehandel flera valutapar. Alisentrisk jag är ingen expert men här är vad jag gör handlar jag två portföljer, en systematiskt och en efter eget gottfinnande Jag menar att det handlas med mina globala makrovyer, så jag använder många olika par, från G10 till EM-valutor. Hur som helst, många av Paren var korrelerade. Till exempel förra året var riskfyllnadsförekomsten fortfarande stark - risken på dagar ser du alla riskfyllda valutor som uppskattar t. ex. EM-valutor, Eur etc och vice versa på riskavvikande dagar. Jun 12, 2013, 12 07 am. Joined Jan 2013.Re trading flera valutapar. Ursprungligen postat av Martinghoul. Jag gör det hela tiden Din logik är något felaktig. Jag vet att de flesta valutapar är korrelerade på något sätt med andra par, Antingen flytta i samma riktning eller motsatt riktning Nästan varje gång jag handlade i mer än ett par samtidigt såg jag att det andra paret antingen rörde sig i samma riktning eller motsatta riktningen för mitt första par. Jag antar att du är konsekvent lönsam Varför väljer du att handla flera Par verser bara en i taget Vilken fördel tror du att det ger dig. alisentrik jag är ingen expert men här är vad jag gör Jag handlar två portföljer, en systematiskt och en efter eget gottfinnande Med diskretion menar jag att det handlas baserat på mina globala makrovyer Därför använder jag många olika par, från G10 till EM-valutor. Hur som helst var många av paren korrelerade. Till exempel var risken för risk-off-fenomenet fortfarande starkt - risken på dagar ser du alla riskfyllda valutor uppskattar T. ex. EM-valutor, Eur etc och vice versa på riskavvikande dagar. Så är du i flera branscher samtidigt. Då handlar du flera valutapar. Eftersom jag gillar att hålla saker enkelt fungerar ett par i taget för Jag Eftersom jag inte behöver oroa mig T någon korrelation med andra par Jag vet det beror också på vilken tidsram du tittar på, eftersom vissa tidsramar är korrelationen starkare än i andra tidsramar. I varje fall är handel ganska komplicerad och jag försöker förenkla varhelst jag Kan och handla ett par åt gången fungerar för mig Men jag är nyfiken på vilken fördel vissa tycker att de får genom att gå in i flera affärer i taget, förutom adrenalinhoppet. Jun 12, 2013, 533.Joined Aug 2004. Re trading flera valutapar. Ursprungligen postat av aliasentric. Because jag gillar att hålla saker enkelt, fungerar ett par i taget för mig Eftersom jag inte behöver oroa mig för någon korrelation med andra par vet jag också det beror på vilken tidsram Du tittar på som vissa tidsramar är korrelationen starkare än i andra tidsramar. När som helst är handel ganska komplicerad, och jag försöker förenkla varhelst jag kan och handla ett par åt gången fungerar för mig Men jag är nyfiken Om vilken fördel vissa tycker att de får genom att skriva in Flera affärer i taget, bortsett från adrenalinhoppet. OK kan du bara nippa det här i knoppen. Du säger att ett par i taget fungerar för mig Ett par i forex, t. ex. eurjpy, det betyder att du handlar två valutor Euro och Yen Hur Du filtrerar vilka par som ska handlas vid en viss tidpunkt. Om du väljer par i slumpmässig ordning eller eftersom de är dina favoriter etc etc kanske de inte är de rätta parningarna för att handla med det så måste du oroa dig för korrelation. Vi tar 6 av de Populäraste valutor och koppla bort dem med 15 korsmututationer och 2 riktningar långa korta 15x2 30. Nu säger jag respektfullt att du har 1 till 30 chans att vara på rätt par och i rätt riktning vid ett givet tillfälle. Chanserna att lyckas över en anständig provstorlek är nära noll Förhoppningsvis kan du nu se varför det är fallet. Spridning galenskapen över denna svit av forum Det är mina principer och om du inte gillar dem, ja jag har andra. Känna Dissers Överallt. Ursprungligen postat av counterviolent. OK kan vi bara nippa det här i budet. Du säger ett par i taget Fungerar för mig Ett par i forex, t. ex. eurjpy, det betyder att du handlar två valutor Euro och Yen Hur filtrerar du vilka par som ska handlas på en gång? Om du väljer par slumpmässigt eller eftersom de är dina favoriter etc etc kanske de inte är De korrekta parningarna för att handla där mycket måste du oroa dig för korrelation. Ta 6 av de mest populära valutorna och koppla av dem och ge 15 korspermutationer och 2 riktningar långa korta 15x2 30. Nu säger jag respektfullt att du har en 1 i 30 chans att vara på rätt par och i rätt riktning vid något givet tillfälle Chansen att bli framgångsrik över en anständig provstorlek är nära noll Förhoppningsvis kan du nu se varför det är fallet. Jag håller med vad Du säger, men ser inte Hur det svarar på min fråga Jag handlar ett par i taget, så om jag går in i en handel i EUR USD, öppnar jag inte en annan handel förrän jag ser den här handeln förverkligas, behöver jag inte oroa mig för korrelation mellan par, om jag handlar Bara ett par i taget Många människor går in i mer än en handel i taget vill jag bara veta vilken fördel de tycker att ger dem. Ursprungligen postat av aliasentric. I vet att de flesta valutapar är korrelerade på något sätt med andra par , Antingen flytta i samma riktning eller motsatt riktning Så gott som varje gång jag handlade i mer än ett par samtidigt såg jag att det andra paret antingen rörde sig i samma riktning eller motsatta riktningen för mitt första par. Jag antar att du Är konsekvent lönsamma Varför väljer du att handla flera par verser bara en i taget Vilken fördel tycker du att ger dig? Väl, du ser det är nyckelpunktet. De flesta valutapar är korrelerade på något sätt med andra par. Vad säger dig Att över vilken tid h Orizon har du observerat detta för att vara sant Har du funderat på de logiska konsekvenserna av ett sådant uttalande. Om du tänker länge och svårt om dessa saker, så kommer du att se ljuset, jag är säker. Och för att vara konsekvent lönsam, måste jag inte klaga Jag, liksom de andra här, väljer också att ha en portfölj av affärer, vilket gör att jag kan finjustera exponeringen i stället för att satsa på breda marknadsförflyttningar. I den mån jag kan höras av någonting, som kanske eller inte bryr mig vad jag säger, frågar jag om det betyder att du är förlåtad för allt du kanske har gjort eller misslyckats med att göra som kräver förlåtelse. Rehandel flera valutapar. Jag handlar en korg med par men jag gör det mer för att fånga en bredare typ av rörelse för att bevisa och anpassa min strategi. Jag har gjort inget arbete med att faktiskt bevisa om det här är en bra lönsam idé på lång sikt som jag sa på I det ögonblick det här är enbart för forskningsanalysändamål har jag i grund och botten använt min egen logik för att komma med korg nu är jag ganska öppen för att erkänna att min logik kanske är helt felaktig och jag är säker på att någon kommer att peka ut det om det är. Använd alla möjliga kombinationer av EUR, GBP, USD, JPY, AUD som ger 10 par, min logik var att genom att använda alla möjliga kombinationer ger det korg en balans, även om det kanske är fel. Det är klart att det finns tider när par kämpar mot varandra Och en slags hedge avbryter varandra och EUR GBP Är inte idealiska mot andra par som de ser ut att korrelera, titta på båda valutorna jämfört med USD AUD under de senaste veckorna. Jag har inte gjort någon långsiktig analys av detta ännu ledsen. Säger att jag har gjort dubbelt så mycket på GBP AUD Än jag har på EUR AUD i juni Min positionsstorlek är baserad på ATR Stopp storlek så olika prisklasser borde inte göra så mycket av en skillnad. Mycket mycket större delen av min vinst i juni har kommit från JPY AUD par med AUD JPY ger mig Cirka 40 av min vinst i sig. Jag jobbar med min strategi för att bryta - även små förluster på en sidledes marknad och så mycket vinst på trendmarknaderna. Med hjälp av en korg skulle min teori vara att dagar som igår gör jag bra pengar på de två Starkt trender valutor AUD JPY mot de andra valutorna Idag när de båda går mot min definierade trend är jag stoppad av alla affärer som involverar AUD JPY men gör lite på GBP USD vilket borde täcka mina små förluster för dagen. Jag hoppas allt det Är meningsfullt, som jag r Eally haven t gjort tillräckligt med forskning i detta ännu att kommentera med säkerhetskopiering av fakta, bara min teori som jag säkert kommer att ändra när jag får tid att göra mer analys på den. Jag säger också att det måste ha mycket att Göra med tidsramen och strategin du följer så vad jag säger kanske eller kanske inte fungerar för mig men kan ha olika resultat för andra. Jag rekommenderades att vissa personer tittar på ämnet av NVP som jag inte har gjort än men Tänker på, så kanske också titta. Stoppa hoppgud Dreamliner Hanover och några av de andra killarna på FF. Re handlar flera valutapar. Inledningsvis finns det alla slags metoder av varierande grad av sofistikering som gör att du kan formalisera och kvantifiera Tillvägagångssätt som beskrivs av CFX ovan Du kan vara ganska noggrant om det, om du så önskar självklart, för mycket av det och du riskerar att göra hela tillvägagångssättet värdelöst. Om jag kanske hörs av någonting, som kanske eller inte bryr mig vad jag säger, frågar jag om det betyder att du är förlåtad för allt du kanske har gjort eller misslyckats med att göra som kräver förlåtelse. 12 juni 2013, 3 26.00.Joined Jan 2013.Re trading flera valutapar. Ursprungligen postat av Martinghoul. Well ser du det är den viktigaste punkten De flesta valutapar är korrelerade på något sätt med andra par Vad får dig att säga att Över vilken tidshorisont har du observerat detta? Att vara sant Har du funderat på de logiska konsekvenserna av ett sådant uttalande. Om du tänker länge och svårt om dessa saker, kommer du att se ljuset, jag är säker. Och för att vara konsekvent lönsam, måste jag inte kväva jag också som Andra här, väljer att ha en portfölj av affärer, vilket gör att jag kan finjustera exponeringen i stället för att satsa på breda marknadsförflyttningar. Naturligtvis är jag öppen för att överväga andra synpunkter, men det har varit min observation, liksom Allmän syn på de flesta valutahandlare att det finns en korrelation som är ge Nere följt mellan par jag har inte undersökt alla paren, men det finns ett diagram som visar förhållandet och hur det beräknas om du gör en google-sökning på valutakorrelation. Jag kan också tillägga att det inte är 100 korrekt, och Har varierande grad av konsistens beroende på vilken tidsram och vilka par du tittar på. Och titta på prisåtgärd, som är 99 av min handelsmetod, är det lätt att se liknande eller motsatta mönster i priskorrelationen. Jag tycker att det är s som Något annat, alla söker efter en kant för att ge sig en fördel att komma ut på höger sida av branschen. Jag upptäckte att jag vet att handel och handel. Ett par ger mig en fördel, eftersom jag är bekant med hur den rör sig. Men är intresserad av varför vissa Tror att flera par som handlas på en gång ger dem en fördel, jag förstår diversifieringen som noteras av oro ovan, men det har inte fungerat för mig när jag har provat det, så jag gick tillbaka till ett par. Senast redigerad av aliasentric 12 juni 2013 kl 3 39pm. Forex Trading Dagbok 5 - Handel med flera valutapar. Idag publicerade jag några viktiga ändringar i QSForex-programvaran. Dessa förändringar har ökat användbarheten av systemet betydligt till den punkt där den är nästan redo för flera dagars kryssdata backtesting över en rad valutapar. Följande ändringar har publicerats i Github. Ytterligare modifiering av både objekten Position och Portfolio för att tillåta att flera valutapar ska handlas såväl som valutor som inte är nominerade i kontovalutan. Därför kan ett GBP-deonomerat konto nu handla EUR USD , Till exempel en översyn av hur positionen och portföljen beräknas öppnas, stängs, läggs till och flyttas av enheter Position-objektet utför nu den tunga lyftningen och lämnar ett relativt litet Portfolio-objekt. Tillägg av den första icke-triviala strategin, nämligen den välkända Flytta genomsnittlig Crossover-strategi med ett par enkla rörliga medelvärden SMA. Modification to make it single-threaded och deterministic Despit E min optimism att ett trådlöst förhållningssätt inte skulle vara för skadligt för simuleringsnoggrannheten, fann jag det svårt att få tillfredsställande backtestingresultat med en multi-threaded approach. Introduced ett mycket grundläggande Matplotlib-baserade output script för att se egenkapitalkurvan för Portfölj Aktiekurveproduktionen är på ett tidigt stadium och kräver fortfarande mycket arbete. Som jag nämnde i föregående post för de av er som är obekanta med QSForex och kommer för första gången till denna forex dagbokserie, rekommenderar jag starkt Med en läsning av följande dagboksposter för att komma igång med programvaran. Liksom Github-sidan för QSForex. Multiple Currency Support. En funktion som jag kontinuerligt har diskuterat i dessa dagboksposter är förmågan att stödja flera valutapar . I detta skede har jag nu modifierat programvaran för att tillåta olika kontonomineringar, eftersom tidigare GBP var den hårdkodade valutan. Det är också nu möjligt att handla i annan valuta Par, förutom de som består av en bas eller citat i japanska yen JPY Den senare beror på hur fackstorlekarna är caculerade i JPY-valutor. För att uppnå detta har jag ändrat hur vinsten beräknas när enheter tas bort eller positionen är Stängd Här är det aktuella snippet för beräkning av pips i filen. Om vi stänger positionen för att förverkliga en vinst eller förlust, måste vi använda följande snipp för stängning också i filen. Först får vi bud och fråga priser För både valutaparet handlas såväl som citatet hem valutapar Till exempel för ett konto i GBP, där vi handlar EUR USD, måste vi få priser för USD GBP, eftersom EUR är basvalutan och USD är den Quote. At detta stadium kontrollerar vi om positionen själv är en lång eller kort position och sedan beräkna lämpligt avlägsningspris och citera hemavlägsningspris, vilket anges av removeprice respektive qhclose. We uppdaterar nu nuvarande och genomsnittspriserna wi Tunna positionen och slutligen beräkna PL genom att multiplicera pipparna, citatets hemfjernningspris och sedan antalet enheter vi stänger ut. Vi har helt eliminerat behovet av att diskutera exponering, vilket var en redundant variabel. Denna formel ger då korrekt PL Mot alla valutaparhandelar som inte är JPY. Uppdatering av position och portföljhantering. Förutom möjligheten att handla i flera valutapar har jag också förfinat hur position och portfölj ansvarar för öppnings - och stängningsställen samt att lägga till Och subtrahera enheter. I synnerhet har jag flyttat mycket av den positionshanteringskod som var in. Detta är mer naturligt eftersom positionen ska ta hand om sig själv och inte delegera den till portföljen. I synnerhet adderar removeunits och Closeposition metoder har skapats eller förbättrats. I de senare två kan du se hur den nya formeln för beräkning av vinst är implementerad. Mycket av Porys funktionalitet Tfolio-klassen har därmed minskats motsvarande. I synnerhet har metoderna för tilläggspositionspositioner avlägsnandepositionsenheter och stängningspositioner modifierats för att ta hänsyn till det faktum att beräkningsarbetet utförs i positionsobjektet. I huvudsak kontrollerar de alla utom tilläggsposition om positionen existerar För det valutaparet och sedan ringa motsvarande positioneringsmetod med hänsyn till vinst om det behövs. Ökad genomsnittlig Crossover-strategi. Vi diskuterade Moving Average Crossover-strategin innan på QuantStart i samband med aktiehandel. Det är en mycket användbar testbäddsstrategi Eftersom det är lätt att replikera beräkningarna för hand åtminstone vid lägre frekvenser för att kontrollera att backtesteren beter sig som den ska. Grundtanken för strategin är följande. Två separata enkla glidande medelfilter skapas med varierande Lookback perioder, av en viss tidsserie. Signaler för att köpa tillgången inträffar när sho Rter lookback glidande medelvärdet överstiger det längre återkommande glidande genomsnittet. Om det längre genomsnittet därefter överstiger det kortare genomsnittet säljs tillgången tillbaka. Strategin fungerar bra när en tidsserie går in i en period med stark trend och sedan sakta tillbaka trenden. Genomförandet Är rakt För det första tillhandahåller vi en metod calcrollingsma som gör det möjligt för oss att effektivisera utnyttjandet av den tidigare tidsperioden SMA-beräkningen för att generera den nya utan att behöva räkna om SMA vid varje steg. För det andra genererar vi signaler i två fall I Det första fallet vi genererar en signal om den korta SMA överstiger den långa SMA och vi inte längtar valutaparet I det andra fallet genererar vi en signal om den långa SMA överstiger den korta SMA och vi är redan långa. Jag har ställt in som standard Fönster för att vara 500 ticks för den korta SMA och 2000 ticks för den långa SMA. Tydligen i en produktionsinställning skulle dessa parametrar optimeras, men de fungerar bra för våra teständamål. Ngle-Threaded Backtester. En annan stor förändring var att modifiera den backtesting komponenten att vara single-threaded, snarare än multi-threaded. I gjort denna förändring eftersom jag hade en mycket svår tid synkronisera trådarna att utföra på ett sätt som skulle uppstå i a live environment It basically meant that the entry and exit prices were very unrealistic, often occuring virtual hours after the actual tick had been received. Hence I incorporated the streaming of TickEvent objects into the backtesting loop, as you can see in the following snippet of. Notice the line This is called prior to a polling of the events queue and as such will always guarantee that a new tick event will have arrived before the queue is polled again. In particular it means that a signal is executed as new market data arrives , even if there is some lag in the ordering process due to slippage. I ve also set a maxiters value that controls how long the backtesting loop continues In practice this will need to be quite large w hen dealing with multiple currencies across multiple days, but I ve set it to a default value that allows for a single day s data of one currency pair. The streamnexttick method of the price handler class is similar to streamtoqueue except that it calls the iterator next method manually, rather than carrying out the tick streaming in a for loop. Notice that it stops upon receipt of a StopIteration exception This allows the code to resume rather than crashing at the exception. Matplotlib Output. I ve also created a very basic Matplotlib output script to display the equity curve currently lives in the backtest directory of QSForex and is given below. Notice that there is a new variable now called OUTPUTRESULTSDIR which must be set in your settings I have it pointing to a temporary directory elsewhere on my file system as I don t want to accidentally add any equity backtest results to the code base. The equity curve works by having a balance value added to a list of dictionaries, with one dicti onary corresponding to a time-stamp. Once the back-test is complete the list of dictionaries is converted into a Pandas DataFrame and the tocsv method is used to output. This output script then simply reads in the file and plots the balance column of the subsequent DataFrame. You can see the snippet for the appendequityrow and outputresults methods of the Portfolio class below. Every time executesignal is called, the former method is called and appends the timestamp balance value to the equity member. At the end of the backtest outputresults is called which simply converts the list of dictionaries to a DataFrame and then outputs to the specified OUTPUTRESULTSDIR directory. Unfortunately, this is not a particularly appropriate way of creating an equity curve as it only occurs when a signal is generated This means that it does not take into account unrealised P L. While this is how actual trading occurs you haven t actually made any money until you close a position it means that the equity curv e will remain completely flat between balance updates Worse, Matplotlib will default to linearly interpolating between these points, thus providing the false impression of the unrealised P L. The solution to this problem is to create an unrealised P L tracker for the Position class that correctly updates on every tick This is a little more computationally expensive, but does allow a more useful equity curve This feature is planned for a later date. The next major task for QSForex is to allow multi-day backtesting Currently the HistoricCSVPriceHandler object only loads a single day s worth of DukasCopy tick data for any specified currency pairs. In order to allow multi-day testing it will be necessary to load and stream each day sequentially to avoid filling RAM with the entire history of tick data This will require a modification to how the streamnexttick method works Once that is complete it will allow long-term strategy backtesting across multiple pairs. Another task is to improve the ou tput of the equity curve In order to calculate any of the usual performance metrics such as the Sharpe Ratio we will need to calculate percentage returns across a particular time period However, this requires that we bin the tick data into bars in order to calculate a return for a particular time period. Such binning must occur on a sampling frequency that is similar to the trading frequency or the Sharpe Ratio will not be reflective of the true risk reward of the strategy This binning is not a trivial exercise as there are lots of assumptions that go into generating a price for each bin. Once these two tasks are complete, and sufficient data has been acquired, we will be in a position to backtest a wide-range of tick-data based forex strategies and produce equity curves net of the majority of transaction costs In addition, it will be extremely straightforward to test these strategies on the practice paper-trading account provided by OANDA. This should allow you to make much better decisi ons about whether to run a strategy compared to a more research oriented backtesting system. Just Getting Started with Quantitative Trading. Disclaimer - Forex, futures, stock, and options trading is not appropriate for everyone There is a substantial risk of loss associated with trading these markets Losses can and will occur No system or methodology has ever been developed that can guarantee profits or ensure freedom from losses No representation or implication is being made that using the information contained on this site will generate profits or ensure freedom from losses. Copyright 2011-2014, WCI WCM Unauthorized use, copying, redistribution, republication and or duplication of content, is strictly prohibited without prior written permission. Forum Software by SMF 2014, Simple Machines. Theme based on Reseller.
No comments:
Post a Comment