Strategie Toets Need more info Terug-toetsing handel strategieë met Wealth-Lab Pro. Die handel strategieë en strategie toets funksie en handel seine wat gegenereer word deur die strategieë word vir opvoedkundige doeleindes en slegs as voorbeelde, en hulle moet nie gebruik word of staatgemaak om besluite te neem oor jou eie situasie te maak. Jy kan die strategie Toets parameters verander soos jy goeddink. Fidelity is nie aanneem, maak 'n aanbeveling vir of aansluit by enige handels - of beleggingstrategie of bepaalde sekuriteit. Die strategie toets funksie bied 'n hipotetiese berekening van hoe 'n sekuriteit of portefeulje van sekuriteite, onderhewig aan 'n voorbeeld handel strategie, sou die loop van 'n historiese tydperk. Slegs sekuriteite wat bestaan tydens die historiese tydperk was en wat historiese pryse data is beskikbaar vir gebruik in die funksie Strategie toets. Die funksie het slegs 'n beperkte vermoë om hipotetiese handel kommissies te bereken, en dit nie rekening vir enige ander gelde of vir belasting gevolge wat kan ontstaan as gevolg van 'n handel strategie. Jy moet nie aanneem dat Strategie Toets van 'n handel strategie enige aanduiding van hoe jou portefeulje van effekte, of 'n nuwe portefeulje van effekte sou vervul met verloop van tyd sal gee. Jy moet jou eie handel strategieë te kies wat gebaseer is op jou spesifieke doelwitte en toleransies risiko. Maak seker dat jy jou besluite van tyd tot tyd hersien om seker te maak hulle is nog steeds in ooreenstemming met jou doelwitte te bereik. Vorige prestasie is geen waarborg van toekomstige resultate. kopieer 1998 ndash 2012 FMR LLC. Alle regte reserved. Simple 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 IntroBacktesting 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 objekgeoriënteerde navorsingsgebaseerde 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. Overview: Hierdie gratis opvoedkundige webwerf is bedoel om 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 wees vir enige foute op hierdie webtuiste of aksies gehou geneem op grond van hierdie webwerwe content. Python vs R 3: 'n Eenvoudige bewegende gemiddelde crossover backtest op SPY Dit is die derde in 'n reeks wat vergelyk Python en R vir kwantitatiewe handel ontleding. Die gebruik van die Zipline raamwerk vir Python en die werk van Sistematiese Beleggers Gereedskap vir R. Ek implementeer dieselfde bewegende gemiddelde cross-over model in elke taal. As gevolg van die OOP aard van 'n afgestorwene is daar baie verskille tussen die twee tale, wat lei tot ongeveer dubbel soveel kode. Vermoedelik die bykomende OO kompleksiteit is nuttig in baie meer ingewikkeld strategieë. Python R Python R Volgende in die reeks sal kyk na die ingeboude ding statistieke van die tale en beskikbaar back testing pakkette.
No comments:
Post a Comment