Saturday, October 15, 2016

Back Testing Handel Strategieë In Matlab

Werkswinkels Dr. Chan bied tans die aanlyn-kursus gedoen in real-time deur Adobe Connect. Hierdie werkswinkel stel die gebruik van kunsmatige intelligensie tegnieke vir die identifisering van nuttige voorspellende veranderlikes en handel reëls vir opbrengste voorspelling. Dit maak uitgebreide gebruik van Matlab se Statistiek en masjien Leer Gereedskap asook die neurale netwerk Gereedskap. Gratis MATLAB verhoor lisensies sal gereël word vir 'n uitgebreide in-klasoefeninge. Geen vorige kennis van MATLAB is nodig as 'n pre-aangeteken handleiding oor programmering in MATLAB sal ingesluit word, maar 'n paar ervaring met programmering is nodig. Maksimum aantal deelnemers: 12. Totaal ure: 6. Fooi: 900. datums en tye: 16 Julie 23. Saterdae. 8: 00-11: 00 am EDT. Registrasie: Ernest epchan. Kursusraamwerk is beskikbaar vir aflaai hier. Die pre-aangeteken aanlyn kursus is nou beskikbaar. Dit bestaan ​​uit opgeneemde Adobe Connect sessies. Die fokus is op die ontdekking en die voorkoms van verskeie slaggate gedurende die back testing proses wat prestasie vooruitskatting kan verneder. Illustratiewe oefeninge kom uit 'n termynkontrak strategie en 'n voorraad portefeulje handel strategie met behulp van Matlab. Gratis MATLAB verhoor lisensies sal gereël word vir 'n uitgebreide in-klasoefeninge. Geen vorige kennis van MATLAB is nodig, maar 'n paar ervaring met programmering is nodig. Die wiskunde vereiste is basiese statistiek kollege-vlak. Totaal ure: 7 ure aangeteken sessie. Fooi: 500. Registrasie: Ernest epchan. Kursusraamwerk is beskikbaar vir aflaai hier. Ernie doen ook 3 verskillende praktiese in-persoon werkswinkels in Londen: Momentum strategieë. Statistiese Arbitrage. en Kunsmatige Intelligensie vir handelaars. Die statistiese arbitrage kursus is hoofsaaklik oor gemiddelde-terugkeer strategieë. Hierdie werkswinkels is georganiseer deur die Tegniese Ontleder tydskrif en kwalifiseer vir CFA Instituut krediete. Klik op die skakels hierbo om natuurlik buitelyne en registrasie besonderhede te sien. Lof vir ons werkswinkels: Andrew B. K. W. Fung, CQF, stigter van kwantitatiewe Investment Cedric Yau Anonymous studente-evaluering Kommentaar gesluit. Institusionele-klas data bestuur / back testing / strategie ontplooiing oplossing: - aandele, opsies, futures, geldeenhede, mandjies en persoonlike sintetiese instrumente word ondersteun - verskeie lae latency data feeds ondersteun (verwerking spoed in miljoene boodskappe per sekonde op terabyte van data) - C en based strategie back testing en optimalisering - verskeie makelaars uitvoering ondersteun, handel seine omskep in FIX bestellings QuantFACTORY - Institusionele-klas data bestuur / back testing / strategie ontplooiing oplossing: - QuantDEVELOPER - raamwerk en IDE vir handel strategieë ontwikkeling, ontfouting, back testing en optimalisering, beskikbaar as 'n Visual Studio plug-in - QuantDATACENTER - dit moontlik maak om 'n historiese datapakhuis te bestuur en te vang real-time of ultra lae data latency mark van verskaffers en handel - QuantENGINE - dit moontlik maak om te sit en uit te voer compileerde strategieë - multi-bate, multi - tydperk lae latency data, verskeie makelaars ondersteun Institusionele-klas data bestuur / back testing / strategie ontplooiing oplossing: - OpenQuant - C en Visual portefeulje vlak stelsel back testing en handel, multi-bate, intraday vlak toets, optimalisering, WfA ens verskeie makelaars en data voed ondersteun - QuantTrader - produksie handelsomgewing - QuantBase - gesentraliseerde data bestuur - QuantRouter - data en orde routing Institusionele-klas data bestuur / back testing / strategie ontplooiing oplossing: - multi-bate oplossing, verskeie data feeds ondersteun, databasis ondersteun enige tipe RDBMS die verskaffing van 'n JDBC koppelvlak, bv Oracle, Microsoft SQL Server, Sybase, MySQL ens - kan kliënte IO hul strategie te gebruik om script in óf Java, Ruby of Python, of hulle kan hul eie strategie IDE gebruik - verskeie makelaars uitvoering ondersteun, handel seine omskep in FIX bestellings Institutional - klas databestuur / back testing / strategie ontplooiing oplossing: - multi-bate oplossing (forex, opsies, futures, voorrade, ETF s, kommoditeite, sintetiese instrumente en persoonlike afgeleide versprei ens), voer verskeie data ondersteun - raamwerk vir handel strategieë ontwikkeling, ontfouting, back testing en optimalisering - verskeie makelaars uitvoering ondersteun, handel seine omskep in FIX bestellings (IB, JPMorgan, FXCM ens) Toegewyde sagteware platform geïntegreer met TradeStation se data vir back testing en motor-beurs: - daaglikse intraday data (Amerikaanse voorrade vir 43 jaar, termynkontrakte vir 61 jaar) - prakties vir back testing prys gebaseer seine (tegniese ontleding), ondersteuning vir EasyLanguage programmeertaal - ondersteun Amerikaanse aandele ETF, termynkontrakte, Amerikaanse indekse, Duitse voorrade, Duits indekse, forex - gratis vir TradeStation makelaars kliënte - 249,95 maandeliks vir nie-professionele mense (net TradeStation sagteware platform, sonder makelaars) - 299,95 maandeliks vir professionele mense (net TradeStation sagteware platform, sonder makelaars) Toegewyde sagteware platform vir back testing en motor-beurs: - daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering , kartering, visualisering, persoonlike verslagdoening, multi-threaded ontleding, 3D kartering, WfA ontleding ens - die beste vir back testing prys gebaseer seine (tegniese ontleding) - direkte skakel na eSignal, Interaktiewe Brokers, IQFeed, myTrack, Fast Track, QP2, TC2000, enige DDE voldoen voer, MS, txtfiles en meer (Yahoo Finansies. ) - N eenmalige fooi 279 vir Standard uitgawe of 339 vir Professionele uitgawe Toegewyde sagteware platform vir back testing en motor-beurs: - portefeulje vlak stelsel back testing en handel, multi-bate, intraday vlak toets, optimalisering, visualisering ens - laat R integrasie, Auto-beurs in Perl script taal met al onderliggende funksies geskryf in inheemse C, wat voorberei is vir die bediener mede-plek - moedertaal FXCM en Interaktiewe Brokers ondersteuning - gratis FXCM ondersteuning, 100 per maand vir IB platform, kontak verkope seertrading vir ander opsies Toegewyde sagteware platform vir back testing en motor-beurs: - daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering - die beste vir back testing prys gebaseer seine (tegniese ontleding), C script - sagteware uitbreidings ondersteun - data feeds hantering, strategie uitvoering ens - 799 per lisensie , 150 jaarliks ​​fooi nadat Toegewyde sagteware platform vir back testing, optimalisering, prestasie toeskrywing en analytics: - Axioma of 3de party data - faktorontleding, risiko modellering, marksiklus ontleding Toegewyde sagteware platform vir back testing en motor-beurs: - die beste vir back testing prys gebaseer seine (tegniese ontleding), daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering - skilpad Edition - back testing enjin, grafieke, verslae, EOD toets - Professional Edition - plus stelsel redakteur, loop vorentoe ontleding, intraday strategieë, multi-threaded toets ens . - Pro plus Edition - plus 3D oppervlak kaarte, script ens - Bouwer Edition - IB API, debugger ens - skilpad Edition 990 - Professional Edition 1990 - Pro plus Edition 2990 - Bouwer Edition 3990 Toegewyde sagteware platform vir back testing en motor-handel : - daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering, kartering, visualisering, persoonlike verslagdoening ens - die beste vir back testing prys gebaseer seine (tegniese ontleding) - direkte skakel na Interaktiewe Brokers, MB Trading, TD Ameritrade, FXCM en ander - data van teks lêers, eSignal, Google Finansies, Yahoo Finansies, IQFeed en ander - basiese funksies (EOD funksies) - gratis - gevorderde funksies - huurkontrak van 50 / maand of 995 leeftyd lisensie Toegewyde sagteware platform vir back testing en motor-beurs: - beste vir back testing prys gebaseer seine (tegniese ontleding), daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering, kartering, visualisering, persoonlike verslagdoening - ondersteun C en Visual Basic - direkte skakel na Interaktiewe Brokers, IQFeed, txtfiles en meer (Yahoo Finansies. ) - Permanente lisensie - 499 - huurkontrak 50 per maand Toegewyde sagteware platform vir back testing en motor-beurs: - daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering, kartering, visualisering, persoonlike verslagdoening - tegniese en ook fundamentele seine, multi-bate ondersteuning - 245 vir gevorderde weergawe (gratis dataverskaffers) - 595 vir premium-weergawe (ondersteuning veelvuldige data verskaffers en makelaars) Toegewyde sagteware platform vir back testing en motor-beurs: - daaglikse ondersteun / intraday strategieë, portefeulje vlak toets en optimalisering - die beste vir back testing prys gebaseer seine (tegniese ontleding) - bou-in data vir aandele, termynkontrakte en forex (daaglikse Amerikaanse aandele van 1990, daaglikse termynmark 31 jaar, forex vanaf 1983 ens) - pryse van 45 / maand tot 295 / maand (prys hang af van data beskikbaarheid) Toegewyde sagteware platform vir back testing en motor-beurs: - gebruik MQL4 taal, hoofsaaklik gebruik om forex mark handel te dryf - ondersteun deur verskeie forex makelaars en data feeds - ondersteun die bestuur van verskeie rekeninge Toegewyde sagteware platform vir back testing en motor-beurs: - ondersteun daaglikse / intraday strategieë, portefeulje vlak toets en optimalisering - die beste vir back testing prys gebaseer seine (tegniese ontleding), ondersteuning vir EasyLanguage programmeertaal - ondersteun verskeie data bronne (Bloomberg, Thomson Reuters, CSI, CQG, eSignal ens), direkte ondersteuning vir verskeie makelaars (Interaktiewe Brokers ens) - Multicharts 797 per jaar - Multicharts leeftyd 1497 - Multicharts Pro 9900 (Bloomberg Thomson Reuters data voer ens) Web-gebaseerde back testing hulpmiddel om te toets voorraad pluk strategieë: - Amerikaanse voorrade ETF (daagliks) - punt - in-time fundamentele data sedert 1999 - lank / kort strategieë, pryse / grondbeginsels gedryf seine - Designer - 139 / maand - Bestuurder - 199 / maand - volledige funksionaliteit Web-gebaseerde back testing instrument om voorraad pluk strategieë te toets: - Amerikaanse aandele (daagliks) - punt-in-time fundamentele data sedert 1988 - pryse / grondbeginsels gedryf seine - Strategist - 995 / jaar (data sedert 2000, 10 gered portefeuljes) - Bestuurder - 1995 / jaar - (volledige funksies, data sedert 1988, 50 gered portefeuljes) Web gebaseer back testing instrument: - Amerikaanse aandele pryse (daagliks / intraday), sedert 1998, data van QuantQuote - forex data van FXCM - ondersteun Trader Interaktiewe Brokers vir live handel Web-gebaseerde back testing instrument: - Amerikaanse voorrade en ETF pryse (daagliks / intraday), sedert 2002 - fundamentele data van Morningstar (meer as 600 metrieke) - ondersteun Interaktiewe Brokers vir live handel Web-gebaseerde back testing gereedskap: - maklik om te gebruik, batetoewysing strategieë, data sedert 1992 - tydreekse momentum en bewegende gemiddelde strategieë op ETF - eenvoudige momentum en eenvoudige Waarde voorraad-pluk strategieë Web-gebaseerde back testing instrument: - tot 25 jaar data vir 49 Futures en S P500 aandele - toolbox in Python en Matlab - Quantiacs gasheer algoritmiese handel kompetisies met beleggings wissel van 500k tot 1 miljoen Web-gebaseerde back testing hulpmiddel om te toets gelykheid faktor pluk en batetoewysing strategieë: - verskeie aandele faktore met bewese alfa oor mark-cap maatstawwe, verskeie belegging heelal, risikobestuur filters - batetoewysing strategieë backtests, meng batetoewysing en faktor pluk in 'n portefeulje - gratis op SP 100 heelal - 50 / maand of 480 / jaar - breër Amerikaanse beleggingsbank heelalle, die Verenigde Koninkryk EU voorrade, batetoewysing strategieë MATLAB - hoëvlaktaal en interaktiewe omgewing vir statistiese rekenaar - en grafiese: - parallel en GPU rekenaar, back testing en optimalisering, uitgebreide moontlikhede van integrasie ens . - prys op aanvraag by hier Gratis sagteware omgewing vir statistiese rekenaar - en grafiese, 'n baie kwantitatiewe verkies om dit te gebruik vir sy uitsonderlike oop argitektuur en buigsaamheid: - effektiewe data hantering en stoor fasiliteit, grafiese fasiliteite vir data-ontleding, maklik uitgebrei via pakkette - aanbeveel uitbreidings - quantstrat, Rmetrics, quantmod, quantlib, PerformanceAnalytics, TTR, portefeulje, portfolioSim, backtest, ens Gratis open source programmeertaal, oop argitektuur, buigbare, maklik uitgebrei via pakkette: - aanbeveel uitbreidings - pandas (Python Data-analise Biblioteek ), pyalgotrade (Python Algorithmic Trading Biblioteek), Zipline, ultrafinance ens BacktestingXL Pro is 'n add-in vir die bou en toets jou handel strategieë in Microsoft Excel 2010 en 2013: - gebruikers kan VBA gebruik om strategieë vir BacktestingXL Pro, VBA kennis te bou is opsioneel, gebruikers kan handel reëls op te rig op 'n sigblad gebruik te maak van standaard pre-gemaak back testing kodes - ondersteun pyramiding, kort / lang posisie beperking, kommissie berekening, gelykheid dop, out-of-geld beheer, koop / verkoop opstel - verskeie prestasie / risiko verslae - 74.95 vir BacktestingXL Pro web-gebaseerde back testing instrument: - maklik om te gebruik, intreevlak-web-gebaseerde back testing instrument om relatiewe sterkte en bewegende gemiddelde strategieë op ETF toets - 'n paar tipes strategieë vir gratis, volledige back testing funksionaliteit 34,99 maandelikse FactorWave is maklik om te web-gebaseerde back testing hulpmiddel vir faktor belê gebruik: - kan die gebruiker verskeie ETF / opsies / Futures / ekwiteit faktore met bewese alfa oor mark-cap maatstawwe meng - gratis - ETF / Stock screener met 5 faktore - 149 / mo - gratis opsie opsies screener, futures strategieë, VIX strategieë-web-gebaseerde instrument - gratis Stock Ratings, Seisoene Ontleding, kaarte Fundamentals - gratis freemium model gratis web-gebaseerde back testing instrument om voorraad pluk strategieë te toets: - Amerikaanse voorrade, data van ValueLine uit sedert 1986 2014 - prys en fundamentele data, 1700 aandele, maandelikse korrelig toets navorsing back testing omgewings in Python met pandas Deur Michael Saal-Moore op 16 Januarie 2014 back testing is die navorsingsproses van toepassing van 'n handel strategie idee om historiese data ten einde prestasie in die verlede vas te stel . In die besonder, 'n backtester maak geen waarborg oor die toekomstige prestasie van die strategie. Hulle is egter 'n noodsaaklike komponent van die strategie pyplyn navorsingsproses, sodat strategieë uit te gefiltreer voordat dit in produksie geplaas word. In hierdie artikel (en diegene wat dit volg) 'n basiese objekgeoriënteerde back testing stelsel geskryf in Python sal uiteengesit. Hierdie vroeë stelsel sal in die eerste plek 'n hulpmiddel, wat gebruik word om die verskillende komponente van 'n back testing stelsel te demonstreer. Soos ons vorder deur middel van die artikels, sal meer gesofistikeerde funksies word bygevoeg. Back testing Oorsig Die proses van die ontwerp van 'n robuuste back testing stelsel is baie moeilik. Effektief simuleer al die komponente wat die prestasie van 'n algoritmiese handel stelsel raak is 'n uitdaging. Swak data korrelig, ondeursigtigheid van orde routing by 'n makelaar, sodat latency en 'n magdom van ander faktore saamspan om die ware prestasie van 'n strategie teenoor die backtested prestasie te verander. Wanneer die ontwikkeling van 'n back testing stelsel is dit aanloklik om te wil voortdurend herskryf dit van nuuts af namate meer faktore gevind deurslaggewend in die beoordeling van prestasie te wees. Geen back testing stelsel is ooit klaar en 'n oordeel moet by 'n punt gemaak tydens die ontwikkeling wat genoeg faktore is gevang deur die stelsel. Met hierdie bekommernisse in gedagte die backtester in hier sal ietwat simplisties wees. Soos ons verder kwessies (portefeulje optimalisering, risikobestuur, transaksie koste hantering) verken sal die backtester meer robuuste geword. Tipes back testing Systems Daar is oor die algemeen twee tipes back testing stelsel wat van belang sal wees. Die eerste is navorsingsgebaseerde. wat hoofsaaklik gebruik word in die vroeë stadiums, waar baie strategieë sal getoets word ten einde diegene vir meer ernstige aanslag kies. Hierdie navorsing back testing stelsels word dikwels geskryf in Python, R of MATLAB as spoed van ontwikkeling is belangriker as spoed van uitvoering in hierdie fase. Die tweede tipe back testing stelsel is-gebeurtenis gebaseer. Dit is, dit voer die back testing proses in 'n uitvoering lus soortgelyke (indien nie identies) aan die handel uitvoering stelsel self. Dit sal realisties model mark data en die einde uitvoering proses ten einde 'n meer wettisch assessering van 'n strategie te voorsien. Laasgenoemde is dikwels geskryf in 'n hoë-prestasie taal soos C of Java, waar spoed van uitvoering is noodsaaklik. Vir laer frekwensie strategieë (hoewel dit steeds intraday), Python is meer as voldoende om gebruik te word in hierdie konteks. Objekgeoriënteerde Navorsing Backtester in Python Die ontwerp en implementering van 'n objek-georiënteerde navorsing-gebaseerde back testing omgewing sal nou bespreek word. Voorwerp geaardheid is gekies as die sagteware ontwerp paradigma vir die volgende redes: Die poorte van elke komponent kan vooraf gespesifiseer, terwyl die internals van elke komponent kan verander (of vervang) soos die projek vorder deur die spesifiseer van die poorte by voorbaat dit moontlik om effektief te toets hoe elke komponent optree (via eenheid toets) Wanneer die uitbreiding van die stelsel nuwe komponente kan gebou word op of bykomend tot ander, hetsy deur erfenis of samestelling op hierdie stadium die backtester is ontwerp vir die gemak van implementering en 'n redelike mate van buigsaamheid , ten koste van die ware akkuraatheid mark. In die besonder, sal hierdie backtester slegs in staat wees om strategieë te tree op 'n enkele instrument hanteer. Later die backtester sal aangepas word om stelle instrumente te hanteer. Vir die eerste backtester, is die volgende komponente wat nodig is: Strategie - 'n strategie klas ontvang 'n Pandas DataFrame van bars. maw 'n lys van Open-hoog-laag-Close-Deel (OHLCV) datapunte op 'n spesifieke frekwensie. Die strategie sal 'n lys van seine te produseer. wat bestaan ​​uit 'n tyd stempel en 'n element van die versameling dui op 'n lang, hou of kort sein onderskeidelik. Portefeulje - Die meerderheid van die back testing werk sal plaasvind in die portefeulje klas. Dit sal 'n stel van seine te ontvang (soos hierbo beskryf) en die skep van 'n reeks van poste, teen 'n kontant komponent toegeken. Die taak van die Portefeuljekomitee doel is om 'n aandele kurwe te produseer. inkorporeer basiese transaksiekoste en hou van ambagte. Prestasie - Die prestasie voorwerp neem 'n portefeulje en produseer 'n stel van die statistieke oor sy prestasie. In die besonder sal dit uitset risiko / opbrengs eienskappe (Sharpe, Sortino en Inligting Verhoudings), handel / wins statistieke en drawdown inligting. Wat is Missing Soos gesien kan word van hierdie backtester geen verwysing na portefeulje / risikobestuur sluit, uitvoering hantering (dit wil sê geen beperking bestellings) en dit sal ook verskaf gesofistikeerde modellering van transaksiekoste. Dit isnt veel van 'n probleem op hierdie stadium. Dit stel ons in staat om kennis te verkry met die proses van die skep van 'n objek-georiënteerde backtester en die Pandas / Numpy biblioteke. Met verloop van tyd sal dit verbeter. Implementering Ons sal nou voortgaan om die implementering van elke voorwerp te skets. Strategie Die strategie voorwerp moet redelik generiese op hierdie stadium wees, aangesien dit sal wees hantering vooruitskatting, gemiddelde-terugkeer, momentum en wisselvalligheid strategieë. Die strategieë wat hier oorweeg sal altyd tydreekse gegrond, naamlik prys gedryf. 'N vroeë vereiste vir hierdie backtester is dat afgelei Strategie klasse 'n lys van bars (OHLCV) as toevoer, eerder as om bosluise (trade-vir-handel pryse) of orde-boek data sal aanvaar. So die beste korrelig hier beskou sal wees 1 sekonde bars. Die strategie klas sal ook produseer altyd sein aanbevelings. Dit beteken dat dit 'n Portefeulje geval sal adviseer in die sin van gaan lank / kort of hou 'n posisie. Hierdie buigsaamheid sal ons in staat stel om verskeie Strategie adviseurs wat 'n stel van seine, wat 'n meer gevorderde Portefeulje klas kan aanvaar ten einde te bepaal die werklike posisies wat aangegaan is te skep. Die koppelvlak van die klasse sal afgedwing word deur gebruik te maak van 'n abstrakte basis klas metode. 'N Uittreksel basis klas is 'n voorwerp wat nie kan aangehaal en dus slegs afgelei klasse geskep kan word. Die Python-kode word hieronder gegee in 'n lêer met die naam backtest. py. Die klas strategie vereis dat enige subklas implementeer die genereer seine metode. Ten einde te verhoed dat die strategie klas van wat direk aangehaal (want dit is abstrakte) is dit nodig om die ABCMeta en abstractmethod voorwerpe gebruik van die ABC module. Ons stel 'n eienskap van die klas, genoem metaclass gelyk aan ABCMeta te wees en dan versier die genereer seine metode met die abstractmethod versierder. Terwyl die bogenoemde koppelvlak is eenvoudig sal dit meer ingewikkeld wanneer hierdie klas is geërf vir elke spesifieke tipe strategie. Uiteindelik is die doel van die klas Strategie in hierdie instelling is om 'n lys van 'n lang / kort / te hou seine vir elke instrument om 'n portefeulje te stuur verskaf. Portefeulje Die portefeulje klas is waar die meerderheid van die handel logika sal woon. Vir hierdie navorsing backtester die portefeulje is in beheer van die bepaling van posisie sizing, risiko-analise, transaksie koste bestuur en uitvoering hantering (dit wil sê die mark-tot-oop, mark-op-close bestellings). Op 'n later stadium sal hierdie take onderverdeel word in afsonderlike komponente. Op die oomblik sal hulle in gerol om 'n klas. Hierdie klas maak ruim gebruik van pandas en bied 'n goeie voorbeeld van waar die biblioteek 'n groot hoeveelheid van die tyd kan bespaar, veral met betrekking tot boiler data twis. As 'n eenkant, die belangrikste truuk met pandas en Numpy is om iterating vermy oor enige dataset met behulp van die vir d in. Sintaksis. Dit is omdat Numpy (wat pandas onderliggend) optimaliseert herhaling deur gevectoriseerd bedrywighede. So jy sal min (indien enige) direkte iterasies sien wanneer gebruik te maak van pandas. Die doel van die portefeulje klas is om uiteindelik te produseer 'n reeks van bedrywe en 'n aandele kurwe, wat sal ontleed word deur die prestasie klas. Ten einde dit te bereik, moet dit voorsien word met 'n lys van die saak aanbevelings van 'n strategie voorwerp. Later, sal dit 'n groep van Strategie voorwerpe wees. Die Portefeuljekomitee klas sal moet word vertel hoe kapitaal is ontplooi word vir 'n spesifieke stel van handel seine, hoe om transaksiekoste en watter vorme van bestellings sal aangewend word hanteer. Die strategie voorwerp wat op bars van data en dus aannames moet gemaak word ten opsigte van kwalifikasies wat by die uitvoering van 'n bevel pryse. Sedert die hoë / lae prys van 'n bar is onbekend a priori dit is slegs moontlik na die oop en toe pryse vir handel. In werklikheid is dit onmoontlik om te waarborg dat 'n bevel sal vervul word by een van hierdie besondere pryse by die gebruik van 'n mark orde, dus is dit op sy beste sal wees, is 'n benadering. Benewens aannames oor bestellings gevul, sal hierdie backtester alle konsepte van marge / makelaars beperkings ignoreer en sal aanvaar dat dit moontlik is om 'n lang en kort vrylik gaan in enige instrument sonder enige likiditeit beperkings. Dit is duidelik 'n baie onrealistiese aanname, maar is die een wat later kan ontspan. Die volgende lys gaan voort backtest. py: Op hierdie stadium is die strategie en portefeulje abstrakte basis klasse is ingestel. Ons is nou in 'n posisie om 'n paar konkrete afgelei implementering van hierdie klasse te genereer, ten einde 'n werk speelding strategie te produseer. Ons sal begin deur die opwekking van 'n subklas van strategie genoem RandomForecastStrategy. die uitsluitlike taak van wat om lukraak gekies lank / kort seine produseer Terwyl dit is duidelik 'n onsinnige handel strategie, sal dit ons behoeftes te dien deur aan te toon die objekgeoriënteerde back testing raamwerk. So sal ons 'n nuwe lêer met die naam ewekansige forecast. py begin. met die notering vir die ewekansige weervoorspeller soos volg: Nou dat ons 'n konkrete voorspelling stelsel, ons moet 'n implementering van 'n portefeulje voorwerp te skep. Hierdie voorwerp sal die meerderheid van die back testing kode omvat. Dit is ontwerp om twee afsonderlike DataFrames, waarvan die eerste is 'n posisies raam, wat gebruik word om die hoeveelheid van elke instrument gehou op enige gegewe bar stoor te skep. Die tweede, portefeulje. eintlik bevat die mark prys van al die maatskappye vir elke bar, sowel as 'n oorsig van die kontant, die aanvaarding van 'n aanvanklike kapitaal. Dit bied uiteindelik 'n aandele kurwe waarop strategie prestasie te evalueer. Die Portefeuljekomitee voorwerp, terwyl baie buigsaam in die koppelvlak, vereis spesifieke keuses wanneer oor hoe om transaksiekoste, mark bestellings ens hanteer In hierdie basiese voorbeeld Ek het van mening dat dit moontlik sal wees om 'n lang / kort gaan 'n instrument maklik met geen beperkings of marge, koop of verkoop direk aan die oop prys van die bar, nul transaksiekoste (omvattende glip, fooie en impak mark) en die hoeveelheid voorraad het gespesifiseer direk aan te koop vir elke handel. Hier is die voortsetting van die ewekansige forecast. py lys: Dit gee ons alles wat ons nodig het om 'n aandele kurwe gebaseer op so 'n stelsel te genereer. Die finale stap is om dit alles saam te bind met 'n hooffunksie: Die uitset van die program is soos volg. Vriendelike sal verskil van die uitset onder afhangende van die datum bereik wat jy kies en die ewekansige saad gebruik: In hierdie geval die strategie geld verloor, wat unsurprising gegee die stogastiese aard van die weervoorspeller Die volgende stappe is om 'n opvoering voorwerp wat 'n aanvaar skep portefeulje byvoorbeeld en verskaf 'n lys van prestasie statistieke waarop 'n besluit om die strategie uit te filtreer of nie baseer. Ons kan ook die verbetering van die Portefeuljekomitee voorwerp om 'n meer realistiese hantering van transaksiekoste (soos Interaktiewe Brokers kommissies en glip) het. Ons kan ook reguit sluit in 'n vooruitskatting enjin in 'n Strategie voorwerp, wat (hopelik) sal produseer beter resultate. In die volgende artikels sal ons hierdie konsepte verken in meer diepte. 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