Saturday, September 10, 2016

How To Backtest Trading Strategies In Excel

Laat my begin deur te sê dat ek gaaf genoeg om my te help om te leer hoe om R te gebruik vir die toets s nie. Met alles wat in gedagte, het ek gedink ek d loop deur wat ek kyk na die vier basiese stappe in die vervaardiging van 'n backtest in Excel. Let daarop dat die kern Excel-lêer wasn t geskep deur my - dit is geskep deur Jared oor te CondorOptions (nog moet lees as jy hom nie weer volgende). Stap 1: Kry die data Die eerste stap is om jou mark data te kry in Excel. Daar is twee basiese benaderings tot hierdie sal moet her-aflaai wat historiese data en dan kopieer en plak óf die hele datastel of 'n subset van jou strategie op te dateer. Die tweede benadering is om kode te gebruik om gryp data outomaties gaan van Yahoo Finansies. Baie van die mense het VBA geskryf vir net dit te doen d beveel AnalyzerXL aangesien dit die mees buigsaamheid en opsies. Hoe jy slaan die data in Excel is aan jou sal wil hê hulle moet op 'n aparte werkblad te blaai verminder en maak dit maklik om te werk. Stap 2: Maak jou aanwyser Noudat ons elkeen deel te neem van die berekening. Een nice ding oor die werk met Excel is dat dit regtig laat jou dink oor hoe 'n aanduiding is gebou. Dit kan heeltemal te eenvoudig, deesdae, om te gooi af en aanwyser sonder om te verstaan ​​hoe dit eintlik werk wees. Die finale aanwyser kolom, DVI, is 'n geweegde som van die DVI grootte en DVI rek kolomme. I D ook daarop dat AnalyzerXL bevat ook 'n groot aantal aanwysers gedefinieerde maak back testing makliker, en daar is ook ander Byvoegings vir Excel wat soortgelyke funksies bied. Stap 3: Stel jou handel reël Nou dat jy 'n aanduiding is, moet jy jou handel reëls op te rig. In hierdie voorbeeld (berekening is in die re nie lank of kort, of veranderlike posisie sizing in teenstelling met net all-in 'n lang of kort Stap 4:. Die handel reëls / aandele kurwe Daar is baie verskillende benaderings hier, maar wat jy kan sien in hierdie voorbeeld is 'n eenvoudige manier om dit te doen. Aanvaar 'n aanvang kontantwaarde van 10,000 en dan inkrementeer of decrement wat deur of ons 'n lang of kort op die einde van die vorige dag, en of ons reg of nie is nie. in funksie vorm, verteenwoordig ons deur te sê: As 'n lang, dan verskeie vooraf dag weer met behulp van kontant hier, maar jy kan maklik doen rou persentasies in die plek van 'n kontantwaarde Wat hulle aanvaar daar is geen koste / kommissie vir die handel in.. hoë frekwensie swing stelsels soos hierdie een, kan die kommissie 'n groot impak op die lewensvatbaarheid van 'n gegewe strategie het. Tweedens, ons nie weer, AnalyzerXL bied 'n groot aantal van verslagdoening opsies word as deel van die pakket. SA basiese oorsig van back testing in Excel - hoop dat julle almal dit nuttig vind terug toets Trader Excel Koop Vandag (hieronder) en stuur vir ons jou bestelling ID en eis oor 70,00 werd GRATIS sagteware back-toets Excel is net verkoop as deel van Trader Excel pakket Besoek Ontwikkelaars site vir meer van hierdie terugslag toets Excel, deel van Trader Excel pakket, is 'n add-in vir back-toets handel strategieë in Microsoft Excel. Dit stel jou in staat om te toets en te evalueer die einde van die dag handel strategieë met behulp van historiese data. Gebruikers kan VBA (Visual Basic for Applications) gebruik om strategieë vir Terug Toets Excel te bou. Maar VBA kennis is opsioneel - bykomend tot die gebruik van VBA-gebou handel reëls, kan jy handel reëls op te rig op 'n sigblad gebruik te maak van standaard pre-gemaak back-toets kodes. back-toets Excel Besonderhede Terug Toets Excel ondersteun gevorderde funksies, soos pyramiding (verandering van posisie grootte tydens 'n oop handel), kort / lang posisie beperking, kommissie berekening, gelykheid dop, out-of-geld beheer, koop / verkoop opstel (jy kan handel op Vandag se of Tomorrow se oop, Maak, hoog of laag pryse). Sulke funksies in staat stel om te bou Terug Toets Excel skep insiggewend en baie gedetailleerde strategie toetsprestasie verslae. Elke verslag het sewe oortjies: Opsomming Verslag - die belangrikste back-toets resultate in 'n kompakte vorm datareeks Verslag - ambagte, vertoon gelykheid en wins / verlies dinamika in ter tafel gelê en voorraad formate Trades Verslag - ambagte gegroepeer deur posisies Trades (chronologiese) Verslag - ambagte in chronologiese volgorde seine Rapporteer - alle seine wat deur 'n strategie en hul resultate (einde verwerk of nie) instellings Verslag - al konfigurasie-instellings strategie kode Verslag - met rou strategie-kode. AutoFiltering Die Trades, Trades (chronologiese) en Seine verslae het 'n AutoFiltering opsie wat, wanneer geïmplementeer word, kan meer verfynde verslae produseer. Filter is 'n vinnige en maklike manier om uit te vind en werk met 'n subset van data in 'n lys. 'N gefilterde lys vertoon slegs die rye wat aan die kriteria wat jy spesifiseer vir 'n kolom. In teenstelling met sortering, beteken filter nie 'n lys te herrangskik. In plaas daarvan, is dit tydelik verberg rye jy nie wil vertoon. Wanneer jy Auto aktiveer, pyle verskyn aan die regterkant van die kolom etikette in die gefilterde lys. Auto gebruik kan word, byvoorbeeld, om net kort ambagte, winsgewende bedrywe te vertoon, of ambagte met uitgevoer na 'n paar bepaalde datum, of net diegene seine wat gelei het tot ambagte. Kenmerke Opsomming: Eenvoudige strategie skepping Strategie-kode ontwikkel kan word met behulp van Excel of VBE (Visual Basic Environment) 7-bladsy insiggewend en gedetailleerde strategie toets prestasieverslag Equity dop (aanvanklike kapitaal en kommissies) Afsonderlike lang en kort posisie beperkings Pyramiding steun aan 'n handel backtest strategie, Terug toets Excel iterate deur al rye historiese data, die uitvoering van strategie-kode vir elke ry van data. Strategie-kode bestaan ​​uit die basiese boustene: Skep Sell sein Day is 'n dag verwysing na vorige dae in hierdie formaat: Vandag - N. Byvoorbeeld, CL (Vandag - 1) sal terugkeer Gister se Sluiting prys, CL (Vandag) of CL sal terugkeer Vandag se Sluiting prys. UpperCell is 'n boonste sel (die sel met 'n etiket) in die kolom van waardes wat jy wil gebruik in jou strategie-kode. Byvoorbeeld, RNG (sel. NumberOfShares is die aantal aandele te koop of te verkoop. SpecialOrder is die opdrag om te koop / verkoop teen spesiale prys, anders as standaard. Byvoorbeeld, Koop (100, sal) opdrag 'n bevel om te koop uit te voer 100 aandele (kontrakte) by die opening prys back-toets Beginsels Daar is twee maniere om strategieë te skep.. Trading reëls geprogrammeer in 'n sigblad op hierdie manier is meer tydrowend, maar vereis nie enige spesiale kennis nodig - net basiese kennis van Microsoft .. Excel Trading reëls geprogrammeer met behulp van VBA (Visual Basic for Applications) en gestoor in 'n spesiale module van 'n werkboek op hierdie manier is minder tydrowend, maar vereis basiese kennis van VBA Hier is 'n voorbeeld van 'n verhandeling reël:. verkoop indien Vandag s Oop groter as vandag se Close, anders koop Ons kan hierdie reël op twee maniere te besef:.. 1. Program die handel reël met behulp van 'n sigblad Soos jy kan sien, die reël aS (B2) is geleë in elke sel en produseer koop / verkoop seine. Terug toets Excel-kode gegenereer vir hierdie strategie kan weer gebruik word om te produseer koop / seine te verkoop in ander sigblaaie. 2. Program die handel reël met behulp van VBA. Daar is geen reëls in die sigblad, net historiese data. Trading reëls geskryf met behulp van VBA en gestoor in 'n spesiale module back-toets Excel is net verkoop as deel van Trader Excel pakket Besoek Ontwikkelaars webwerf vir meer hou hiervan Multi-Asset backtest. Rotasie handel strategieë ek wil die implementering van rotasie handel strategieë te bespreek met behulp van die back testing biblioteek in die Sistematiese Beleggers Gereedskap. Die rotasie Trading strategie skakel belegging toekennings in die hele tyd, weddenskappe op paar top posisie bates. Byvoorbeeld, kan die posisie gebaseer op relatiewe sterkte of momentum. 'N Paar voorbeelde van die Rotasie handel strategieë (of taktiese Batetoewysing) is: Ek wil die Rotasie Trading illustreer met behulp van die strategie ingestel op ETF skerm in die ETF Sektor Strategie post. Elke maand, hierdie strategie belê in die top twee van die 21 ETF's gesorteer volgens hul 6 maande opbrengste. Om die omset, in die daaropvolgende maande die ETF posisies so lank as wat hierdie ETF is in die top 6 rang gehou verminder. Voordat ons hierdie strategie kan implementeer, moet ons twee helper roetines te skep. Eerstens, laat se 'n funksie wat die top N posisies vir elke periode sal kies skep: Volgende, laat se 'n funksie wat die top N posisies vir elke periode sal kies en bewaar dit, totdat hulle vervolg hieronder KeepN rang te skep: Nou is ons gereed om uitvoering van hierdie strategie met behulp van die back testing biblioteek in die Sistematiese Beleggers Gereedskap: Daar is baie maniere om hierdie strategie te verbeter. Hier is 'n voorbeeld lys van addisionele maniere om te oorweeg: Dink aan 'n verskeidenheid van posisie metodes. Maw 1/2/3/6/12 maand opbrengste en hul kombinasies, risiko-aangepaste posisie. Om onttrekkings beheer en verhoog prestasie oorweeg die tydsberekening meganisme soos aangebied in 'n kwantitatiewe benadering tot taktiese Batetoewysing deur M. Faber (2006). Oorweeg 'n ander bate heelal. Sluit ETF wat minder gekorreleer met die ander bates is, soos kommoditeite, vaste inkomste, en Internasionale aandelemarkte. Byvoorbeeld, 'n blik op die enkele land Internasionale Strategie post. Die enigste grens is jou verbeelding. Ek sou ook aanbeveel om sensitiwiteitsontleding doen tydens jou strategie-ontwikkeling om seker te maak jou nie overfitting die data. Om die volledige bronkode vir hierdie voorbeeld sien, asseblief 'n blik op die bt. rotational. trading. test () funksie in bt. test. r op GitHub. Mis nooit 'n update Skryf R-bloggers om e-posse te ontvang met die nuutste R poste. (Jy sal hierdie boodskap nie weer sien nie.)


No comments:

Post a Comment