Friday, October 21, 2016

Algoritmiese Handel Strategieë Voorbeeld

Suksesvolle back testing van Algorithmic handel strategieë - Deel I Deur Michael Saal-Moore op 26 April 2013 In hierdie artikel gaan voort die reeks oor kwantitatiewe handel, wat begin met die Beginners Gids en Strategie Identifikasie. Beide van hierdie langer, meer betrokke artikels is baie gewild so siek voortgaan in hierdie trant en verskaf besonderhede oor die onderwerp van strategie back testing. Algoritmiese back testing vereis kennis van baie gebiede, insluitende sielkunde, wiskunde, statistiek, sagteware-ontwikkeling en die mark / ruil mikrostruktuur. Ek kon nie hoop om al daardie onderwerpe dek in een artikel, sodat Im gaan hulle verdeel in twee of drie kleiner stukkies. Wat sal ons bespreek in hierdie artikel Siek begin met die definisie van back testing en dan sal ek die basiese beginsels van hoe dit uitgevoer word beskryf. Dan sal ek lig op die vooroordele wat ons op aangeraak in die Beginners Gids tot Kwantitatiewe Trading. Volgende sal ek 'n vergelyking van die verskillende beskikbare back testing sagteware opsies aan te bied. In die daaropvolgende artikels gaan ons kyk na die besonderhede van implementering van die strategie wat dikwels skaars genoem word of geïgnoreer. Ons sal ook kyk hoe die back testing proses meer realistiese deur die insluiting van die eienaardighede van 'n handel ruil te maak. Dan sal ons transaksiekoste en hoe om korrek te modelleer hulle in 'n backtest omgewing te bespreek. Ons sal eindig met 'n bespreking oor die prestasie van ons backtests en uiteindelik 'n voorbeeld van 'n gemeenskaplike Quant strategie, bekend as 'n gemiddelde terugkeer pare handel. Kom ons begin met 'n bespreking wat back testing is en waarom ons dit moet uit te voer in ons algoritmiese handel. Wat is back testing Algorithmic handel staan ​​apart van ander vorme van belegging klasse omdat ons meer betroubaar kan voorsien verwagtinge oor toekomstige prestasie van vorige prestasie, as gevolg van 'n oorvloedige beskikbaarheid data. Die proses waardeur dit uitgevoer staan ​​bekend as back testing. In eenvoudige terme, is back testing deur jou spesifieke strategie algoritme bloot te stel aan 'n stroom van historiese finansiële inligting, wat lei tot 'n stel van handel seine gedra. Elke handel (wat ons hier sal beteken 'n heen-en terugreis van twee seine wees) sal 'n gepaardgaande wins of verlies nie. Die opeenhoping van hierdie wins / verlies oor die duur van jou strategie backtest sal lei tot die totale wins en verlies (ook bekend as die PL of PNL). Dit is die essensie van die idee, hoewel natuurlik die duiwel is altyd die besonderhede Wat is die sleutel redes vir back testing 'n algoritmiese strategie Filtrasie - As jy onthou van die artikel oor strategie Identifikasie. Ons doel op die aanvanklike navorsing stadium was om 'n strategie pyplyn en dan filter enige strategie wat nie aan sekere kriteria voldoen. Back testing voorsien ons van 'n ander filter meganisme, soos ons strategieë wat nie aan ons prestasie behoeftes kan uitskakel. Modellering - back testing stel ons in staat om (veilig) te toets nuwe modelle van sekere mark verskynsels, soos transaksiekoste, order routing, latency, likiditeit of ander mark mikrostruktuur kwessies. Optimisation - Hoewel strategie optimalisering is belaai met vooroordele, back testing stel ons in staat om die prestasie van 'n strategie te verhoog deur die wysiging van die hoeveelheid of waardes van die parameters wat verband hou met die strategie en herbereken sy prestasie. Verifikasie - Ons strategieë is dikwels ekstern verkry, via ons strategie pyplyn. Back testing n strategie verseker dat dit nie verkeerd geïmplementeer. Hoewel ons selde toegang tot die seine wat gegenereer word deur eksterne strategieë moet word, sal ons dikwels het toegang tot die prestasie statistieke soos die Sharpe Ratio en Onttrekking eienskappe. So kan ons hulle vergelyk met ons eie implementering. Back testing bied 'n magdom voordele vir algoritmiese handel. Dit is egter nie altyd moontlik om reguit backtest n strategie. In die algemeen, as die frekwensie van die strategie toeneem, word dit moeiliker om korrek te modelleer die mikrostruktuur effekte van die mark en die uitruil. Dit lei tot minder betroubaar backtests en dus 'n moeiliker evaluering van 'n gekose strategie. Dit is 'n besondere probleem waar die uitvoering stelsel is die sleutel tot die strategie prestasie, soos met ultra-hoë frekwensie algoritmes. Ongelukkig back testing is belaai met vooroordele van alle soorte. Ons het gepraat oor 'n paar van hierdie kwessies is in die vorige artikels, maar ons sal nou bespreek dit in diepte. Vooroordele word beïnvloed Strategie Backtests Daar is baie vooroordele wat die prestasie van 'n backtested strategie kan beïnvloed. Ongelukkig is hierdie vooroordele het 'n neiging om die prestasie te verhoog eerder as om afbreuk aan dit. So jy moet altyd oorweeg om 'n backtest 'n geïdealiseerde bogrens op die werklike prestasie van die strategie te wees. Dit is byna onmoontlik om vooroordele uit algoritmiese handel uit te skakel sodat dit is ons taak om hulle te verminder as die beste wat ons kan om ingeligte besluite oor ons algoritmiese strategieë te maak. Daar is vier groot vooroordele wat ek wil bespreek: Optimering Vooroordeel. Kyk-Ahead Vooroordeel. Overlevingspensioen Vooroordeel en sielkundige Verdraagsaamheid Vooroordeel. Optimering Vooroordeel Dit is waarskynlik die mees verraderlike van alle backtest vooroordele. Dit behels die aanpassing of die bekendstelling van bykomende handel parameters totdat die strategie prestasie op die backtest datastel is baie aantreklik. Maar een keer leef die prestasie van die strategie kan aansienlik anders wees. Nog 'n naam vir hierdie vooroordeel is krommepassing of data-snuffel vooroordeel. Optimering vooroordeel is moeilik om te skakel as algoritmiese strategieë dikwels betrek baie parameters. Parameters in hierdie geval sou wees toevoeging / onttrekking kriteria, kyk terug tydperke, gemiddeld tydperke (d. w.z die bewegende gemiddelde glad parameter) of wisselvalligheidsmeting frekwensie. Optimering vooroordeel kan beperk word deur die behoud van die aantal parameters tot 'n minimum en die verhoging van die hoeveelheid data punte in die opleiding stel. Trouens, moet 'n mens ook versigtig vir die laaste wees as ouer opleiding punte kan wees onderhewig aan 'n vorige regime (soos 'n regulatoriese omgewing) en dus kan nie aan jou huidige strategie betrokke wees. Een metode om te help versag hierdie vooroordeel is 'n sensitiwiteit analise uit te voer. Dit beteken wisselende die parameters inkrementeel en plot 'n oppervlak van prestasie. Klank, fundamentele redenasie vir parameter keuses moet, met alle ander faktore oorweeg word, lei tot 'n gladder parameter oppervlak. As jy 'n baie spring prestasie oppervlak, beteken dit dikwels dat 'n parameter nie wat 'n verskynsel en is 'n produk van die toetsdata. Daar is 'n groot literatuur oor 'n multi-dimensionele optimeringsalgoritmes en dit is 'n uiters aktiewe gebied van navorsing. Ek sal nie ingaan op dit hier, maar hou dit in die agterkant van jou gedagtes wanneer jy 'n strategie met 'n fantastiese backtest Look-Ahead Vooroordeel Kyk lig vooroordeel is opgeneem in 'n back testing stelsel vind wanneer toekomstige data ongeluk is ingesluit by 'n punt in die simulasie waar daardie data sal nie eintlik beskikbaar is. As ons die backtest chronologies loop en ons bereik tyd punt N, dan kyk lig vooroordeel voorkom indien data ingesluit vir enige punt NK, waar K0. Kyk lig vooroordeel foute kan ongelooflik subtiel wees. Hier is drie voorbeelde van hoe voorkoms lig vooroordeel ingestel kan word: Tegniese foute - Skikkings / vektore in kode dikwels iterators of indeks veranderlikes. Foutiewe skyf van hierdie indekse kan lei tot 'n blik lig vooroordeel deur die inlywing van data op Nk vir nie-nul k. Parameter Berekening - Nog 'n algemene voorbeeld van blik lig vooroordeel ontstaan ​​wanneer die berekening van optimale strategie parameters, soos met lineêre regressies tussen twee tydreekse. As die hele datastel (insluitend toekomstige data) word gebruik om die regressiekoëffisiënte te bereken, en dus terugwerkend toegepas op 'n handel strategie vir die optimalisering doeleindes, dan toekoms data word opgeneem en 'n blik lig vooroordeel bestaan. Maxima / minima - Sekere handel strategieë gebruik maak van ekstreemwaardes in enige tydperk, soos die integrasie van die hoë of lae pryse in OHLC data. Maar, aangesien hierdie maksimale / minimale waardes kan slegs bereken aan die einde van 'n tydperk, 'n blik lig vooroordeel is ingestel as hierdie waardes word gebruik - during - die huidige tydperk. Dit is altyd nodig om 'n hoë / lae waardes lag deur ten minste een tydperk in enige handel strategie maak gebruik van hulle. Soos met optimization vooroordeel, moet 'n mens baie versigtig wees om sy bekendstelling vermy. Dit is dikwels die hoofrede waarom handel strategieë onderpresteer hul backtests aansienlik in lewende handel. Overlevingspensioen Vooroordeel Overlevingspensioen vooroordeel is 'n besonder gevaarlike verskynsel en kan lei tot 'n aansienlike opgeblaas prestasie vir sekere tipes strategie. Dit vind plaas wanneer strategieë getoets op datastelle wat nie sluit in die volle heelal van vorige bates wat moontlik gekies op 'n bepaalde punt in die tyd, maar slegs oorweeg diegene wat oorleef het om die huidige tyd. As 'n voorbeeld, oorweeg die toets van 'n strategie op 'n ewekansige seleksie van aandele voor en na die ineenstorting 2001. Sommige tegnologie-aandele bankrot, terwyl ander het daarin geslaag om te bly dryf en selfs voorspoedig. As ons hierdie strategie net om aandele wat dit gemaak het deur die mark drawdown tydperk het beperkte, sou ons die bekendstelling van 'n overlevingspensioen vooroordeel omdat hulle reeds hul sukses het getoon vir ons. Trouens, dit is net nog 'n spesifieke geval van voorkoms lig vooroordeel, as toekomstige inligting word opgeneem in die verlede ontleding. Daar is twee hoof maniere om oorlewing vooroordeel te verminder in jou strategie backtests: Overlevingspensioen Vooroordeel Gratis Datastelle - In die geval van aandele data is dit moontlik om datastelle wat insluit gedenoteer entiteite te koop, hoewel hulle nie goedkoop en net geneig om dit moontlik te maak deur institusionele firmas . In die besonder, Yahoo Finansies data is nie overlevingspensioen vooroordeel gratis, en dit word algemeen gebruik word deur baie kleinhandel algo handelaars. 'N Mens kan ook handel oor bateklasse wat nie geneig is tot oorlewing vooroordeel, soos sekere kommoditeite (en hul toekoms weergawes). Gebruik meer onlangse Data - In die geval van aandele, met behulp van 'n meer onlangse datastel verlaag die moontlikheid dat die voorraad seleksie gekies is geweeg om oorlewendes, net soos daar minder kans op algehele voorraad denotering in korter tydperke. 'N Mens kan ook begin met die bou van 'n persoonlike oorlewing-vooroordeel gratis dataset deur die versameling van data van die huidige punt af. Na 3-4 jaar, sal jy 'n stewige oorlewing-vooroordeel vrymaak van aandele data waarmee verdere strategieë backtest het. Ons sal nou kyk na sekere psigologiese fenomene wat jou handel prestasie kan beïnvloed. Sielkundige Verdraagsaamheid Vooroordeel Hierdie spesifieke verskynsels is nie dikwels bespreek in die konteks van kwantitatiewe handel. Dit word egter uitvoerig bespreek met betrekking tot meer diskresionêre handel metodes. Dit het verskeie name, maar Ive het besluit om dit te noem sielkundige verdraagsaamheid vooroordeel omdat dit die kern van die probleem vang. Wanneer die skep van backtests oor 'n tydperk van 5 jaar of meer, is dit maklik om te kyk na 'n opwaarts neig aandele kurwe, bereken die saamgestelde jaarlikse opbrengs, Sharpe verhouding en selfs eienskappe drawdown en tevrede wees met die resultate. As 'n voorbeeld, kan die strategie 'n maksimum relatiewe drawdown van 25 en 'n maksimum drawdown duur van 4 maande in besit te neem. Dit sou nie atipiese vir 'n momentum strategie wees. Dit is maklik om jouself te oortuig dat dit maklik is om sodanige tydperke van verliese duld omdat die algehele prentjie is rooskleurig. Maar in die praktyk, is dit veel moeiliker as historiese onttrekkings van 25 of meer voorkom in die backtests, dan in alle waarskynlikheid sal jy tydperke van soortgelyke drawdown in lewende handel te sien. Hierdie periodes van onttrekking is sielkundig moeilik om te verduur. Ek het eerstehandse wat 'n uitgebreide drawdown kan wees soos in 'n institusionele omgewing waargeneem, en dit is nie lekker - selfs al is die backtests stel sodanige tydperke sal plaasvind. Die rede waarom ek het dit 'n vooroordeel genoem is wat dikwels 'n strategie wat andersins suksesvol sou wees in tye van uitgebreide drawdown is verstop raak van die handel en sodoende sal lei tot beduidende onderprestasie in vergelyking met 'n backtest. Dus, selfs al is die strategie is algoritmiese in die natuur, sielkundige faktore kan nog 'n swaar invloed op winsgewendheid. Die afhaal is om te verseker dat as jy sien onttrekkings van 'n sekere persentasie en duur in die backtests, dan moet jy verwag dat hulle kom in lewende handel omgewings, en sal moet volhard om winsgewendheid weer bereik. Sagteware pakkette vir back testing Die sagteware landskap vir strategie back testing is groot. Oplossings wissel van ten volle geïntegreerde institusionele graad gesofistikeerde sagteware deur te programmeertale soos C, Python en R waar byna alles moet geskryf van nuuts af (of geskikte plugins verkry). Soos Quant handelaars ons is geïnteresseerd in die balans van die vermoë om eie ons handel tegnologie stapel teenoor die spoed en betroubaarheid van ons ontwikkeling metodologie. Hier is die sleutel oorwegings vir sagteware keuse: ontwikkeling vaardigheid - Die keuse van die omgewing sal in 'n groot deel afgekom om jou vermoë om sagtewareprogram. Ek sou argumenteer dat in beheer van die totale stapel 'n groter uitwerking op jou langtermyn PL as uitkontraktering so veel as moontlik om sagteware verskaffer sal hê. Dit is te danke aan die negatiewe kant risiko van 'n eksterne foute of eienaardighede wat jy nie in staat is om op te los in ondernemer sagteware is, wat andersins maklik sou word reggestel as jy meer beheer oor jou tegnologie stapel gehad. Jy wil ook 'n omgewing te skep wat die regte balans tussen produktiwiteit, biblioteek beskikbaarheid en spoed van uitvoering tref. Ek maak my eie persoonlike aanbeveling hieronder. Uitvoering Capability / Broker Interaksie - Sekere back testing sagteware, soos TradeStation, bande in direk met 'n makelaar. Ek is nie 'n fan van hierdie benadering as die vermindering van transaksiekoste is dikwels 'n groot komponent van om 'n hoër Sharpe verhouding. As jy vasgebind in 'n bepaalde makelaar (en TradeStation forseer jou om dit te doen), dan sal jy 'n moeiliker tyd oorgang na nuwe sagteware (of 'n nuwe makelaar) indien die behoefte ontstaan ​​het. Interaktiewe Brokers bied 'n API wat robuuste, al is dit met 'n effens stomp koppelvlak. Aanpassing - 'n omgewing soos MATLAB of Python gee jou 'n groot mate van buigsaamheid wanneer die skep van algo strategieë as wat hulle lewer fantastiese biblioteke vir byna enige wiskundige operasie denkbaar, maar ook 'n uitgebreide aanpassing waar nodig toe te laat. Strategie Kompleksiteit - Sekere sagteware net isnt uitgeknip vir swaar verwerking van syfers of wiskundige kompleksiteit. Excel is een so 'n stukkie van die sagteware. Terwyl dit is goed dat eenvoudiger strategieë, kan dit nie regtig gaan met talle bates of meer ingewikkeld algoritmes, op spoed. Vooroordeel Minimalisering - Is 'n bepaalde stuk sagteware of data leen homself meer te handel vooroordele Jy moet seker maak dat as jy wil al die funksies jouself te skep, wat jy hoef te stel foute wat kan lei tot vooroordele. Spoed van ontwikkeling - Een behoort nie moet maande en maande spandeer implementering van 'n backtest enjin. Prototyping moet net 'n paar weke neem. Maak seker dat jou sagteware jou vordering op enige groot mate nie verhinder nie, net om 'n paar ekstra persentasiepunte van uitvoering spoed gryp. C is die olifant in die kamer hier Spoed van die uitvoering van - As jou strategie is heeltemal afhanklik van uitvoering tydigheid (soos in HFT / UHFT) dan 'n taal soos C of C sal nodig wees. Jy sal egter wees grense aan Linux-kern optimalisering en FPGA gebruik vir hierdie gebiede, wat buite die bestek van hierdie artikel Koste - Baie van die sagteware omgewings wat jy kan program algoritmiese handel strategieë met heeltemal gratis en open source. Trouens, baie verskansingsfondse maak gebruik van open source sagteware vir hul hele algo handel stapels. Daarbenewens, Excel en MATLAB is albei relatief goedkoop en daar is selfs gratis alternatiewe vir elke. Noudat ons die kriteria waaraan ons moet ons sagteware infrastruktuur kies gelys, ek wil uit te voer deur middel van 'n paar van die meer gewilde pakkette en hoe vergelyk hulle: Let wel: Ek is net gaan om sagteware wat beskikbaar is om die meeste kleinhandel praktisyns en sluit sagteware-ontwikkelaars, want dit is die lesers van die site. Terwyl ander sagteware is beskikbaar soos die meer institusionele graad gereedskap, ek voel dit is te duur om effektief gebruik word in 'n kleinhandel omgewing en ek het persoonlik geen ondervinding met hulle. Back testing sagteware Vergelyking Beskrywing: hoëvlaktaal ontwerp vir spoed van ontwikkeling. Wye verskeidenheid van biblioteke vir byna enige programmatiese taak denkbaar. Besig om wyer aanvaarding in hedge fund en beleggingsbank gemeenskap. Nie heeltemal so vinnig as C / C vir uitvoering spoed. Uitvoering: Python plugins bestaan ​​vir groter makelaars, soos interaktiewe Brokers. Vandaar backtest en uitvoering stelsel kan almal deel van dieselfde tegnologie stapel. Aanpassing: Python het 'n baie gesonde ontwikkeling gemeenskap en is 'n volwasse taal. Numpy / Scipy verskaf vinnige wetenskaplike gereedskap rekenaar en statistiese analise wat relevant is vir Quant handel. Strategie Kompleksiteit: Baie plugins bestaan ​​vir die grootste algoritmes, maar nie heeltemal so 'n groot quant gemeenskap as daar vir MATLAB. Vooroordeel Minimalisering: Dieselfde vooroordeel minimalisering probleme bestaan ​​as vir enige hoëvlak taal. Nodig om uiters versigtig oor die toets te wees. Ontwikkeling Spoed: Luislange grootste voordeel is die ontwikkeling spoed, met robuuste in gebou in toets vermoëns. Uitvoering Spoed: Nie heeltemal so vinnig as C, maar wetenskaplike berekening komponente is gemaak en Python kan tot inheemse C-kode gesels met sekere plugins. Koste: Gratis / Open Source Beskrywing: Volwasse, hoëvlaktaal ontwerp vir spoed van uitvoering. Wye verskeidenheid van kwantitatiewe finansies en numeriese biblioteke. Harder te ontfout en dikwels neem langer om te implementeer as Python of MATLAB. Uiters algemeen in beide die koop - en verkoop-kant. Uitvoering: Die meeste makelaars API is geskryf in C en Java. So bestaan ​​baie plugins. Aanpassing: C / C kan direkte toegang tot die onderliggende geheue, kan dus ultrahoëfrekwensie strategieë geïmplementeer word. Strategie Kompleksiteit: C STL bied n wye verskeidenheid van new algoritmes. Byna enige gespesialiseerde wiskundige algoritme beskik oor 'n vrye, open-source C / C implementering op die web. Vooroordeel Minimalisering: Kyk lig vooroordeel kan lastig om te skakel, maar geen harder as ander hoëvlaktaal. Goeie ontfouting gereedskap, maar 'n mens moet versigtig wees wanneer hulle met onderliggende geheue. Ontwikkeling Spoed: C is nogal uitgebreide vergelyking met Python of MATLAB vir dieselfde algorithmm. Meer lyne-van-kode (LOC) lei dikwels tot 'n groter waarskynlikheid van foute. Uitvoering Spoed: C / C het 'n baie vinnige uitvoering spoed en kan goed geskik vir spesifieke computational argitekture. Dit is die hoofrede om dit aan te wend. Koste: Verskeie opstellers: Linux / GCC is gratis, MS Visual Studio het verskillende lisensies. Verskillende strategieë sal verskillende sagtewarepakkette vereis. HFT en UHFT strategieë sal geskryf in C / C (deesdae word hulle dikwels uit op GPU's en FPGAs gedra), terwyl 'n lae-frekwensie rigting ekwiteit strategieë is maklik om te implementeer in TradeStation, as gevolg van die alles in een aard van die sagteware / makelaars. My persoonlike voorkeur is vir Python aangesien dit die regte mate van aanpassing, spoed van ontwikkeling, toetsing vermoë en uitvoering spoed vir my behoeftes en strategieë. As ek iets vinniger nodig, kan ek direk val in by C van my Python programme. Een metode bevoordeel deur baie Quant handelaars is om hul strategieë in Python prototipe en dan sit die stadiger uitvoering afdelings om C in 'n iteratiewe wyse. Uiteindelik het die hele algo is geskryf in C en kan alleen gelaat te handel in die volgende paar artikels oor back testing ons 'n blik op 'n paar spesifieke kwessies rondom die implementering van 'n algoritmiese handel back testing stelsel, sowel as hoe om die gevolge van te neem te neem handel ruil. Ons sal strategie prestasiemeting te bespreek en uiteindelik sluit af met 'n voorbeeld strategie. 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 ArticlesBasics van Algorithmic Trading: Konsepte en voorbeelde laai die speler. 'N Algoritme is 'n spesifieke stel van duidelike instruksies gemik n taak of proses uit te voer. Algoritmiese handel (outomatiese handel, swart-box handel, of bloot algo-handel) is die proses van die gebruik van rekenaars geprogrammeer om 'n bepaalde stel instruksies gebruik om die 'n handelsmerk ten einde winste teen 'n spoed en frekwensie wat onmoontlik is vir 'n te genereer menslike handelaar. Die gedefinieer stelle reëls is gebaseer op tydsberekening, prys, hoeveelheid of enige wiskundige model. Afgesien van wins geleenthede vir die handelaar, algo-handel maak markte meer vloeistof en maak handel meer sistematiese deur die beslissing uit emosionele menslike impak op handelsaktiwiteite. Veronderstel 'n handelaar volg hierdie eenvoudige handel kriteria: Koop 50 aandele van 'n voorraad wanneer sy 50-dae - bewegende gemiddelde gaan bo die 200-daagse bewegende gemiddelde verkoop aandele van die voorraad wanneer sy 50-dae - bewegende gemiddelde gaan onder die 200-daagse bewegende gemiddelde die gebruik van hierdie reeks van twee eenvoudige instruksies, is dit maklik om 'n rekenaarprogram wat outomaties die aandele prys (en die bewegende gemiddelde aanwysers) sal monitor en plaas die koop en verkoop bestellings wanneer die gedefinieerde vereistes voldoen word skryf. Die handelaar nie meer nodig het om 'n horlosie vir lewendige pryse en grafieke hou, of sit in die bestellings hand. Die algoritmiese handel stelsel doen dit outomaties vir hom deur korrek te identifiseer die handel geleentheid. (Vir meer inligting oor bewegende gemiddeldes, sien: Eenvoudige bewegende gemiddeldes Maak Trends uitstaan.) Algo-handel bied die volgende voordele: Trades uitgevoer teen die beste moontlike pryse Instant en akkurate handel orde plasing (en sodoende 'n hoë kans om uitvoering aan die gewenste vlakke) Trades korrek snel en onmiddellik, tot 'n aansienlike prys veranderinge verlaagde transaksiekoste (sien die implementering tekort voorbeeld hieronder) Gelyktydige outomatiese kontrole op verskeie marktoestande risiko van handleiding foute in die plasing van die ambagte voorkom verlaagde backtest die algoritme, gebaseer op beskikbare historiese en real time data verlaagde moontlikheid van foute deur menslike handelaars wat gebaseer is op emosionele en sielkundige faktore Die grootste gedeelte van die hedendaagse algo-handel is 'n hoë frekwensie handel (HFT), wat poog om munt te slaan uit die plasing van 'n groot aantal bestellings teen 'n baie vinnige spoed op verskeie markte en verskeie besluit parameters, wat gebaseer is op geprogrammeerde instruksies. (Vir meer inligting oor 'n hoë frekwensie handel, sien: Strategieë en Secrets van High Frequency Trading (HFT) Firmas) Algo-handel gebruik word in baie vorme van handel en belegging aktiwiteite, insluitend: Mid om langtermyn beleggers of koop kant firmas (pensioenfondse , onderlinge fondse, versekeringsmaatskappye) wat te koop in aandele in groot hoeveelhede, maar wil nie aandele pryse beïnvloed met diskrete, groot-volume beleggings. Korttermyn handelaars en verkoop deelnemers kant (Market makers. Spekulante. En arbitrageurs) voordeel van outomatiese uitvoering handel benewens, algo-handel hulpmiddels in die skep van voldoende likiditeit vir verkopers in die mark. Sistematiese handelaars (tendens volgelinge. Pare handelaars. Verskansingsfondse. Ens) vind dit baie meer doeltreffend om hul handel reëls program en outomaties laat die program handel. Algoritmiese handel bied 'n meer sistematiese benadering tot aktiewe handel as metodes gebaseer op 'n menslike handelaars intuïsie of instink. Algoritmiese handel strategieë Enige strategie vir algoritmiese handel vereis 'n geïdentifiseerde geleentheid wat geen voordeel aanbring in terme van verbeterde verdienste of verlaging van die koste. Die volgende is algemene handel strategieë wat in algo-beurs: die mees algemene algoritmiese handel strategieë te volg tendense in bewegende gemiddeldes. kanaal breakouts. prys vlak bewegings en verwante tegniese aanwysers. Dit is die maklikste en eenvoudigste strategieë te implementeer deur middel van algoritmiese handel omdat hierdie strategieë behels nie die maak van enige voorspellings of prys voorspellings. Ambagte geïnisieer gebaseer op die voorkoms van gewenste tendense. wat is eenvoudig en maklik om te implementeer deur middel van algoritmes, sonder om in die kompleksiteit van voorspellende analise. Bogenoemde voorbeeld van 50 en 200 dae bewegende gemiddelde is 'n gewilde neiging volgende strategie. (Vir meer inligting oor tendens handel strategieë, sien: eenvoudige strategieë Kapitaliseer op tendense.) Koop 'n dubbele genoteerde aandeel teen 'n laer prys in 'n mark en gelyktydig verkoop dit teen 'n hoër prys in 'n ander mark bied die prysverskil as risiko-vrye wins of arbitrage. Dieselfde operasie herhaal kan word vir aandele teenoor termynmark instrumente, soos prysverskille doen bestaan ​​van tyd tot tyd. Implementering van 'n algoritme om sulke prysverskille identifiseer en die plasing van die bestellings kan winsgewende geleenthede in doeltreffende wyse. Indeksfondse het tydperke van herbalansering gedefinieer om hul hoewes te par te bring met hul onderskeie maatstaf indekse. Dit skep winsgewende geleenthede vir algoritmiese handelaars, wat munt te slaan uit verwagte ambagte wat 20-80 basispunte winste na gelang van die aantal aandele in die indeks fonds, net voor indeksfonds herbalansering bied. Sulke transaksies is geïnisieer deur algoritmiese handel stelsels vir tydige uitvoering en die beste pryse. Daar is baie van bewese wiskundige modelle, soos die delta-neutraal handel strategie, wat handel toelaat op kombinasie van opsies en die onderliggende sekuriteit. waar ambagte geplaas om positiewe en negatiewe deltas geneutraliseer sodat die portefeulje delta gehandhaaf op nul. Beteken terugkeer strategie is gebaseer op die idee dat die hoë en lae pryse van 'n bate is 'n tydelike verskynsel wat terugkeer na hul gemiddelde waarde van tyd tot tyd. Die identifisering en definiëring van 'n prysklas en implementering algoritme gebaseer op wat dit moontlik maak ambagte outomaties geplaas word wanneer die prys van bate breek in en uit sy gedefinieer reeks. Deel gemiddelde prys strategie breek 'n groot bestelling en vrystellings dinamiese bepaal kleiner stukke van die einde van die mark met behulp van voorraad spesifieke historiese volume profiele. Die doel is om die einde naby aan die Deel gemiddelde prys (VWAP) uit te voer, en daardeur bevoordeel op gemiddelde prys. Tyd gemiddelde prys strategie breek 'n groot bestelling en vrystellings dinamiese bepaal kleiner stukke van die einde van die mark met behulp van eweredig verdeel tydgleuwe tussen 'n begin en einde van tyd. Die doel is om die einde naby aan die gemiddelde prys tussen die begin en einde tye uit te voer, en daardeur impak mark minimaliseer. Tot die handel orde ten volle gevul is, sit hierdie algoritme stuur gedeeltelike bestellings, volgens die gedefinieerde deelname verhouding en volgens die volume verhandel in die markte. Die verwante stappe strategie stuur bestellings by 'n gebruiker-gedefinieerde persentasie van die mark volumes en vermeerder of verminder hierdie deelname koers toe die aandeelprys gebruiker-gedefinieerde vlakke bereik. Die implementering tekort strategie het ten doel om die vermindering van die uitvoering koste van 'n bevel deur die handel van die real-time mark en sodoende spaar op die koste van die orde en voordeel trek uit die geleentheid koste van vertraagde uitvoering. Die strategie sal die geteikende deelname koers te verhoog wanneer die aandele prys gunstig beweeg en dit toe die aandeelprys beweeg nadelig verminder. Daar is 'n paar spesiale klasse van algoritmes wat poog om gebeure te identifiseer aan die ander kant. Hierdie snuif algoritmes, gebruik, byvoorbeeld deur 'n sell kant mark maker het die ingeboude intelligensie om die bestaan ​​van enige algoritmes te identifiseer op die koop kant van 'n groot bestelling. Sulke opsporing deur algoritmes sal help om die mark maker identifiseer groot bestelling geleenthede en hom in staat stel om voordeel te trek deur die invul van die bestellings teen 'n hoër prys. Dit is soms geïdentifiseer as 'n hoë-tegnologie voor-loop. (Vir meer inligting oor 'n hoë-frekwensie handel en bedrieglike praktyke, sien: As jy koop Aandeel Online, is jy betrokke HFTs.) Tegniese vereistes vir Algorithmic Trading Implementering van die algoritme gebruik van 'n rekenaarprogram is die laaste deel, clubbed met back testing. Die uitdaging is om die geïdentifiseerde strategie te omskep in 'n geïntegreerde gerekenariseerde proses wat toegang tot 'n handelsrekening vir die plaas van bestellings het. Die volgende word benodig: Rekenaarprogramering kennis om die vereiste handel strategie program, gehuur programmeerders of pre-made handel sagteware Netwerk konneksie en toegang tot handel platforms vir die plasing van die bestellings Toegang tot die mark data feeds wat sal gemonitor word deur die algoritme vir geleenthede om te plaas bestellings die vermoë en infrastruktuur om die stelsel backtest keer gebou, voordat dit gaan live op werklike markte beskikbaar historiese data vir back testing, afhangende van die kompleksiteit van reëls in algoritme Hier geïmplementeer is 'n omvattende voorbeeld: Koninklike Nederlandse Shell (RDS) is gelys op Amsterdam aandelebeurs (AEX) en die Londense aandelebeurs (LSE). Kom ons bou 'n algoritme om arbitrage geleenthede te identifiseer. Hier is 'n paar interessante opmerkings: AEX ambagte in Euro, terwyl LSE handel dryf in Sterling Ponde As gevolg van die een uur tydsverskil, AEX open 'n uur vroeër as LSE, gevolg deur beide ruil handel gelyktydig vir volgende paar uur en dan handel net in LSE tydens die laaste uur as AEX toemaak kan ons ondersoek die moontlikheid van arbitrage handel oor die Koninklike Nederlandse Shell genoteerde oor hierdie twee markte in twee verskillende geldeenhede 'n rekenaarprogram wat huidige markpryse prys feeds van beide LSE en AEX n forex koers voer vir lees GBP-euro-wisselkoers bevel vermoë wat kan roete die einde die korrekte ruil Terug-toets vermoë op historiese prys voed die rekenaarprogram moet die volgende uit te voer: Lees die inkomende prys toevoer van RDS voorraad van beide ruil Gebruik die beskikbare buitelandse wisselkoerse . omskep die prys van een geldeenheid na 'n ander As daar 'n groot genoeg prysverskil (verdiskontering die makelaars koste) wat lei tot 'n winsgewende geleentheid bestaan, dan plaas die koop orde op laer pryse ruil en te verkoop ten einde op 'n hoër prys ruil As die bevele uitgevoer as jy wil, sal die arbitrage wins egter eenvoudig en maklik te volg, die praktyk van algoritmiese handel is nie so eenvoudig om te handhaaf en uit te voer. Onthou, as jy 'n-algo gegenereer handel die ander deelnemers aan die mark kan plaas, sodat ons kan. Gevolglik pryse wissel in milli - en selfs mikrosekondes. In die voorbeeld hierbo, wat gebeur as jou koop handel sal uitgevoer word, maar verkoop handel nie die geval is as die verkoop pryse te verander deur die tyd jou bestelling treffers die mark Jy sal uiteindelik sit met 'n oop posisie. maak jou arbitrage strategie waardeloos. Daar is bykomende risiko's en uitdagings: byvoorbeeld, stelsel mislukking risiko's, verbindingsnetwerk foute, time-lags tussen handel bestellings en uitvoering, en, die belangrikste van alles, onvolmaakte algoritmes. Hoe meer kompleks 'n algoritme, is die strenger back testing nodig voordat dit in werking gestel word. Kwantitatiewe ontleding van 'n algoritmes prestasie speel 'n belangrike rol en moet krities ondersoek word. Die opwindende om te gaan vir outomatisering aangehelp deur rekenaars met 'n idee om geld te moeiteloos te maak. Maar 'n mens moet seker maak die stelsel is deeglik getoets en vereis perke gestel. Analitiese handelaars in ag moet neem aanleer van programmering en die bou van stelsels op hul eie, vol vertroue oor die implementering van die regte strategieë in onfeilbaar wyse te wees. Versigtig gebruik en 'n deeglike toets van algo-handel kan winsgewend opportunities. First skep, wees versigtig om nie te conflate wat ons konvensioneel oorweeg om sistematiese kwantitatiewe handel en algoritmiese handel wees. In bedryf omgangstaal, algoritmiese handel verwys dikwels na die gebruik van uitvoering algoritmes wat verdeel 'n puntsgewyse ouer orde in 'n stel van 'n kind bestellings versprei oor 'n interval en probeer om 'n paar maatstaf getref, bv VWAP of minimering van 'glip. Regmatig, dit is nou redelik algemeen om alfa voorspellings te neem in 'n uitvoering algo, en Net so kan 'n generiese algoritmes (bv Bellman-Ford) of uitvoering algoritmes in kwantitatiewe handel strategieë in diens. So miskien om spesifiek oor die verskille tussen die twee is beperk tot 'n werk soek: Die verantwoordelikhede is heel anders tussen 'n kwantitatiewe handel span teen 'n heining fonds en 'n algoritmiese handel lessenaar by 'n makelaar-handelaar. Tog, met die doel om meer duidelikheid aan my antwoord, ek sal die twee te onderskei. 'N Eenvoudige algoritmiese handel strategie om te verstaan ​​is 'n naïewe TWAP strategie, wat net 'n groot ouer orde in kleiner, ewe-grootte kind bestellings eenvormig versprei oor die tyd interval, wat empiries split (en teoreties, onder sekere aannames van prysvorming proses) gevind om impak mark te verminder. Soos vir sistematiese Quant strategieë, 'n langer horison, baie van hierdie is nog steeds gemotiveer deur faktor modelle of gemiddelde-variansie optimalisering. In die voormalige, 'n basiese strategie spreek die toekomstige opbrengste van 'n bate as 'n lineêre kombinasie van historiese faktore en normaal verdeel geraas. Gemeenskaplike gelykheid faktore is markopbrengste, markkapitalisasie, boek-tot-mark-verhouding en momentum. Vir vaste inkomste, is termyn en 'n standaard risikofaktore dikwels gebruik. Die faktorbeladings of konstante koëffisiënte van die faktore is opgelos met kleinstekwadrate oor sommige venster van historiese data - hierdie deel is byna altyd deur 'n rekenaar, dus algoritmiese gedra. As 'n kant-noot: Hierdie model dateer ook die gewilde idee van 'n mark neutrale strategie, beoefen deur baie verskansingsfondse, met die geloof in 'n sterk-gemiddelde terugkeer gedrag in die oorblywende tyd reeks. In die algemene vorm van gemiddelde-variansie optimalisering, spreek een van jou portefeulje verwagte opbrengste, variansie en beperkings as funksies van posisie groottes in elke sekuriteit in jou portefeulje. Dit is 'n kenmerkende probleem vir die metode van Lagrange-vermenigvuldigers, en daar is volwasse numeriese biblioteke wat dit op te los baie vinnig op 'n CPU. Dit is 'n elegante en buigsame formulering: inderdaad, kan jy 'n verskeidenheid van interessante beperkinge in die gewigte uit te druk, of dit nou 'n lang-net, hefboom,-gamma geweeg, of beta neutraliteit, kwadratiese transaksiekoste - hierdie spesiale gevalle te motiveer hul algoritmiese implementering in 'n lang-kort aandelefonds, beta neutrale fonds, 130/30 fonds, en so aan. As 'n voorbeeld, wisselvalligheid arbitrage strategieë ten doel om die verskil tussen geïmpliseer wisselvalligheid en voorspel besef wisselvalligheid te vang. Op die onderste vlak, kan sodanige strategieë rooster modelle en Monte Carlo simulasies wat om numeries opgelos het in diens, dus in wese die beperking van die praktyk van hierdie strategieë om 'n sekere mate van algoritmiese implementering. Die vooruitgang in GPGPU verwerking en parallel rekenaar raamwerke in staat stel interessante strewes van sistematiese beurs in die ruimte. 2.6k Views middot View upvotes middot Nie vir ReproductionPROVEN algoritmiese handel strategieë ACHIEVE Diversifikasie in jou portefeulje wat jy nog nooit gedink het moontlik Ons algoritmiese handel strategieë verskaf diversifikasie om jou portefeulje deur die handel verskeie esels soos die S038P 500 indeks, DAX-indeks, en die wisselvalligheid indeks, deur die gebruik van termynkontrakte handel, of 'n baie vloeibare beursverhandelde fondse. Die toepassing van die tendens volg, teen-tendens handel, en reeks gebind siklus strategieë, ons soek na 'n sistematiese, hoogs outomatiese handel besluit proses in staat om konsekwente opbrengste vir ons kliënte te verskaf. Ons bied verskeie algoritmiese handel strategieë waar al algoritmiese strategieë met die hand kan gevolg word deur die ontvangs van e-pos en sms-boodskappe, of dit kan wees 100 hands-free outomaties verhandel in jou makelaar rekening. Dit is aan jou en jy kan selfs draai op / af outomatiese handel op enige tyd, sodat jy altyd in beheer van jou bestemming. Ons Algorithmic handel strategieë: 1. Korttermyn momentum verskuiwings tussen oorgekoop en oorverkoopte marktoestande, wat verhandel met behulp van 'n lang en kort posisies sodat, potensiële winste in enige mark rigting. 2. Trend volgende neem voordeel van uitgebreide multi maand prysbewegings in enige rigting op of af. 3. Sikliese handel kan potensiële winste tydens 'n reeks gebind sywaarts mark. Sommige van die grootste winste ondervind tydens woelig marktoestande met hierdie strategie. Ons Produkte AlgoTrades is 'n alles-in-een handel stelsel diens wat die mees doeltreffende en belangrike vorme van bo na unieke algoritmiese handel stelsels vir dinamiese en robuuste skepping stelsel gelys analise kombineer. AlgoTrades kwantitatiewe handel strategieë te diversifiseer jou portefeulje op twee maniere (1) hy handel dryf die grootste voorraad indekse vir totale diversifikasie met alle sektore mark, (2) dit het drie unieke analise algoritmiese handel strategieë. Die drie unieke handel strategieë bykomende stabiliteit as gevolg van verskeie benaderings en die feit posisies wissel in lengte en grootte. Genereer Konsekwente langtermyngroei ons algoritme handel strategieë Beskrywing 038 Filosofie Ons glo die AlgoTrades algoritmiese handel stelsel is alles wat 'n handelaar en belegger moet konsekwent langtermyn-groei te genereer. Ons unieke eie gereedskap en handel algoritmes ons in staat stel om voordeel te trek uit die finansiële markte, ongeag van die market8217s rigting te neem. AlgoTrades8217 gevorderde filters monitor die mark op 'n blok-vir-blok grondslag evalueer elke inskrywing, wins / verlies, of stop plasing vlak in real-time, so jy hoef nie te. Wat verhandel: Die stelsels wat die ES mini termynkontrak, DAX termynmark verhandel, met beide lang en kort posisies. Sommige stelsels handel met behulp van beursverhandelde fondse met 'n fokus op die handel die indekse, sektore en die wisselvalligheid indeks. Ons het ook voorraad handel stelsels vir diegene hoe verkies aktiewe-beurs. Ambagte wissel in lengte, afhangende van die strategie. Stelsels wissel vorm dae handel te multi-week lange tendens handel. AlgoTrades8217 nommer een prioriteit na die uitvoering van 'n posisie is om winste te maksimeer en verminder risiko. Posisie Management Gebruik Elkeen van ons stelsels handel óf 1 termynkontrak of 'n vaste posisie grootte waarde as dit verhandel aandele of ETF8217s. Ook 'n paar stelsel soos termynkontrakte handel of lank / kort voorraad stelsels sal 'n marge rekening vereis, terwyl 'n lang net ETF stelsel (gereelde en omgekeerde fondse) enige normale-beurs rekening gebruik kan word. Ons stelsels is almal skaal-staat, wat beteken dat indien 'n stelsel 10000 rekening grootte vereis en jy het 'n 20K rekening sal jy net stel die stelsel skaal tot 200. Dit sal verseker dat jy die handel die korrekte posisie groottes vir jou rekening. Rekening Grootte nodige minimum handel rekening wat nodig is vir ambagte wat uitgevoer moet word met ons kleinste stelsel is 'n 10,000 rekening. Ons stelsels is almal skaal-staat, wat beteken dat indien 'n stelsel bepaal dat dit vereis 10,000 rekening grootte en jy het 'n 20.000 rekening sal jy net stel die stelsel skaal tot 200. Aan die ander kant, as 'n stelsel sê sy vereis 25.000 en jy het net 12500 sou jy die stelsel skaal stel om handel te dryf 50 van die stelsel posisie grootte. Dit sal verseker dat jy die handel die korrekte posisie groottes vir jou rekening. Meer inligting oor die algoritmiese handel strategieë gebruik om u rekening HANDEL BELANGRIKE 8211 algoritmiese handel strategieë: Elke jaar het die aandelemark het 'n lieflike plek waar 'n groot gedeelte van die winste binne 'n paar maande sal gegenereer word sodat verbintenis tot die algoritmiese handel stelsel is belangrik vir 'n lang termyn sukses. Algoritmiese handel strategie WEL Ons AlgoTrades stelsel is ontwikkel en verhandel word deur professionele persone wat hul stelsel, passie van die markte, en lewenstyl met ons uitgesoekte groep van die handelaars en beleggers te deel. Die AlgoTrades span het 'n gesamentlike ervaring vlak van 77 jaar in die markte. Ons hulpbronne loop wyd en syd oor die dag handel, swaai handel, 24-uur Futures Trading, voorrade, ETF8217s, en algoritmiese ontwikkeling handel strategieë. Ons klein en elite-groep gesien en dit alles gedoen Ons is trots om AlgoTrades beskikbaar vir individuele beleggers te vlak te help om die speelveld met die voordele, verskansingsfondse en private ekwiteit maatskappye op Wall Street te maak. Ons algoritmiese handel strategieë te gebruik 'n paar data punte om sy besluitneming en ambagte krag. Die gebruik van siklusse, volume verhoudings, tendense, wisselvalligheid, marksentiment en patroonherkenning, plaas die waarskynlikheid in ons guns om geld te maak. BELANGRIKE algoritmiese handel strategieë FEATURE 038 voordeel vir FUTURES HANDELAARS: Wanneer 'n termynkontrak nader verstryking, sal ons stelsel outomaties sluit die voorkant of nabygeleë kontrak en hervestig die posisie in die nuwe front of nabygeleë kontrak maand. Geen aksie vereis van jou kant. Dit is 'n ware hande vry outomatiese handel strategie. Kopiereg 2016 - ALGOTRADES - Outomatiese Algorithmic Trading System CFTC REËL 4.41 - hipotetiese of gesimuleerde prestasieresultate sekere beperkings. Anders as 'n werklike vertoningslys, MOENIE gesimuleerde uitslae verteenwoordig werklike handel. Ook, omdat Die bedrywe HET NIE uitgevoer, kan die resultate is onder-OF-OOR vergoed vir die impak, indien enige, van SEKERE markfaktore, soos 'n gebrek aan likiditeit. Gesimuleerde TRADING programme in die algemeen ook onderhewig aan die feit dat hulle is ontwerp met die voordeel van agterna. GEEN VERTEENWOORDIGING gemaak DAT ENIGE rekening of waarskynlik om voordeel te trek of verliese soortgelyk aan dié wat ACHIEVE. Geen voorstelling gemaak of geïmpliseer dat die gebruik van die algoritmiese handel stelsel inkomste sal genereer of 'n wins te waarborg. Daar is 'n aansienlike risiko van verlies wat verband hou met termynkontrakte handel en handel beursverhandelde fondse. Futures handel en handel beursverhandelde fondse behels 'n aansienlike risiko van verlies en is nie geskik vir almal. Hierdie resultate is gebaseer op gesimuleerde of hipotetiese prestasie resultate wat sekere inherente beperkings het. In teenstelling met die bedrag wat in 'n werklike prestasie rekord resultate, moenie hierdie resultate nie verteenwoordig werklike handel. Ook, omdat hierdie ambagte het nie eintlik uitgevoer, hierdie resultate kan hê onder-of oor-vergoed vir die impak, indien enige, van sekere mark faktore, soos 'n gebrek aan likiditeit. Gesimuleerde of hipotetiese handel programme in die algemeen is ook onderhewig aan die feit dat hulle is ontwerp met die voordeel van agterna. Geen voorstelling gemaak word dat enige rekening sal of waarskynlik winste of verliese soortgelyk aan dié bereik wat gewys. Inligting op hierdie webwerf is opgestel sonder inagneming van enige spesifieke beleggingsdoelwitte beleggers, finansiële situasie en behoeftes en verder beveel intekenaars om nie op te tree op enige inligting sonder om spesifieke advies van hul finansiële adviseurs nie staatmaak op inligting van die webwerf as die primêre basis vir hul beleggingsbesluite en om hul eie risikoprofiel, risikotoleransie, en hul eie stop verliese te oorweeg. - Aangedryf deur omvou WordPress ThemeAlgorithmic handel strategieë met MATLAB Voorbeelde Ernest Chan, QTS Capital Management, LLC Die tradisionele paradigma van toepassing lineêre masjien leer tegnieke om algoritmiese handel strategieë ly gewoonlik massiewe data Snooping vooroordeel. Aan die ander kant, lineêre tegnieke, geïnspireer en beperk deur in-diepte domein kennis, het bewys waardevolle wees. Dit aanbieding beskryf die toepassing van die Kalman filter, 'n eg lineêre tegniek, in twee verskillende maniere om algoritmiese handel. Produk Fokus aangeteken word. September 19, 2013 Verwante hulpbronne vir MATLAB Kies 'n land Kies jou land te kry vertaalde inhoud waar beskikbaar en sien plaaslike gebeure en aanbiedings. Op grond van jou plek, beveel ons aan dat jy kies:.


No comments:

Post a Comment