Tuesday 12 December 2017

Mdfa forex


Realtidssignalxtraktion (MDFA) och algoritmisk handelspresentation på temat: Realtidssignalxtraktion (MDFA) och algoritmisk handel Presentationsutskrift: 1 Realtids signaltxtraktion (MDFA) och algoritmisk handel marc. wildizhaw. ch blog. zhaw. chidpsefblog idp. zhaw. chusri idp. zhaw. chMDFA-XT idp. zhaw. chsef 2 Bakgrund Hybrid mathecon. IDP-ZHAW Projekt med econ. partnerskap Prognoser Hälso - och sjukvård (kostnadsutgifter) Makro (realtidsekonomiska indikatorer: Euri Eurostat-projektet) Finansiering (MDFA-XT, stor hedgefonds) Teknik (telekom, lastprognoser) Eclecticdisparate tillämpningsområde Gemensamt metodiskt tillvägagångssätt Intern utveckling: (M) DFA R-paket signalutdragning på CRAN 3 En klassisk algoritmisk handelsmetod Timing System SP500 Dagliga tillslutningar MA (200), lika viktad 6 Varför handlar Traders Ofta AdoptPrefer Filter Crossings Filter Egenskaper Varför MDFA blog. zhaw. chidpsefblogindex. phparchives54- Intermezzo-Why-do-Traders-Frequently-Consider-Crossings-of-Trading-Filter-Pairs. html 8 Filteregenskaper Amplitude-funktion: Vilken signal är extraherad Tidskift: Hur stor är fördröjningen 11 Slutsatser Korsningsregler är (ett onödigt besvärligt sätt att genomföra) bandpassfilter Korsningsregler (bandpass) har små tidsfördröjningar Varför MDFA Flexibel effektiv realtid (bandpass) design Snabb och slät 16 Slutsats Damp eller avoi d alla massiva nedgångar i konjunkturläget effektivt Idealisk för riskavkastande investerare (pensionsfonder) Grundläggande handel: verkligen ur ett exempel Fokus på makrodata (ignorerad finansiell information) NBER Nackdel: otillräckligt aktiv Texto: Svårt att motivera avgifter 25 Slutsats Högre handel frekvenser är associerade med Bandpass skiftas till höger Mer flexibelt än traditionella filterövergångar Mindre fördröjningshanteringar 27 Inställning Totala degenerativa handelskostnader på 0,3 per order (liten fond) Endast långa Inga riskfria räntor 33 Slutsatser Högre handelsfrekvenser är förknippade med Lite minskning av prestanda Större dragningar USRI skulle undvika neddragningar och då skulle prestanda förbättra. Ökad marknadsaktivitet (avgifter) Kombination med USRI möjlig (rekommenderas) Filter kommer att vara tillgängliga online sen i juli 35 Excel-handledning på SEF-Blog blogg. zhaw. chidpsefblogindex. php archives65-Real-Time-Detection-of-Turning-Points-a-Tutorial-Del-I-Mean Square-Error-Norm. htmlblog. zha w. chidpsefblogindex. php archives65-Real-Time-Detection-of-Turning-Points-a-Tutorial-Del-I-Mean Square-Error-Norm. html blog. zhaw. chidpsefblogindex. php arkiver67-Realtidsdetektering - Om-Turning-Poäng-En-Handledning-Del II-Emphasizing-Turning-Points. htmlblog. zhaw. chidpsefblogindex. php arkiver67-Realtid-Detektion-av-Turning-Poäng-En-Handledning-Del II - Emphasizing-Turning-Points. html 36 Syfte Yoga övningar för att avlägsna från maximal sannolikhet för huvudströmmen Första blogginmatning: hur traditionell ekonometrisk metod fungerar Intuitivt okomplicerad Bra (optimala) medelkvartalföreställningar Människor har blivit lata-minded Second Blog-Entry : Den tidiga upptäckten av vändpunkter En (stark) motintuitiv övning Genererar till synes (starkt) missspecificerade filterdesigner Varningslärning (belysning) 40 Standardekonometrisk tillvägagångssätt Proceeding: Identifiera en tidsseriemodell (ARIMAstate space) Förläng serien genom optimala prognoser Ansök det symmetriska filtret på den förlängda tiden s raderar X-12-ARIMA, TRAMO, STAMP, RS-krav: Ensidigt filter är optimalt (medel-kvadratisk sanning) Antagning: DGPtrue-modell 47 En likvärdigt kraftfull design (toppkorrelation) Korrelation mellan realtidskalkyl och cykel som funktion av tidsfördröjning k 57 Konklusioner Uppenbarligen misspecificeret design är Snabbare Slätare (mindre falska TP eller larm) Inte medelstora optimalt Mycket bättre i ett TP-perspektiv 58 Från Excel till MDFA Tweak filterparametrar genom hand i Excel Tutorial Brister i exempel Orealistiskt enkelt artificiell simuleringsövning I praktiken: mer komplexa störningar och signaler Inkludera information från mer än en tidsserier (multivariat ramverk) Önskning: Ett formellt optimeringskriterium Välkommen till DFA och MDFA 61 Optimeringskriterium (I (0)) Minimera en (enhetligt) superkonsistent uppskattning av en (enhetligt) effektiv uppskattning av filterets genomsnittliga kvadratfel (Anpassad) Effektivitet kommer uttryckligen i utformningen av optimeringskriteriet 62 Har du sagt andor Mean Periodogra m Periodogram är ett typiskt exempel på statistisk basning. Inkonsekvent uppskattning av spektral densitet. Utjämning (parametrisk eller icke parametrisk). Periodogram har underbara statistiska egenskaper. Tillräcklighet (Larry Brethorst). En kan härleda snygg formell effektivitet resulterar i realtids signaltxtraktion. Arbeta på en serie av Nya blogginlägg om ämnet att rehabilitera till viss del - Periodogrammet 63 Föreställningar (Effektivitet av Univariate DFA) Företagsundersökningsdata (KOF, FED, 2004,2005) X-12-ARIMA, TramoSeats MSE-gain 30 US - och Euro - BNP (2008): CF-vändpunkter förväntas med 1-2 kvartaler ESI (2006): Dainties TPs upptäcktes 2-3 månader tidigare 64 Prestanda (Effektivitet) genom att förlita sig på periodogrammet TP-filter vann NN3 (2007) och NN5 (2008) ) prognoser tävlingar (60 deltagare) IIF och University of Lancaster Månadsmakro och finansiella data (111 tidsserier) och dagliga finansiella data (111 tidsserier) Utmärkt vinst och löpare av prestigefylld M3-tävling, X-12-ARIMA , Tramo, Prognos-Pro, Autobox, Exponentiell utjämning: Enkel, Holt, Dampad, Neurala nät, Artificiell intelligens blog. zhaw. chidpsefblogblog. zhaw. chidpsefblog 66 Styrning av tidsfördröjning (Anpassning) 1: Fördröja tidsfördröjningen i pass - band 1: bästa nivåfilter 1: Fördröja tidsfördröjningen i passbandet 1: bästa nivåfiltretitelkontrollera tidsfördröjningen (Anpassning) 1: Fördröja tidsfördröjningen i passbandet 1: bästa nivåfiltret 67 Anpassning: Regleringstid fördröjning och jämnhet Större dämpning av högfrekventa ljud i stopband Mindre tidsfördröjningar i passbandet W () är monotoniska (ökande) och 1 1 titelKanisering: Reglering av tidsfördröjning och jämnhet Större dämpning av högfrekventa ljud i stoppband Mindre tidsfördröjningar i passbandet W () är monotoniska (ökande) och 1 74 Effektivitet (Theorem 4.1, Wildi2008, WildiSturm2008) Felbegreppet e T är minsta möjliga enhetligt Uniform effektivitet Anpassning 75 Optimal (Effektiv) Kriterium under Cointeg ration (Rank1) Filterrestriktioner är uppfyllda 76 Föreställningar MDFA Utgångsavbrott US - och Euro-GDP (2008): CF och multivariate CF-vändpunkter förväntas med 1-2 kvartaler USRI Outperformed Markov-switching (Chauvet, ChauvetPiger), Dynamisk faktor modeller (CFNAI), statliga rymdmodeller (ADS), Hodrick-Prescott (OECD-CLI), Christiano-Fitzgerald SEF-Blog MDFA-XT EURI 77 VARNING. DETTE ÄR INTE EN PUSH-THE-BUTTON BENÄMNING Formel 1 racer: den kan vara snabb (Ferrari) och pålitlig (Mercedes), men du måste tweak den noggrant: FerradesMercearri Filter design (ZPC) Filterbegränsningar (betona frekvensnoll) Förståelseinterpretation: intelligens 2008-Bok: idp. zhaw. chsefidp. zhaw. chsef Glad att ge stöd med ekonomiska incitament 79 marc. wildizhaw. ch blog. zhaw. chidpsefblog Illustrera metodologiska problem genom att förlita sig på verkliga projekt med ekonomiska partners idp. zhaw. chusri Real - Time US Recession Indicator idp. zhaw. chMDFA-XT Experimental Trader för MSCI Emerging Markets Filters online sena juli idp. zhaw. chsef Signal Extraction Prognos Site Böcker, artiklar, SoftwareHigh-Frequency Financial Trading på FOREX med MDFA och R: En Exempel på den japanska yenen Den här sista inlägget av Chris är speciellt i den meningen att han litar på mitt MDFA-paket (i stället för iMetrica) för att generera handelssignaler, se 1. Därför kan resultaten reproduceras. Chris gjorde en stor replikeringsansträngning, se nedan: Onsdag 20: Jag lade till R-koden som modifierad av Chris för att fortsätta till replikering. Det som följer är Chris8217email, klipps och klistras från min server: quotSo Jag har precis slutfört den efterlängtade introduktionshandledningen om hur man bygger handelssignaler med MDFA och R för högfrekvensdata. Det finns inte så många hemligheter att dölja här, eftersom det jag gjorde i R med din kod är i första hand samma rutin som jag tar för att bygga mina handelssignaler i iMetrica (förutom att jag kan göra saker mycket mycket snabbare i senare8230 och okej där är bara några små hemliga såser som I8217m använder och inte villiga att läcka ut tills I8217m är anställd). Men vad gäller detta exempel med yenen går allt (bör) reproduceras hemma med en (lite modifierad) version av din kod. Här är artikeln 1. En utmaning som jag mötte för att bygga dessa exempel kom från att jämföra dem med de resultat jag får i iMetrica. Tyvärr var resultaten först inte desamma. Efter att ha blivit lite frustrerad tog jag det noggranna försöket att få reda på varför mina MDFA-rutiner i C skiljer sig från din i R. Mine är kodade på ett mycket mer optimerat och effektivt sätt för att uppnå snabbast möjliga hastighet (tack vare en snabb apofenioptimering paket för att montera matriser och lösa för koefficienter). Slutresultatet bör dock fortfarande vara likvärdigt. Efter en dag att navigera genom båda eller våra MDFA-implementeringar, fick jag reda på varför de inte motsvarar (och jag ändrade dem i din kod). Här är skillnaderna (som jag kan komma ihåg) från min implementering och din (från din november release): 8211 Computing the DFTs. Av någon anledning, vid nollfrekvensen, använder du inte medelvärdet av data. Du ställde den till noll. Inte säker på om du lämnade det här oavsiktligt eller med avsikt, men jag använder medelvärdet. Dessutom delar jag DFT-värdena med konstanten (stiftet) där n är antalet observationer i tidsserier. 8211 I definitionen av decay1-parametern verkar du don8217t använda tan-funktionskartläggningen. Jag gjorde. 8211 Den största skillnaden är i definitionen av utjämningsfunktionen (definierad av expweight). För det första delar du expweight med 2, dividerar jag med 10. Inte en stor sak. Den enorma affären är detta. Min definition av den växlade effektfunktionen är en funktion av frekvensvärdet (alltså från 0 upp till 3,14). Din är en funktion av läget för frekvensvärdesindex, mellan 0 och K. Det gör en stor skillnad. Jag föredrar att definiera effektfunktionen med hänsyn till frekvensvärdet och inte indexet. Efter att jag ändrade dessa var resultatet ganska stort, men inte exakt. När man tittar på den slutliga matrisen (för att lösa Axb för koefficienterna) efter att ha tillämpat regularisering och anpassning, verkar det som att värdena inuti matrisen A är av en faktor om cirka 10. Min intuition är att den komplexa expfunktionen i R och C beräknas lite annorlunda (betterworse precision, jag vet inte). Så jag är inte säker på om det här är någonting vi någonsin kan lösa. Men I8217m är inte orolig, eftersom slutresultatet är så nära. Faktum är att det inte påverkar något av branschen i mina exempel jag visar, de var desamma i iMetrica. Och det är det viktigaste. Hur som helst kan jag skicka dig min version av din kod om du vill, så att folk kan hämta det för att prova exemplen. Eller du kan överväga dessa ändringar och göra dem permanenta i framtida versioner av MDFA. Låt mig veta, och njut av artikeln. Citat Du jobbar för hårt, gammal chap. Ditt hår har varit R-färgat R-vävning och R-borstning kommer också i åtanke. Förresten mäts konsistensen tvärtom: iMetrica ska kunna replikera I-MDFA som är referensen. Min MDFA-kod som modifierad av Chris (se ovanstående kommentarer) DFT. r. I8217m arbetar alltid med centrerad serie, därför är DFT i frekvens noll noll (it8217s proportionell mot medelvärdet). Chris verkar inte fungera med centrerad serie: hans DFT skiljer sig från noll i freq. noll. I-MDFAnew. r. Det verkar som att expweight amplitude-viktningen har förändrats och jag antar att lambda-sönderfallet har ändrats också. Observera att jag inte ändrar min senaste I-MDFA-version: ovanstående ändringar är användbara om du vill kopiera Chris8217-resultat (men jag stannar vid min version). För att kunna utföra replikering måste you8217ll kräva data från honom. Lämna ett svar Avbryt svarMonthly Arkiv: Februari 2013 Här är det, de nya elementen-vade-mecum (med dokumentets längd är det knappast ett papper längre): Feb. 09: Jag lade till en ny avsnitt 11.9 om datautgångar som bygger på på ett 2011-papper som publicerats här 0. Detta problem kan hanteras av den nya kointegrationsramen eftersom datautsläpp kan kopplas parvis genom cointegrationsvektorn (1, -1). 11 mars: Jag korrigerade buggen i definitionerna 23 och 24 (tack vare en uppmärksam student). Allt du någonsin velat veta om (co) integration och realtidsfiltrering är packad i avsnitt 9 och 11 Åh, du kommer att älska det här nya materialet. It8217s om universella (tautologiska) nummeridentiteter, oavsett antaganden, handlar det också om ett singulärt statistiskt resultat, nämligen superkonsistens och it8217s om effektivitet. En kamp mellan det platoniska idealet och den kommersiella opportunismen: Gissa på vilken sida I8217m positionerade8230 Jag har ett första utkast av elementen-papper redo. Men holländsk-gyllene-ko: det här var en ganska hård kamp. Det här nya materialet leder till en väsentlig översyn av elementet papper: de gamla delarna förblir opåverkade 8211 de är för bra för att kunna ändras8230 8211 men jag var tvungen att ge en betydande mängd tekniska matematiska detaljer för att motivera MDFA från en djupare filosofisk8217 (som omfattar matematisk8217) perspektiv. Jag behöver lite tid att låta sakerna lösa sig: när jag känner mig redo8217 lägger jag in I8217ll det nya elementet papper. Snart. Väldigt snart. Åh min Gud: det här var svårt. Om det var så svårt att skriva, så är det så svårt att läsa, för dig8230 Papperet uppblåst till över 80 sidor. Det blir en bok8230 Och det här är exakt min avsikt. Efter 2005 och 2008 är it8217s tid för en ny bok. Nästa år. Och element-papper blir ett bokutkast. Ginters Buss från Lettlands nationella bank har ett intressant papper om I-MDFA, se 1. Och här8217s en direktlänk till tidningen på SEFBlog:.Figur 1: In-sample (observationer 1-250) och out-of-sample prestanda av handelssignalen som byggdes i denna handledning med MDFA. (Top) Logpriset för Yen (FXY) i 15 minuters intervall och de transaktioner som genereras av handelssignalen. Här är svart linje ett köp (långt), blått säljs (kort position). (Bottom) Avkastningen ackumulerad (kontanter) som genereras av handeln, i procent uppnått eller förlorat. I min tidigare artikel om högfrekvent handel i iMetrica på FOREXGLOBEX. Jag introducerade några robusta signalutvinningsstrategier i iMetrica med hjälp av det multidimensionella direktfiltret (MDFA) för att generera högpresterande signaler för handel på valutamarknaden och Futures. I den här artikeln tar jag en kort övergång från min värld av att utveckla finansiella handelssignaler i iMetrica och migrera till ett uber-populärt språk som används i finanser på grund av sitt spännande utbud av paket, snabb datahantering och grafikhantering och av koll det faktum att it8217s är gratis (som i tal och öl) på nästan vilken datorplattform i världen som helst. Denna artikel ger en introduktion till hur man använder R för högfrekvent handel på FOREX-marknaden med hjälp av R-paketet för MDFA (erbjuds av Herr Doktor Marc Wildi von Bern) och några strategier som I8217ve utvecklat för att generera ekonomiskt robusta handelssignaler. För denna handledning betraktar jag det andra exemplet som anges i min tidigare artikel där jag konstruerade en handelssignal för 15-minuters log-retur av den japanska yenen (från öppnande klocka till marknaden nära EST). Detta presenterade lite nya utmaningar än tidigare eftersom de snabba hoppvariationerna är mycket större än de som genereras av timme eller dagliga avkastningar. Men som jag visade var dessa större variationer på nära till öppet pris inga problem för MDFA. Det utnyttjade faktiskt dessa hopp och gjorde stora vinster genom att förutsäga hoppets riktning. Figur 1 högst upp i den här artikeln visar provet (observationer 1-250) och urvalet (observationer 251 framåt) av filtret som jag kommer att bygga i den första delen av denna handledning. I hela denna handledning försöker jag att replikera dessa resultat som jag byggde i iMetrica och expandera lite på dem med hjälp av R-språket och implementeringen av MDFA som finns här. De data som vi anser är 15-minuters loggutgångar från yenen från 4 januari till 17 januari och jag har dem sparat som en. RData-fil som ges av ldfxyinsamp. Jag har en ytterligare förklarande serie inbäddad i. RData-filen som I8217m använder för att förutsäga priset på yenen. Dessutom använder jag också prisfxinsamp vilket är loggpriset för Yen, används för att beräkna prestandan (buysells) av handelssignalen. Ldfxyinsamp kommer att användas som in-sample-data för att konstruera filter - och handelssignalen för FXY. För att få dessa uppgifter så att du kan utföra dessa exempel hemma, maila mig och I8217ll skicka dig alla nödvändiga. RData-filer (in-sample och out-of-sample data) i en. zip-fil. Med en snabb blick på ldfxyinsamp-data ser vi loggen returnerar av yenen varje 15: e minut, från början på marknaden (tidszon UTC). Måldata (Yen) ligger i den första kolumnen tillsammans med de två förklarande serierna (Yen och en annan tillgång som är integrerad med Yens rörelse). gt head (ldfxyinsamp), 1, 2, 3 2013-01-04 13:30:00 0.000000e00 0.000000e00 0.0000000000 2013-01-04 13:45:00 4.763412e-03 4.763412e-03 0.0033465833 2013-01-04 14:00:00 -8.966599e-05 -8.966599e-05 0.0040635638 2013-01-04 14:15:00 2.597055e-03 2.597055e-03 -0.0008322064 2013-01-04 14:30:00 -7.157556e - 04 -7.157556e-04 0.0020792190 2013-01-04 14:45:00 -4.476075e-04 -4.476075e-04 -0.0014685198 Förflyttning, för att börja bygga den första handelssignalen för yenen börjar vi genom att ladda upp data till vår R-miljö, definiera några initialparametrar för MDFA-funktionssamtalet och beräkna sedan DFT och periodogram för yenen. Som jag nämnde i mina tidigare artiklar börjar min steg-för-steg-strategi för att bygga handelssignaler alltid en snabb analys av periodogrammet för tillgången som handlas på. Att hålla nyckeln till att ge insikt i egenskaperna av hur tillgången handlar, periodogrammet är ett viktigt verktyg för att navigera hur utrustningen väljs. Här ser jag för huvudspektraltoppar som motsvarar tidsdomänen för hur och var min signal kommer att utlösa buysell-branschen. Figur 2 visar periodogrammet för 15-minuters loggutbytet av den japanska yenen under provperioden från 4 januari till 17 januari 2013. Pilarna pekar på de huvudsakliga spektraltopparna som jag letar efter och ger en guide till hur jag kommer att definiera min funktion. De svarta prickade linjerna anger de två frekvensavbrott som jag kommer att överväga i det här exemplet, den första varan och den andra vid. Observera att båda cutoffs är inställda direkt efter en spektral topp, något som jag starkt rekommenderar. Vid högfrekvent handel på FOREX med MDFA, som vi ser att, är tricket att leta efter spektralstoppen som står för den snabba variationen i priset på den utländska valutan. Vi vill utnyttja denna spektrala topp eftersom det här är de stora vinsterna i valutahandel med MDFA. Figur 2: Periodogram av FXY (japansk yen) tillsammans med spektraltoppar och två olika frekvensavbrott. I vårt första exempel betraktar vi den större frekvensen som cutoff för genom att ställa in den (högsta raden i figuren i periodogrammet). Sedan ställde jag in initialt parametrarna för aktualitet och jämnhet, och expweight till 0 tillsammans med inställning av alla normaliseringsparametrar till 0 också. Detta ger mig en barometer för var och hur mycket att justera filterparametrarna. Vid val av filterlängd har mina empiriska studier över många experiment i att bygga handelssignaler med hjälp av iMetrica visat att ett 8216good8217 val är någonstans mellan 14 och 15 av den totala samplingslängden för tidsseriedata. Längden beror givetvis på frekvensen av dataobservationerna (d. v.s. 15 minuter, timme, dagstid osv.), Men i allmänhet kommer du troligtvis aldrig att behöva mer än vara större än 14 i provstorleken. Annars kan regularisering bli för tung att hantera effektivt. I det här exemplet är den totala samplingslängden 335 och således bestämmer jag vilken I8217ll håller fast vid resten av denna handledning. Filtrets längd är i vilket fall inte den viktigaste parametern att överväga för att bygga bra handelssignaler. För ett bra robust urval av filterparametrarna par med lämpliga förklarande serier, bör resultaten av handelssignalen i jämförelse med, sagt, knappast skilja sig. Om de gör det, är parametreringen inte tillräckligt robust. Efter att ha laddat upp både loggensändningsdata i samplingen och motsvarande logpris på yenen för att beräkna handelsprestandan fortsätter vi i R för att ställa in ursprungliga filterinställningar för MDFA-rutinen och sedan beräkna filtret med funktionen IMDFAcomp. Detta returnerar både imdfaamp-objektets innehavskoefficienter, frekvensresponsfunktioner och filterstatistik tillsammans med signalen som produceras för varje förklarande serie. Vi kombinerar dessa signaler för att få den slutliga handelssignalen i provet. Allt detta görs i R enligt följande: Filtrets resulterande frekvensresponsfunktioner och koefficienterna är ritade i figuren nedan. Figur 3: Frekvensresponsfunktionerna i filtret (topp) och filterkoefficienterna (nedan) Notera att överflöd av brus som fortfarande finns närvarande passerade avklippningsfrekvensen. Detta förknippas genom att öka exppo-jämnhetsparametern. Koefficienterna för varje förklarande serie visar viss korrelation i sin rörelse, eftersom lagren ökar. Emellertid lämnar jämnheten och förfallet av koefficienterna mycket att önska. Vi kommer att åtgärda detta genom att införa regleringsparametrar. Plottar av in-sample-handelssignalen och signalets prestanda i provet visas i de två figurerna nedan. Observera att handelssignalen beter sig snyggt i provet. Men ser kan vara bedrägeri. Denna stjärnprestanda beror till stor del på ett filtreringsfenomen som kallas övermontering. Man kan härleda att överfitting är den skyldige här genom att helt enkelt se på koefficienternas nonsmoothness tillsammans med antalet frysade frihetsgrader, vilket i det här exemplet är ungefär 174 (av 174), alldeles för högt. Vi skulle vilja få detta nummer vid ungefär hälften av antalet frihetsgrader (antal förklarande serier x L). Figur 4: Handelssignalen och Yen-loggens returdata. Utförandet av det här filtret i provet visar vilken typ av resultat vi skulle vilja se efter att regularisering har tillämpats. Men nu kommer det för de nyskapande effekterna av överfitting. Vi tillämpar dessa filterkoefficienter på 200 15-minuters observationer av yenen och de förklarande serierna från den 18 januari till den 1 februari 2013 och jämförs med egenskaperna i provet. För att göra detta i R laddar vi först data utan data i R-miljön och tillämpar sedan filtret på exempeldata som jag definierade som xout. Plotten i Figur 5 visar handelssignalen utanför samlingen. Observera att signalen inte är nästan lika jämn som den var i provet. Överföringen av data på vissa områden är också uppenbarligen närvarande. Även om signalets övermonteringskännetecken inte är hemskt misstänkta, skulle jag inte lita på det här filtret för att producera stellära avkastningar på lång sikt. Figur 5. Filter applicerad på 200 15 minuters observationer av Yen utanför provet för att producera handelssignal (visas i blått). Efter den tidigare analysen av medelkvadratlösningen (ingen anpassning eller regularisering) fortsätter vi nu att städa upp problem med överfitting som uppenbarades i koefficienterna tillsammans med förhindrande av bruset i stoppbandet (frekvenser efter). För att välja parametrarna för utjämning och regularisering är det en metod att först tillämpa jämnhetsparametern först, eftersom det generellt släpper koefficienterna medan de fungerar som en 8216pre8217-regulator och sedan framåt för att välja lämpliga reguleringskontroller. När vi tittar på koefficienterna (Figur 3) kan vi se att en jämn utjämning är nödvändig, med endast en liten aning av förfall. För att välja dessa två parametrar i R är ett alternativ att använda Troikaner optimizer (hittad här) för att hitta en lämplig kombination (jag har en hemlig såsalgoritmisk metod som jag utvecklat för iMetrica för att välja optimala kombinationer av parametrar med en extraktor och en prestationsindikator , även om it8217s är långvarig (även i GNU C) och besvärlig att använda, så föredrar jag vanligtvis strategin som diskuteras i denna handledning). I det här exemplet började jag med att sätta lambdasmoothen till .5 och sönderfallet till (.1, .1) tillsammans med en expve-släthetsparameter som sattes till 8,5. Efter att ha tittat på koefficienterna var det fortfarande ingen jämnhet, så jag fortsatte att lägga till mer än en gång nått .63, vilket gjorde tricket. Jag valde sedan lambda för att balansera effekterna av utjämning expweight (lambda är alltid den sista utväg tweaking parameter). Figur 6 visar den resulterande frekvensresponsfunktionen för båda förklarande serierna (Yen i rött). Observera att den största spektralsteget som hittats direkt före frekvensavbrottet vid framhävs och förblir något (värde nära .8 istället för 1,0). De övriga spektraltopparna nedan är också närvarande. För koefficienterna användes just noggrann utjämning och förfall för att hålla koagenternas fördröjning, cykliska och korrelerade struktur intakt, men nu ser de mycket snyggare ut i sin jämna form. Antalet frysade frihetsgrader har reducerats till cirka 102. Figur 6: Frekvensresponsfunktionerna och koefficienterna efter regularisering och utjämning har applicerats (överst). De släta koefficienterna med litet förfall i slutet (botten). Antal frihetsgrader är cirka 102 (av 172). Tillsammans med en förbättrad fritt frihetsgrader och ingen uppenbar överbeläggning av överfitting tillämpar vi detta filter ut ur provet till de 200 observationerna i urvalet för att verifiera förbättringen i strukturen hos filterkoefficienterna (visas nedan i Figur 7). Notera den enorma förbättringen i egenskaperna hos handelssignalen (jämfört med figur 5). Överföringen av data har eliminerats och signalets övergripande jämnhet har förbättrats avsevärt. Detta beror på det faktum att we8217ve har utrotat förekomsten av överfitting. Figur 7: Extern handelstransaktion med regularisering. Med alla indikationer på ett filter som är utrustad med exakt de egenskaper vi behöver för robusthet, tillämpar vi nu handelssignalen både i urvalet och ur urvalet för att aktivera buysellhandlarna och se prestanda på handelskontot i kontantvärde. När signalen korsar under noll, säljer vi (skriv in kort position) och när signalen stiger över noll köper vi (skriv in lång position). Toppbilden i Figur 8 är loggpriset för yenen i 15 minuters mellanrum och de prickade linjerna representerar exakt var handelssignalen genererade trader (korsning noll). De svarta prickade linjerna representerar ett köp (lång position) och de blå linjerna indikerar en försäljning (och kort position). Observera att signalen förutspådde alla snabba hopp för yenen (delvis tack vare förklarande serier). Det är precis vad vi ska sträva efter när vi lägger till regularisering och anpassning till filtret. Kontantkontot för handeln under undersökningsperioden visas nedan, där transaktionskostnaderna fastställdes till .05 procent. I samplen uppnådde signalen ungefär 6 procent på 9 handelsdagar och ett framgångsrikt förhållande på 76 procent. Figur 8: Utförande av det nya filtret och de branscher som genereras. Nu för det ultimata testet för att se hur väl filtret utför för att producera en vinnande handelssignal tillämpade vi filtret på 200-minuters exemplarobservation av yenen och den förklarande serien från den 18 januari till den 1 februari och gör handlar baserade på nollkorsningen. Resultaten visas nedan i figur 9. De svarta linjerna representerar köp och blåa linjer som de säljer (shorts). Lägg märke till att filtret fortfarande kan förutsäga de snabba sprången, även om de är otillräckliga, tack vare normaliseringen. Filtret sänker sig till endast tre små förluster vid mindre än 0,0 procent, var och en mellan observationerna 160 och 180 och en liten förlust i början, med ett framgångsrikt förhållande utanför samplet som drabbar 82 procent och en ROI på drygt 4 procent över 9-dagarsintervallet. Figur 9: Utanför provets prestanda för det reguljära filtret på 200 exemplar 15 minuters avkastning av yenen. Filtret uppnådde 4 procent avkastning över de 200 observationerna och ett 82 procent handelssuccesförhållande. Jämför detta med de resultat som uppnåtts i iMetrica med samma inställningar för MDFA-parametrar. I figur 10 visas både in-prov och out-of-performance-prestanda. Föreställningen är nästan identisk. Figur 10: Yen-filter i provet och i urvalet av yen i iMetrica. Nästan identisk med prestanda som erhållits i R. Nu tar vi ett ställe för att producera ett annat handelsfilter för yenen, bara den här gången vill vi bara identifiera de lägsta frekvenserna för att generera en handelssignal som handlar mindre ofta, bara söker de största cyklerna. Precis som med utförandet av föregående filter vill vi fortfarande rikta in de frekvenser som kan vara ansvariga för de stora, nära öppna varianterna i priset på Yen. För att göra detta väljer vi vår cutoff att vara vilken som effektivt håller de största tre spektraltopparna intakta i low-pass-bandet av. För det här nya filtret behåller vi saker enkelt genom att fortsätta att använda samma regleringsparametrar som valts i föregående filter, eftersom de verkade producera bra resultat utanför provet. Justeringsparametrarna och exp Viktanpassningsparametrarna måste emellertid justeras för att ta hänsyn till de nya brusundertryckningskraven i stoppbandet och fasegenskaperna i det mindre passbandet. Jag ökar sålunda utjämningsparametern och minskade aktualitetsparametern (som endast påverkar passbandet) för att ta hänsyn till denna förändring. De nya frekvensresponsfunktionerna och filterkoefficienterna för denna mindre lowpass-design visas nedan i figur 11. Notera att den andra spektralstoppen redovisas och endast svagt förflyttas under de nya ändringarna. Koefficienterna har fortfarande märkbar jämnhet och förfall vid de största lagren. Figur 11: Frekvensresponsfunktioner hos de två filtren och deras motsvarande koefficienter. För att testa effektiviteten hos den här nya lågfrekvensdesignen tillämpar vi filterkoefficienterna på de 200 observationerna av de 15 minuters Yen-loggen som returneras. The performance is shown below in Figure 12. In this filter, we clearly see that the filter still succeeds in predicting correctly the large close-to-open jumps in the price of the Yen. Only three total losses are observed during the 9 day period. The overall performance is not as appealing as the previous filter design as less amount of trades are made, with a near 2 percent ROI and 76 percent trade success ratio. However, this design could fit the priorities for a trader much more sensitive to transaction costs. Figure 12: Out-of-sample performance of filter with lower cutoff. Conclusion Verification and cross-validation is important, just as the most interesting man in the world will tell you. The point of this tutorial was to show some of the main concepts and strategies that I undergo when approaching the problem of building a robust and highly efficient trading signal for any given asset at any frequency. I also wanted to see if I could achieve similar results with the R MDFA package as my iMetrica software package. The results ended up being nearly parallel except for some minor differences. The main points I was attempting to highlight were in first analyzing the periodogram to seek out the important spectral peaks (such as ones associate with close-to-open variations) and to demonstrate how the choice of the cutoff affects the systematic trading. Here8217s a quick recap on good strategies and hacks to keep in mind. Summary of strategies for building trading signal using MDFA in R: As I mentioned before, the periodogram is your best friend. Apply the cutoff directly after any range of spectral peaks that you want to consider. These peaks are what generate the trades. Utilize a choice of filter length no greater than 14. Anything larger is unnecessary. Begin by computing the filter in the mean-square sense, namely without using any customization or regularization and see exactly what needs to be approved upon by viewing the frequency response functions and coefficients for each explanatory series. Good performance of the trading signal in-sample (and even out-of-sample in most cases) is meaningless unless the coefficients have solid robust characteristics in both the frequency domain and the lag domain. I recommend beginning with tweaking the smoothness customization parameter expweight and the lambdasmooth regularization parameters first. Then proceed with only slight adjustments to the lambdadecay parameters. Finally, as a last resort, the lambda customization. I really never bother to look at lambdacross. It has seldom helped in any significant manner. Since the data we are using to target and build trading signals are log-returns, no need to ever bother with i1 and i2. Those are for the truly advanced and patient signal extractors, and should only be left for those endowed with iMetrica If you have any questions, or would like the high-frequency Yen data I used in these examples, feel free to contact me and I8217ll send them to you. Until next time, happy extracting 8220Taking a quick glance at the ldfxyinsamp data, we see log-returns of the Yen at every 15 minutes starting at market open (time zone UTC). The target data (Yen) is in the first column along with the two explanatory series (Yen and another asset co-integrated with movement of Yen).8221 So in your file in input you use the log(close-returns) twice (col1 and 2) and a another asset Can you tell me more about this another asset cointegred. how you find it While it8217s not so obvious to determine a set of explanatory variables that will improve signal (and trading) performance, I developed a tool called fundamental frequency component analysis that helps me choose series with strong lag s correlations at certain frequencies I8217m interested in. The method seems to work pretty well so far in my experience. Thanks Chris, have you planned other thread in the coming weeks Yes, I have many new ideas for articles, and will be writing one soon. I8217ve been busy the past couple months improving the methodology even more, making it even more robust for financial trading. The problem is I start to give away too many of my secrets and will eventually lose my competitive advantage, so I need to remain a bit cryptic What your favorites time frame. 15 mins i think 15 minutes is a good range, the lower the frequency the better and more robust the signal will be. However, in practice I8217m currently using 5 min returns with a proprietary trading firm in Chicago on Index Futures. You filtre the time in your data. You trade only of 13:30pm until 20pm You overnight trade

No comments:

Post a Comment