Suksesvolle back testing van Algorithmic handel strategieë - Deel II Deur Michael Saal-Moore op 9 Mei 2013 In die eerste artikel oor suksesvolle back testing bespreek ons statistiese en gedragsprobleme vooroordele wat ons backtest prestasie beïnvloed. Ons het ook gepraat oor sagteware pakkette vir back testing, insluitend Excel, MATLAB, Python, R en C ++. In hierdie artikel sal ons kyk na hoe om transaksiekoste, asook sekere besluite wat gemaak moet word wanneer die skep van 'n backtest enjin, soos tipes orde en frekwensie van data op te neem. transaksiekoste Een van die mees algemene beginner foute wanneer die uitvoering van handel modelle is om verwaarlosing (of erg onderskat) die gevolge van transaksiekoste op 'n strategie. Hoewel dit dikwels word aanvaar dat transaksie kos net weerspieël makelaar kommissies, is daar in werklikheid baie ander maniere waarop koste kan erken op 'n handel model. Die drie hooftipes koste wat oorweeg moet word, sluit in: Kommissies / fooie Die mees direkte vorm van transaksiekoste aangegaan deur 'n algoritmiese handel strategie is kommissies en fooie. Alle strategieë vereis een of ander vorm van toegang tot 'n ruil. hetsy direk of deur 'n makelaar tussenganger ( "die makelaar"). Hierdie dienste aangaan 'n inkrementele koste met elke handel, bekend as kommissie. Makelaars bied oor die algemeen baie dienste, hoewel kwantitatiewe algoritmes eintlik net gebruik van die uitruil infrastruktuur maak. Vandaar makelaars kommissies is dikwels klein op per handel basis. Makelaars ook fooie. wat die koste wat aangegaan is om skoon te maak en op te los ambagte is. In aansluiting by hierdie is belasting wat deur plaaslike of nasionale regerings. Byvoorbeeld, in die Verenigde Koninkryk is daar 'n stempel plig om te betaal op aandele transaksies. Sedert kommissies, fooie en belasting in die algemeen is vasgestel, hulle is relatief maklik om te implementeer in 'n backtest enjin (sien onder). Glip / Latentie Glip is die verskil in prys bereik tussen die tyd wanneer 'n handel stelsel besluit om transaksies en die tyd wanneer 'n transaksie eintlik uit by 'n ruil gedra. Glip 'n aansienlike deel van transaksiekoste en kan die verskil tussen 'n baie winsgewende strategie en een wat swak presteer maak. Glip is 'n funksie van die onderliggende bate wisselvalligheid, die latency tussen die handel stelsel en die uitruil en die tipe strategie uitgevoer word. 'N instrument met 'n hoër wisselvalligheid is meer geneig om te wees beweeg en so pryse tussen sein en uitvoering kan aansienlik verskil. Latency word gedefinieer as die tyd verskil tussen sein generasie en punt van die uitvoering. Hoër frekwensie strategieë is meer sensitief vir latency kwessies en verbeterings van millisekondes op hierdie latency kan al die verskil in die rigting winsgewendheid te maak. Die tipe strategie is ook belangrik. Momentum stelsels ly meer uit glip gemiddeld omdat hulle probeer om instrumente wat reeds beweeg in die vooruitsig rigting te koop. Die teenoorgestelde is waar vir-gemiddelde terugkeer strategieë soos hierdie strategieë beweeg in 'n rigting teen die handel. Mark Impact / Likiditeit Market impak is die koste wat aangegaan is om handelaars te danke aan die dinamika vraag / aanbod van die uitruil (en bate) waardeur hulle probeer om handel. 'N Groot orde op 'n relatief illikiede bates is geneig om die mark aansienlik te beweeg as die handel moet toegang tot 'n groot komponent van die huidige aanbod. Om dit teen te word groot blok ambagte afgebreek in kleiner "krummels" wat van tyd tot tyd verrig, soos en wanneer nuwe likiditeit arriveer by die ruil. Op die teenoorgestelde kant, vir hoogs likiede instrumente soos die S & P500 E-Mini-indeks termynkontrak, lae volume ambagte is onwaarskynlik dat die "huidige prys" in enige groot bedrag aan te pas. Meer illikiede bates word gekenmerk deur 'n groter verspreiding. wat is die verskil tussen die huidige bod en pryse te vra oor die limiet bestelboek. Dit verspreiding is 'n bykomende transaksie koste wat verband hou met enige handel. Smeer 'n baie belangrike komponent van die totale transaksie koste - soos blyk uit die talle Britse verspreiding-verbintenis firmas wie se advertensieveldtogte te druk die "digtheid" van hul versprei vir swaar verhandel instrumente. Transaksie koste modelle Ten einde suksesvol te modelleer die bogenoemde koste in 'n back testing stelsel, het verskillende grade van komplekse transaksie modelle bekend gestel. Hulle wissel van eenvoudige plat modellering deur 'n nie-lineêre kwadratiese benadering. Hier sal ons uiteensetting van die voor - en nadele van elke model: Plat / Vaste transaksie koste modelle Plat transaksiekoste is die eenvoudigste vorm van transaksie koste modelle. Hulle neem 'n vaste koste wat verband hou met elke handel. So het hulle die beste verteenwoordig die konsep van 'n beurs kommissies en fooie. Hulle is nie baie akkuraat vir die modellering van meer komplekse gedrag soos glip of impak mark. Trouens, hulle het nie oorweeg bate wisselvalligheid of likiditeit glad. Hul grootste voordeel is dat hulle bestryk maklik om te implementeer. Maar is hulle geneig om beduidend onder of oor skatting transaksiekoste, afhangende van die strategie in diens. So word hulle selde in die praktyk gebruik. Lineêre / stuksgewys lineêre / Kwadratiese transaksie koste modelle Meer gevorderde transaksie koste modelle begin met lineêre modelle, voort te gaan met stuksgewys-lineêre modelle en sluit af met kwadratiese modelle. Hulle lê op 'n spektrum van klein en mees akkurate, al is dit met minste tot die meeste implementering moeite. Sedert glip en impak mark is inherent nie-lineêre verskynsel kwadratiese funksies is die mees akkurate by modellering hierdie dinamika. Kwadratiese transaksie koste modelle is baie moeiliker om te implementeer en veel langer kan neem om te bereken as vir eenvoudiger plat of lineêre modelle, maar hulle word dikwels gebruik in die praktyk. Algoritmiese handelaars probeer ook om gebruik te maak van werklike historiese transaksie kos vir hul strategieë as insette tot hul huidige transaksie modelle om hulle meer akkuraat te maak. Dit is moeilike besigheid en dikwels paaie op die ingewikkelde gebiede van modellering wisselvalligheid, glip en impak mark. Maar, as die handel strategie is transaksies groot volumes oor kort tydperke, dan akkurate skattings van die aangegaan transaksiekoste kan 'n beduidende uitwerking op die strategie bottom-line het en daarom is dit die moeite werd om te belê in die ondersoek van hierdie modelle. Strategie backtest Implementering Kwessies Terwyl transaksiekoste is 'n baie belangrike aspek van suksesvolle back testing implementering, daar is baie ander kwessies wat strategie prestasie kan beïnvloed. Handel Bestel Tipes Een keuse wat 'n algoritmiese handelaar moet maak, is hoe en wanneer om gebruik te maak van die verskillende ruil bestellings beskikbaar te stel. Hierdie keuse val gewoonlik in die koninkryk van die uitvoering stelsel. maar ons sal dit hier oorweeg as dit grootliks beïnvloed strategie backtest prestasie. Daar is twee tipes van orde wat uitgevoer kan word: die mark bestellings en perk bestellings. 'N Mark orde voer 'n handelsmerk onmiddellik, ongeag beskikbaar pryse. So groot ambagte uitgevoer as die mark bestellings sal dikwels 'n mengsel van pryse as elke daaropvolgende limiet orde op die opponerende span is vol. bestellings mark word beskou as aggressiewe bestellings omdat hulle byna seker sal gevul word, al is dit met 'n potensieel onbekende koste. Limiet bestellings 'n meganisme vir die strategie om die ergste prys waarteen die transaksie sal kry uitgevoer word, met die voorbehoud dat die handel nie gedeeltelik of ten volle kan vervul raak te bepaal. Limiet bestellings word beskou as passiewe bestellings aangesien hulle dikwels onvoltooide, maar wanneer hulle 'n prys gewaarborg. versameling van limiet bestellings n individu ruil se staan bekend as die limiet bestelboek. wat in wese 'n tou van koop en verkoop bestellings by sekere groottes en pryse. Wanneer back testing, is dit noodsaaklik om die gevolge van die gebruik van die mark of limiet bestellings korrek te modelleer. Vir 'n hoë-frekwensie strategieë in die besonder, kan backtests aansienlik oortref lewende handel as die gevolge van die impak mark en die beperking bestelboek nie akkuraat gemodelleer. OHLC Data eienaardighede Daar is bepaalde kwessies wat verband hou met back testing strategieë wanneer gebruik te maak van die daaglikse data in die vorm van Open-hoog-laag-Close (OHLC) figure, veral vir aandele. Let daarop dat dit juis die vorm van data deur Yahoo Finansies, wat is 'n baie algemene bron van data vir kleinhandel algoritmiese handelaars gegee uit! Goedkoop of gratis datastelle, terwyl hy aan oorlewing vooroordeel (wat ons reeds in Deel I bespreek), is ook dikwels saamgestelde prys feeds van verskeie ruil. Dit beteken dat die uiterste punte (dit wil sê die oop, naby, hoog en laag) van die data is baie vatbaar vir "afgeleë" waardes as gevolg van klein bestellings by plaaslike ruil. Verdere, hierdie waardes is ook soms meer geneig om te merk-foute wat nog nie uit die datastel verwyder. Dit beteken dat as jou handel strategie maak uitgebreide gebruik van enige van die OHLC punte spesifiek, kan backtest prestasie verskil van live performance as bestellings kan aangestuur na verskillende ruil afhangende van jou makelaar en jou beskikbaar toegang tot likiditeit. Die enigste manier om hierdie probleme op te los, is om die gebruik van 'n hoër frekwensie data te maak of data direk verkry vanaf 'n individu ruil self, eerder as om 'n goedkoper saamgestelde voer. In die volgende paar artikels sal ons kyk na prestasiemeting van die backtest, sowel as 'n ware voorbeeld van 'n back testing algoritme, met baie van die opsies effekte ingesluit. Michael Saal-Moore Mike is die stigter van QuantStart en is betrokke by die kwantitatiewe finansiële sektor vir die afgelope vyf jaar, in die eerste plek as 'n quant ontwikkelaar en later as 'n quant handelaar konsultasie vir verskansingsfondse.
No comments:
Post a Comment