Thursday, October 6, 2016

Trading Strategie Indeks

Trading Strategie afbreek Trading Strategie A handel strategie uiteensetting van die spesifikasies vir die maak van ambagte, en sluit reëls vir handel inskrywings, uitgange en geldbestuur. Wanneer behoorlik nagevors en uitgevoer word, kan 'n handel strategie n wiskundige verwagting voorsiening te maak vir die gespesifiseerde reëls, en help handelaars en beleggers te bepaal of 'n verhandeling idee is potensieel winsgewende. 'N band met geen vervaldatum. Ewige boeie is nie aflosbaar maar betaal 'n bestendige stroom van belang vir ewig. Sommige van die. Die eerste van 'n reeks van jare in 'n ekonomiese of finansiële indeks. A basisjaar word gewoontlik ingestel om 'n arbitrêre vlak van 1. 'n band wat in 'n voorafbepaalde bedrag van die maatskappy se aandele op sekere tye gedurende sy lewe kan omskep word, gewoonlik. Die oorskot opbrengs wat 'n belegging in die aandelemark bied oor 'n risikovrye koers, soos die terugkeer van staatseffekte. 'N indeks van 500 aandele wat gekies is vir markgrootte, likiditeit en bedryf groepering, onder andere. Die S P 500 is ontwerp. Forex strategie 1 (vinnig bewegende gemiddeldes crossover) Deur Edward Revy op 28 Februarie 2007 - 13:07. Handel stelsels wat gebaseer is op 'n vinnige bewegende gemiddeldes is baie maklik om te volg. Laat ons neem 'n blik op hierdie eenvoudige stelsel. Munt pare: enige tyd raam grafiek: 1 uur of 15 minute grafiek. Aanwysers: 10 EMO, 25 EMO, 50 EMO. Toegang reëls: Wanneer 10 EMO gaan deur 25 EMO en gaan voort deur middel van 50 EMO, koop / verkoop in die rigting van 10 EMO sodra dit duidelik maak dit deur middel van 50 EMO. (Wag vir die huidige prys bar te sluit op die teenoorgestelde terrein van 50 EMO. Dit wag help om valse seine te vermy). Uitgang reëls: option1: uitgang toe 10 EMO kruisies 25 EMO weer. OPTION2: uitgang toe 10 EMO opbrengste en raak 50 EMO (weer dit word voorgestel om te wag totdat die huidige prys bar na sogenaamde aanraking op die teenoorgestelde kant van 50 EMO gesluit). Voordele: Dit is maklik om te gebruik, en dit baie goeie resultate gee wanneer die mark is trending, tydens groot prys breek-outs en 'n groot prys beweeg. Nadele: vinnig bewegende gemiddelde aanwyser is 'n opvolg aanwyser of dit is ook bekend as 'n sloerende aanwyser, wat beteken dat dit nie toekomstige mark rigtings voorspel nie, maar eerder weerspieël huidige situasie op die mark. Hierdie eienskap maak dit kwesbaar: eerstens, omdat dit sy seine enige tyd kan verander, in die tweede plek omdat behoefte om dit te sien al die tyd en uiteindelik, wanneer die mark verhandel sywaarts (geen tendens) met baie min fluktuasie in prys wat dit kan baie valse seine te gee, so is daar ook nie voorgestel om dit te gebruik gedurende sodanige tydperke. ARIMA GARCH Trading Strategie op die S P500 Stock Market Index Gebruik R Deur Michael Saal-Moore op 7 Oktober 2015 In hierdie artikel wil ek om jou te wys hoe om al die kennis wat in die vorige tydreeksanalise poste 'n handel strategie toe te pas op die S P500 Amerikaanse aandelemark-indeks. Ons sal sien dat deur die kombinasie van die ARIMA en GARCH modelle kan ons aansienlik oortref 'n koop-en-hou-benadering oor die lang termyn. Strategie Oorsig Die idee van die strategie is relatief eenvoudig, maar as jy wil om te eksperimenteer met dit Ek hoogs stel voor die lees van die vorige poste op tydreeksanalise ten einde te verstaan ​​wat jy sou verander Die strategie is uit op 'n deurlopende grondslag gedoen: Vir elke dag, n, die vorige k dae van die differenced logaritmiese opbrengste van 'n aandelemark-indeks word gebruik as 'n venster vir pas 'n optimale ARIMA en GARCH model. Die gekombineerde model word gebruik om 'n voorspelling te maak vir die volgende dag terugkeer. As die voorspelling is negatief die voorraad kortsluiting by die vorige noue, terwyl as dit positief dit verlang. As die voorspelling is dieselfde rigting as die vorige dag dan is daar niks verander. Om hierdie strategie het ek gebruik om die maksimum beskikbare data van Yahoo Finansies vir die S P500. Ek het k 500 geneem, maar dit is 'n parameter wat gebruik kan word new ten einde prestasie te verbeter of onttrekking verminder. Die backtest word in 'n eenvoudige gevectoriseerd mode gedra met behulp van R. Dit het nie in die Python-gebeurtenis gedrewe backtester geïmplementeer as van nog. Vandaar die prestasie behaal in 'n ware handel stelsel sal waarskynlik effens minder as wat jy hier kan bereik, as gevolg van kommissie en glip. Strategie implementering van die strategie gaan ons 'n paar van die kode wat ons voorheen geskep in die tydreeksanalise artikel reeks asook 'n paar nuwe biblioteke insluitend rugarch gebruik te implementeer. , wat aan my voorgestel deur Ilya Kipnis oor te QuantStrat Trader. Ek gaan deur die sintaksis in 'n stap-vir-stap mode en dan bied die volle implementering aan die einde, sowel as 'n skakel na my dataset vir die ARIMA GARCH aanwyser. Ek ve ingesluit laasgenoemde omdat dit vir my 'n paar dae geneem het op my desktop rekenaar na die seine Jy moet in staat wees om my resultate te herhaal in geheel as die kode self is nie te ingewikkeld te genereer, alhoewel dit 'n geruime tyd om na te boots as neem jy dit uit te voer in volle. Die eerste taak is om te installeer en die nodige biblioteke te voer in R: As jy reeds die biblioteke geïnstalleer kan jy dit net in te voer: Met dit klaar is gaan die strategie van toepassing is op die S P500. Ons kan gebruik quantmod om data terug na 1950 gaan vir die indeks te verkry. Yahoo Finansies gebruik die simbool GPSC. Ons kan dan skep die differenced logaritmiese opbrengste van die sluitingsprys van die S P500 en stroop uit die aanvanklike NA waarde: Ons moet 'n vektor te skep, voorspellings ons vooruitskouing waardes te stoor op spesifieke datums. Ons stel die lengte foreLength gelyk aan die lengte van die handel data wat ons het minus k te wees, die venster lengte: Op hierdie stadium moet ons lus deur elke dag in die handel data en pas 'n toepaslike ARIMA en GARCH model om die rol venster van lengte k. Gegewe dat ons probeer 24 afsonderlike ARIMA rukke en pas 'n GARCH model, vir elke dag, die aanwyser kan 'n lang tyd om te genereer neem. Ons gebruik die indeks d as 'n herhaling veranderlike en lus van k aan die lengte van die handel data: Ons skep dan die rol venster deur die S P500 opbrengste en die kies van die waardes tussen 1 d en kd, waar k 500 vir hierdie strategie: ons gebruik dieselfde prosedure as in die ARIMA artikel te soek deur al ARMA modelle met p in en Q in, met die uitsondering van p, q 0. Ons draai die arimaFit oproep in 'n R tryCatch hantering van uitsonderings blok om te verseker dat as ons nie t kry 'n geskik is vir 'n bepaalde waarde van p en q, ons ignoreer dit en beweeg aan na die volgende kombinasie van p en q. Let daarop dat ons 'n geïntegreerde waarde van d 0 (dit is 'n ander d ons kruip parameter) en as sodanig is ons regtig pas 'n ARMA model. eerder as 'n ARIMA. Die herhaling prosedure sal ons die beste pas ARMA model, in terme van die Akaike Inligting Criterion, wat ons dan kan gebruik om in te voer om ons GARCH model: In die volgende kode blok gaan ons die rugarch biblioteek gebruik, met die GARCH (1,1) model. Die sintaksis vir hierdie vereis dat ons die opstel van 'n ugarchspec spesifikasie voorwerp wat 'n model neem vir die variansie en die gemiddelde. Die variansie ontvang die GARCH (1,1) model, terwyl die gemiddelde duur 'n ARMA (p, q) model, waar P en Q hierbo gekies. Ons kies ook die SGED verspreiding vir die foute. Sodra ons die spesifikasie gekies ons uit te voer die werklike pas van ARMA GARCH met behulp van die ugarchfit opdrag, wat die spesifikasie voorwerp, die k opbrengste van die S P500 en 'n numeriese optimalisering oplosser neem. Ons het gekies om baster gebruik. wat probeer verskillende solvers ten einde die waarskynlikheid van konvergensie verhoog: As die GARCH model nie konvergeer dan ons eenvoudig gestel die dag na 'n lang voorspelling, wat duidelik 'n raaiskoot te produseer. Maar, as die model nie konvergeer dan ons uitset die datum en môre s voorspelling rigting (1 of -1) as 'n string op watter punt die lus is afgesluit. Met die oog op die uitset vir die CSV Ek het 'n string wat die data geskei deur 'n komma met die voorspelling rigting vir die daaropvolgende dag bevat geskep voor te berei: Die voorlaaste stap is om uitset die CSV op skyf. Dit stel ons in staat om die aanwyser te neem en gebruik dit in alternatiewe back testing sagteware vir verdere ontleding, as dit so verkies: Daar is 'n klein probleem met die CSV soos dit nou staan. Die lêer bevat 'n lys van datums en 'n voorspelling vir môre se rigting. As ons hierdie laai in die backtest kode hieronder soos dit nou is, sou ons eintlik die bekendstelling van 'n blik lig vooroordeel omdat die voorspellingswaarde data nie bekend ten tye van die voorspelling sal verteenwoordig. Ten einde tot verantwoording vir hierdie moet ons net tot die voorspelde waarde eendag vorentoe te beweeg. Ek het hierdie gevind meer eenvoudig met Python te wees. Sedert ek don t wil om te aanvaar dat jy 'n spesiale biblioteke (soos pandas) vyf geïnstalleer, vyf ek dit gehou om suiwer Python. Hier is die kort script wat hierdie proses voer. Maak seker om dit uit te voer in dieselfde gids as die forecasts. csv lêer: Op hierdie punt nou het ons die gekorrigeer aanwyser lêer gestoor in voorspellings new. csv. Aangesien dit neem 'n aansienlike bedrag van die tyd te bereken, vyf Ek voorsien die volle lêer hier vir jou om jouself af te laai: Noudat ons ons aanwyser CSV ons nodig het om sy prestasie te vergelyk om vas te hou Koop gegenereer Strategie Resultate. Ons eerste lees in die aanwyser van die CSV en stoor dit as spArimaGarch: Ons skep dan 'n kruising van die datums vir die ARIMA GARCH voorspellings en die oorspronklike stel opgawes van die S P500. Ons kan dan bereken die opbrengste vir die ARIMA GARCH strategie deur te vermenigvuldig die vooruitsig teken (of -) met die terugkeer homself: Sodra ons die opbrengs van die ARIMA GARCH strategie wat ons kan aandele kurwes vir beide die ARIMA GARCH model en koop Hou skep. Ten slotte, kombineer ons dit in 'n enkele datastruktuur: Ten slotte, kan ons die xyplot opdrag gebruik om aandele kurwes plot op dieselfde plot: Die ekwiteit kurwe tot 6 Oktober 2015 is soos volg: Soos jy kan sien, oor 'n 65 jaar tydperk, het die ARIMA GARCH strategie aansienlik beter gevaar as Koop hou nie. Jy kan egter ook sien dat die meerderheid van die wins plaasgevind tussen 1970 en 1980. Let daarop dat die wisselvalligheid van die kurwe is baie minimaal tot in die vroeë 80's, waar aansienlik wys die wisselvalligheid stygings en die gemiddelde opbrengs is minder indrukwekkend. Dit is duidelik dat die aandele kurwe beloof groot prestasie oor die hele tydperk. Tog sou hierdie strategie regtig verhandelbaar In die eerste plek is, laat se kyk na die feit dat die ARMA model net is gepubliseer in 1951. Dit wasn t regtig wyd aangewend tot die 1970 s toe Box Jenkins bespreek dit in hul boek. In die tweede plek, die boog model wasn t ontdek (in openbare) tot in die vroeë 80's, deur Engle, en GARCH self is in 1986 gepubliseer deur Bollerslev Derdens, hierdie backtest het eintlik al uit op 'n aandelemark indeks gedra en nie 'n fisies verhandelbare instrument. Ten einde toegang tot 'n indeks te verkry soos hierdie sou dit nodig gewees het om S P500 termynkontrak of 'n replika Beursverhandelde fonds (ETF) soos SPDR handel. Vandaar is dit regtig wat geskik is vir sulke modelle is van toepassing op 'n historiese reeks voor hul uitvinding 'n alternatief is om te begin die toepassing van die modelle meer onlangse data. In feite, kan ons die prestasie oorweeg in die laaste tien jaar, vanaf 1 Januarie 2005 tot vandag: Soos jy kan sien die aandele kurwe bly onder 'n Koop Hou strategie vir byna 3 jaar, maar tydens die ineenstorting van die aandelemark van 2008/2009 is dit doen baie goed. Dit maak sin, want daar is waarskynlik 'n beduidende korrelasie in hierdie tydperk wees en dit sal goed gevang deur die ARIMA en GARCH modelle. Sodra die mark herstel ná 2009 en gaan wat lyk meer 'n stogastiese tendens wees, die model prestasie begin weer ly. Let daarop dat hierdie strategie maklik toegepas kan word om verskillende aandelemark indekse, aandele of ander bateklasse. Ek raai jy om te probeer navors ander instrumente, soos jy aansienlike verbeterings op die hier aangebied resultate kan behaal. Volgende stappe Noudat ons vyf klaar bespreek die ARIMA en GARCH familie van modelle, ek wil die tydreeksanalise bespreking deur die oorweging van 'n lang-geheue prosesse, state-ruimte modelle en gecoïntegreerd tydreekse voortgaan. Hierdie daaropvolgende dele van tydreekse sal ons bekend te stel aan modelle wat ons voorspellings verder as dié wat ek ve hier aangebied, wat aansienlik sal verhoog ons handel winsgewendheid en / of te verminder die risiko kan verbeter. Volle Kode Hier is die volledige lys vir die aanwyser geslag, back testing en plot: En die Python-kode om aansoek te doen om forecasts. csv voor reimporting: 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. verwante Artikels


No comments:

Post a Comment