Wednesday, October 12, 2016

Bewegende Gemiddelde Backtest

Eenvoudige bewegende gemiddeldes - Trading backtests Wat bewegende gemiddelde parameters is die beste Hierdie webwerf het 'n oseaan van bewegende gemiddelde backtests wat ek gedoen vir die DAX, SP500 en ook USD / EU (Forex). Hierdie toetse is gedoen met behulp van verskillende sein strategieë: eenvoudige / eksponensiële en crossover variante en verskillende indekse vir 'n tydperk van 1000 handel dae. In teenstelling met ander webwerwe, ek getoets alle bewegende gemiddelde dag-venster waardes 1-1000 dae, vir die cross-over strategieë ook in kombinasie Hierdie data is ook unqiue as ek probeer om realistiese toetse uit te voer, simuleer die koop / verkoop verspreiding en belasting vir 'n vergelyking met 'n verwysing (houvas koop) strategie. 'N vinnige reaksie venster-waarde lyk goed in teorie en met 'n eenvoudige toets. Maar die verspreiding, fooie en belasting sal al prestasie in praktiese toepassing te vernietig. Dit is waarom hierdie realistiese toetse is so waardevol. Ek hoop hierdie webwerf kan jou help met jou ambagte, geniet dit IntroOverview: Hierdie gratis opvoedkundige webwerf is bedoel om jou toelaat om gewilde tegniese handel strategieë as wetenskaplik as moontlik te vergelyk deur back testing. In die algemeen, is dit baie moeilik om konsekwent te klop die mark en jy moet skepties oor enigiets wat jy anders vertel nie. Hierdie webwerf laat jou toe om 'n paar algemene tegniese strategieë backtest om te sien hoe hulle teen die mark sou verrig en kan jy bedekking vir die aandele wat aan jou handel kriteria. Strategieë wat backtest Wel, natuurlik, waarborg nie sukses in die toekoms, maar kan 'n hoër waarskynlikheid van goed presteer het. Back testing kan jy ook die marktoestande waarin 'n sekere strategie goed sal presteer sien. Byvoorbeeld, as jy vol vertroue dat die mark sal reeks gebind vorentoe wees, kan jy uitvind watter strategieë uit te voer beste in hierdie tipe mark. Dit word gedoen deur back testing oor historiese tydraamwerke wat verskeidenheid gebind en sien was wat strategieë is die beste. Back testing help ook om jou te sien watter strategie parameters is mees omvattende oor verskillende tydperke. Byvoorbeeld, doen 'n 10 keerverlies klop 'n 5 keerverlies 9 historiese tydperke uit 10 So, back testing kan waardevolle handel insigte selfs al is dit nie kan waarborg dat die toekoms. 'N paar interessante dinge wat jy kan ontdek: Die kombinasie van aktiewe handel en Opdrachten kan jy uit te wis, selfs as jy 'n goeie persentasie wen ambagte regtig stywe sleep tot stilstand kan ernstig beseer jou lang termyn winsgewendheid en moenie drawdown soveel nie verminder as wat jy kan verwag Kies die voorraad wat jy wil jou tegniese strategie op backtest: strategieë wat jy gedink het sou goed wat konsekwent onderpresteer die mark aanwysings (enkelaandeel-back testing) wees. Begin Capital: hoeveelheid geld wat jy begin met Stoploss: punt waar jy wil uit 'n posisie beweeg teen jou te kry. 'N Gereelde stop beteken dat jy sal uit jou posisie te kry indien die voorraad val 'n stel persentasie hieronder waar jy dit gekoop het. Sleep stop: Kom ons sê jy 'n voorraad te koop teen 10 en sit in 'n 10 volgkeerverlies. As die voorraad val 10 sonder om ooit hoër gaan, sal jy verkoop teen 9. Maar as die voorraad styg tot 15 dan 10 tot 13.5, sal jy by 13.5 en slot te verkoop in 'n paar van die wins. Doel: verkoop wanneer jou voorraad bereik 'n sekere persentasie wins (Kan afskakel deur die kies van Moenie Gebruik teiken) Begin Datum / Einddatum: Kies die historiese datums waartussen jy die strategie te toets. Seine: seine behels die kruisings of verhoudings tussen prys en tegniese aanwysers. Byvoorbeeld, die goue kruis, te koop wanneer die 50 dae eenvoudige bewegende gemiddelde (SMA) kruisies bo die 200 dag SMA en verkoop wanneer die 50 dag kruisies onder die 200 dae (die dood kruis). Die volgende skakels verduidelik 'n paar gewilde tegniese aanwysers: Kry Trades / Grafiek: Kry ambagte sal letterlik wys jou die ambagte sal julle gesluit het, as jy terug in die tyd met 'n opsomming van prestasie het ingesluit. Die statistiese toetse: Toets om te sien of die gemiddelde daaglikse opbrengs van die strategie is dieselfde as die gemiddelde daaglikse opbrengs van die SampP 500 of dieselfde as die gemiddelde daaglikse opbrengs van koop en hou oor die tydperk. Ons wil weet hoe vol vertroue dat ons kan wees om te verwerp wat die twee opbrengste is dieselfde. Hoe hoër die vertroue van die meer seker jy kan wees dat jou strategie is eintlik beter / swakker as die SampP 500 of koop en te hou. Die grafiek plotte die waarde van die portefeulje met verloop van tyd met 'n ingeslote opsomming van die prestasie. Rigtings (PortTester Beta): Dit is vir back testing 'n strategie wat jy sal toepas om jou portefeulje as aandele bereik jou tegniese koop en verkoop seine. In die eerste teksboks tik die filmpjes vir die mandjie aandele wat jy wil jou tegniese strategie backtest op. Gee elke ENKELE 'n spasie geskei. Voorrade wat tans beskikbaar is, sluit die 30 Dow aandele, AA AXP BA BAC RTT CSCO CVX DD DIS GA HD HPQ IBM INTC JNJ JPM KFT KO MCD MMM Mrk MSFT PFE PG T BRV UTX VZ WMT XOM. Al 30 in die backtest sluit, net tik DJIA wat is die standaard. Teiken nommer van Vacatures: Dit is die aantal aandele wat jy wil om 'n posisie in en nie meer hê nie. Byvoorbeeld, Kom ons sê jy wil teiken 2 oop posisies. Wanneer die backtester n koopsein vind in een van die aandele wat jy in die mandjie, sê GA, sal dit aanvaar GA gekoop. Dit sal nou kyk vir 1 meer voorraad te koop wanneer daar 'n koopsein, sê BAC. Jy het nou 'n portefeulje van 2 oop posisies (GA en BAC) en die backtester sal nie meer te koop totdat 'n sell sein verkoop een van die aandele. 'N Gediversifiseerde portefeulje moet waarskynlik 10 of meer aandele, maar dit neem 'n baie rekenkracht om backtest. Dus, sal 'n klein portefeulje soos die standaard van 5 oop posisies genoeg om 'n gevoel van 'n strategys prestasie te kry. Van kennis, vir beleggers met 'n klein hoeveelheid van die hoofstad sê 10.000, dit is duur om 'n groot aantal posisies handel met 20 kommissies vir ronde trip ambagte. ETF's is 'n goedkoop manier om ontslae te diversifiseer. Begin Capital: hoeveelheid geld wat jy begin met Trading Commission: Bedrag betaal jy TDAmeritrade, Sogo, ScottTrade, ens vir 'n stuk Posisie Sizing handel: Dit is hoe jy besluit om 'n sekere bedrag geld aan elke voorraad pleeg in jou portefeulje. Tans is daar net een opsie (Gelyke Kontant Toekenning) is beskikbaar. Dit beteken as ek 10,000 en ek wil 2 posisies te betree, sal ek 5000 in elke minder kommissies sit. Met ander woorde, sal kontant beskikbaar gelykop verdeel word na nuwe posisies totdat ek my teiken N aantal oop posisies te bereik. Ander opsies te kom sal gelyke aantal aandele, en wisselvalligheid gebaseer posisie sizing reëls wees. Stoploss: punt waar jy wil uit 'n posisie beweeg teen jou te kry. Kom ons sê jy 'n voorraad te koop teen 10 en sit in 'n 10 volgkeerverlies. As die voorraad val 10 sonder om ooit hoër gaan, sal jy verkoop teen 9. Maar as die voorraad styg tot 15 dan 10 tot 13.5, sal jy by 13.5 en slot te verkoop in 'n paar van die wins. Begin Datum / Einddatum: Kies die historiese datums waartussen jy die strategie te toets. Die backtester sal begin by die begin datum in historiese data en sal soek deur die blok wat jy gekies het, totdat dit boetes n koopsein. Indien geen koop seine word op die eerste dag, die backtester beweeg na die volgende dag en soek deur al die aandele in die mandjie totdat 'n koopsein is gevind waar die voorraad is veronderstel om te koop aan die einde prys aangepas vir split en dividende. Sodra 'n voorraad gekoop, sal die backtester soek na daardie voorraad te verkoop wanneer 'n sell sein kom. Dit gaan ook voort om te kyk na aandele te koop totdat die teiken nommer van oop posisies bereik. Terselfdertyd, sal dit 'n bestaande posisies te verkoop as 'n sell sein kom. Die waarde van die portefeulje bereken alledaagse tot aan die einde datum. Seine: seine behels die kruisings of verhoudings tussen prys en tegniese aanwysers. Byvoorbeeld, die goue kruis, te koop wanneer die 50 dae eenvoudige bewegende gemiddelde (SMA) kruisies bo die 200 dag SMA en verkoop wanneer die 50 dag kruisies onder die 200 dae (die dood kruis). Kry Trades / Grafiek: Kry ambagte sal letterlik wys jou die ambagte sal julle gesluit het, as jy terug in die tyd met 'n opsomming van prestasie het ingesluit. Die grafiek plotte die waarde van die portefeulje met verloop van tyd met 'n ingeslote opsomming van die prestasie. Disclaimer: stockbacktest nie eens of beveel enige van die strategieë of sekuriteite op hierdie site. Die inhoud van hierdie webwerf is vir inligting doeleindes en is nie geneem moet word as 'n belegging advies. stockbacktest is nie aanspreeklik gehou word vir enige foute op hierdie webtuiste of aksies wat geneem is op grond van hierdie webwerwe content. Moving Gemiddeld - MA afbreek bewegende gemiddelde - MA As SMA voorbeeld, kyk na 'n sekuriteit met die volgende sluitingsdatum pryse meer as 15 dae: Week 1 (5 dae) 20, 22, 24, 25, 23 Week 2 (5 dae) 26, 28, 26, 29, 27 Week 3 (5 dae) 28, 30, 27, 29, 28 A 10-dag MA sou gemiddeld uit die sluitingsdatum pryse vir die eerste 10 dae as die eerste data punt. Die volgende data punt sal daal die vroegste prys, voeg die prys op dag 11 en neem die gemiddelde, en so aan, soos hieronder getoon. Soos voorheen verduidelik, MA lag huidige prys aksie omdat dit gebaseer is op vorige pryse hoe langer die tydperk vir die MA, hoe groter is die lag. So sal 'n 200-dag MA 'n veel groter mate van lag as 'n 20-dag MA het omdat dit pryse vir die afgelope 200 dae bevat. Die lengte van die MA om te gebruik, hang af van die handel doelwitte, met korter MA gebruik vir 'n kort termyn handel en langer termyn MA meer geskik vir 'n lang termyn beleggers. Die 200-dag MA word wyd gevolg deur beleggers en handelaars, met onderbrekings bo en onder hierdie bewegende gemiddelde beskou as belangrike handel seine wees. MA ook mee belangrik handel seine op hul eie, of wanneer twee gemiddeldes kruis. 'N stygende MA dui daarop dat die sekuriteit is in 'n uptrend. terwyl 'n dalende MA dui daarop dat dit in 'n verslechtering neiging. Net so, is opwaartse momentum bevestig met 'n lomp crossover. wat gebeur wanneer 'n korttermyn-MA kruisies bo 'n langer termyn MA. Afwaartse momentum bevestig met 'n lomp crossover, wat plaasvind wanneer 'n kort termyn MA kruisies onder 'n langer termyn MA. Backtesting n bewegende gemiddelde Crossover in Python met pandas Deur Michael Saal-Moore op 21 Januarie 2014 In die vorige artikel oor Navorsing back testing omgewings Python Met Pandas ons geskep 'n objek-georiënteerde navorsing-gebaseerde back testing omgewing en dit getoets op 'n ewekansige vooruitskatting strategie. In hierdie artikel sal ons gebruik van die masjinerie wat ons lei om navorsing te doen oor 'n werklike strategie, naamlik die bewegende gemiddelde Crossover op AAPL maak. Bewegende gemiddelde Crossover Strategie Die bewegende gemiddelde Crossover tegniek is 'n uiters bekende simplistiese momentum strategie. Daar word dikwels beskou as die Hello World voorbeeld vir kwantitatiewe handel. Die strategie as hier uiteengesit is slegs lang. Twee afsonderlike eenvoudige bewegende gemiddelde filters word geskep, met wisselende Terugblik tydperke, van 'n bepaalde tyd reeks. Seine na die aankoop van die bate vind plaas wanneer die korter Terugblik bewegende gemiddelde hoe langer bewegende gemiddelde oorskry Terugblik. As die langer gemiddelde daarna die korter gemiddelde oorskry, word die bate verkoop terug. Die strategie werk goed wanneer 'n tydreeks betree 'n tydperk van 'n sterk tendens en dan omkeer stadig die tendens. Vir hierdie voorbeeld het ek gekies Apple, Inc (AAPL) as die tyd reeks, met 'n kort Terugblik van 100 dae en 'n lang Terugblik van 400 dae. Dit is die inligting wat deur die Zipline algoritmiese handel biblioteek voorbeeld. So as ons wil ons eie backtester implementeer moet ons verseker dat dit die resultate wedstryde in Zipline, as 'n basiese wyse van bevestiging. Implementering Maak seker dat die vorige tutoriaal hier volg. wat beskryf hoe die aanvanklike doel hiërargie vir die backtester is gebou, anders sal die kode hieronder sal nie werk nie. Vir hierdie spesifieke implementering het ek die volgende biblioteke gebruik: Die implementering van macross. py vereis backtest. py van die vorige tutoriaal. Die eerste stap is om die nodige modules en voorwerpe in te voer: Soos in die vorige tutoriaal gaan ons die strategie abstrakte basis klas MovingAverageCrossStrategy produseer oorerf. wat al die besonderhede oor hoe om die seine te genereer bevat wanneer die bewegende gemiddeldes van AAPL kruis oor mekaar. Die voorwerp vereis 'n shortwindow en 'n longwindow waarop te werk. Die waardes is ingestel om die standaard van 100 dae en 400 dae onderskeidelik, wat dieselfde parameters wat in die belangrikste voorbeeld van Zipline is. Die bewegende gemiddeldes is geskep deur die gebruik van die pandas rollingmean funksie op die barsClose sluitingsprys van die AAPL voorraad. Sodra die individu bewegende gemiddeldes is gebou, is die sein reeks wat deur die oprigting van die kolom gelyk aan 1,0 wanneer die kort bewegende gemiddelde is groter as die lang bewegende gemiddelde, of 0.0 anders. Hieruit kan die posisies bestellings gegenereer kan word om handel seine verteenwoordig. Die MarketOnClosePortfolio is subclassed van Portefeulje. wat is gevind in backtest. py. Dit is byna identies aan die wat in die vorige tutoriaal beskryf implementering, met die uitsondering dat die ambagte nou uit op 'n close-to-Close basis gedra, eerder as om 'n Ope-tot-Ope basis. Vir meer inligting oor hoe die Portefeuljekomitee voorwerp gedefinieer, sien die vorige tutoriaal. Ive het die kode in vir volledigheid en om hierdie handleiding te hou self-contained: Noudat die MovingAverageCrossStrategy en MarketOnClosePortfolio klasse is gedefinieer, sal 'n hooffunksie word geroep om al die funksies saam te bind. Daarbenewens die prestasie van die strategie deur middel van 'n plot van die aandele kurwe sal ondersoek word. Die pandas DataReader voorwerp downloads OHLCV pryse van AAPL voorraad vir die tydperk 1 Januarie 1990 tot 1 Januarie 2002, op watter punt die seine DataFrame is geskep om die lang-net seine op te wek. Vervolgens die portefeulje is gegenereer met 'n 100,000 dollar aanvanklike kapitaalbasis en die opbrengs word bereken op die aandele kurwe. Die finale stap is om matplotlib gebruik om 'n twee-syfer plot van beide AAPL pryse, oorgetrek met die bewegende gemiddeldes plot en koop / verkoop seine, asook die aandele kurwe met dieselfde koop / verkoop seine. Die plot kode is geneem (en aangepas) van die Zipline implementering voorbeeld. Die grafiese uitset van die kode is soos volg. Ek het gebruik gemaak van die IPython Plak opdrag om hierdie direk in die IPython konsole sit terwyl hy in Ubuntu, sodat die grafiese uitset in die lig bly. Die pienk upticks verteenwoordig die aankoop van die voorraad, terwyl die swart downticks dit terug verteenwoordig verkoop: Soos gesien kan word van die strategie verloor geld oor die tydperk, met vyf heen-en terugreis ambagte. Dit is nie verbasend gegewe die gedrag van AAPL oor die tydperk, wat op 'n effense afwaartse neiging, gevolg deur 'n beduidende toename begin in 1998. Die Terugblik tydperk van die bewegende gemiddelde seine is redelik groot en die effek daarvan die wins van die finale handel , wat anders die strategie winsgewend moontlik gemaak. In die daaropvolgende artikels sal ons 'n meer gesofistikeerde middel van die ontleding van die prestasie, sowel as die beskrywing van hoe om die Terugblik tydperke van die individuele bewegende gemiddelde seine te optimaliseer skep. 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 verskansing funds. The SampP 500 gesluit September met 'n maandelikse verlies van 0.12, toevallig sy tweede agtereenvolgende verlies van 0,12. Al drie SampP 500 MA is sein belê en al vyf Ivy Portefeulje ETF MA is sein belê. In die tabel word maandeliks toemaak wat binne 2 van 'n sein geel gemerk. Die tabel hierbo toon die huidige 10-maande eenvoudige bewegende gemiddelde (SMA) sein vir elk van die vyf ETF featured in die Ivy Portefeulje. Weve het ook 'n tafel van 12 maande SMAs vir dieselfde ETF vir hierdie gewilde alternatiewe strategie. Vir 'n fascinerende ontleding van die Ivy Portefeulje strategie, kyk hierdie artikel deur Adam Butler, Mike Philbrick en Rodrigo Gordillo: back testing Bewegende Gemiddeldes Oor die afgelope paar jaar weve gebruik Excel om die prestasie van verskillende bewegende gemiddelde tydsberekening strategieë op te spoor. Maar nou moet ons net die back testing gereedskap wat beskikbaar is op die ETFReplay webwerf. Enigiemand wat belangstel in die mark tydsberekening met ETF's moet 'n blik op hierdie webwerf. Hier is die twee gereedskap wat ons die meeste gebruik: Agtergrond oor die beweging van gemiddeldes koop en verkoop van grond op 'n bewegende gemiddelde maandelikse toemaak kan 'n effektiewe strategie vir die bestuur van die risiko van ernstige verlies van groot beermarkte wees. In wese is, wanneer die maandelikse sluiting van die indeks is bo die bewegende gemiddelde waarde, jy die indeks te hou. Wanneer die indeks hieronder sluit, jy beweeg na kontant. Die nadeel is dat dit nooit kry jy uit by die top of terug in aan die onderkant. Ook, kan dit die geleentheid geheel verslaan (kort termyn koop of te verkoop sein) produseer, soos weve Soms ervaar het die afgelope jaar. Nietemin, 'n grafiek van die SampP 500 maandelikse SLUIT sedert 1995 toon dat 'n 10 of 12 maande eenvoudige bewegende gemiddelde (SMA) strategie deelname sou verseker in die meeste van die onderstebo prys beweging terwyl verliese dramaties verminder. Hier is die 12-maande-variant: Die 10-maande eksponensiële bewegende gemiddelde (EMA) is 'n effense variasie op die eenvoudige bewegende gemiddelde. Hierdie weergawe wiskundig verhoog die gewig van nuwe data in die 10 maande ry. Sedert 1995 is dit minder whipsaws as die ekwivalent eenvoudige bewegende gemiddelde opgelewer het, maar dit was 'n maand stadiger 'n sell na hierdie twee markte tops sein. 'N blik op die 10 en 12-maande bewegende gemiddeldes in die Dow tydens die ineenstorting van 1929 en Groot Depressie toon die doeltreffendheid van hierdie strategieë in daardie gevaarlike tye. Die sielkunde van Momentum Seine Tydsberekening werk as gevolg van 'n basiese menslike eienskap. Mense boots suksesvolle gedrag. Toe hulle hoor van ander om geld te maak in die mark, hulle koop in. Uiteindelik het die tendens omkeer. Dit mag wees net die normale uitbreidings en sametrekkings van die sakesiklus. Soms is die oorsaak is meer dramaties mdash 'n bate borrel, 'n groot oorlog, 'n pandemie, of 'n onverwagte finansiële skok. Wanneer die tendens omkeer, suksesvolle beleggers verkoop vroeg. Die nabootsing van sukses draai geleidelik die vorige aankope momentum in die verkoop van momentum. Implementering van die strategie Ons illustrasies uit die SampP 500 is net dat mdash illustrasies. Ons gebruik die SampP as gevolg van die uitgebreide historiese data dis geredelik beskikbaar. Daar moet egter volgelinge van 'n bewegende gemiddelde strategie koop / verkoop besluite te neem oor die seine vir die elke spesifieke belegging, nie 'n breë indeks. Selfs as jy belê in 'n fonds wat die SampP 500 (bv Vanguards VFINX of die SPY ETF) volg die bewegende gemiddelde seine vir die fondse sal van tyd tot tyd verskil van die onderliggende indeks as gevolg van dividend herbelegging. Die SampP 500 nommers in ons illustrasies sluit dividende. Die strategie is die mees doeltreffende in 'n belasting-bevoordeelde rekening met 'n lae-koste makelaars diens. Jy wil die winste vir jouself, nie jou makelaar of jou Uncle Sam. Let. Vir almal wat wil die 10- en 12-maande eenvoudige bewegende gemiddeldes in die SampP 500 en die posisies aandele-versus-kontant sien sedert 1950, Heres 'n Excel-lêer (xls formaat) van die data. Ons bron vir die maandelikse toemaak (Kolom B) is Yahoo Finansies. Kolomme D en F toon die posisies te kenne gegee deur die einde van die maand sluit vir die twee SMA strategieë. In die verlede aanbeveel weve Mebane Fabers deurdagte artikel 'n kwantitatiewe benadering tot taktiese batetoewysing. Die artikel is nou opgedateer en uitgebrei as deel: Die aktiewe bestuur sy boek The Ivy Portefeulje. coauthored met Eric Richardson. Dit is 'n moet lees vir enigiemand oorweeg die gebruik van 'n tydsberekening sein vir beleggingsbesluite. Die boek ontleed die toepassing van bewegende gemiddeldes die SampP 500 en vier addisionele bateklasse: die Morgan Stanley Capital International EAFE indeks (MSCI EAFE), Goldman Sachs Commodity Index (GSCI), die Nasionale Vereniging van Real Estate Investment Trusts indeks (NAREIT), en Verenigde State van Amerika regering Tesourie-effekte van 10 jaar. As 'n gereelde kenmerk van hierdie webwerf, ons probeer om die seine aan die einde van elke maand by te werk. Vir meer insigte uit Mebane Faber, besoek gerus sy webwerf, Mebane Faber Navorsing. Voetnoot op die berekening van maandelikse bewegende gemiddeldes: As julle die maak van jou eie berekeninge van bewegende gemiddeldes vir dividend betaal voorrade of ETF, sal jy soms kry verskillende resultate as jy dit nie pas vir dividende. Byvoorbeeld, in 2012 VNQ bly belê teen die einde van November gebaseer op aangepaste maandelikse sluit, maar daar was 'n sell sein as jy dividend aanpassings geïgnoreer. Omdat die data vir vorige maande sal verander wanneer dividende betaal, moet jy die data vir al die maande in die berekening te werk as 'n dividend sedert die vorige maandelikse naby betaal. Dit sal die geval wees vir enige dividend betaal voorrade of fondse wees.


No comments:

Post a Comment