Monday, October 10, 2016

Bou High Frequency Trading System

Stickin Dit om die Nerds: Die bou van 'n hoë-frekwensie Trading stelsel as 'n kind, het jy al ooit droom om 'n nerd ek didnt so dink. Maar oor die afgelope paar jaar, hoeveel glimlag mense het wat jy sien in die finansiële nuus wat soos, wel, nerds geskool in rekenaar teorie, wiskunde, fisika, wat ook al, hierdie nerds was in die nuus vir die maak van 'n klomp geld met gekyk gerekenariseerde beurs: hoë-volume, split-sekonde,-masjien gedryf koop en verkoop wat genette miskien 0,05 per 100 aandele. Wat nie die geval klink soos 'n klomp geld, maar vermenigvuldig met honderde duisende aandele oor duisende ambagte per dag, en dit begin optel. Trouens, dit is verantwoordelik vir die meerderheid van vandag se voorraad handel volume. En as jy oorskakel op jou onvoldoende laptop, kan jy dalk wonder, is dit wat ek moet doen om geld te handel Kort antwoord maak: No. Langer antwoord: Absoluut geen. Nerd Afwerend Medium Wat daardie stories havent het jy is dat die onlangse skerp swaai in wisselvalligheid baie mense wat gerekenariseerde handel te ontwikkel om hul strategieë te heroorweeg het gedwing. Die kort termyn, back-en-weer prysbewegings wat gerekenariseerde handel veronderstel is om te vang het meer uni-directional, en het 'n paar handelaars met 'n groot verlies van poste verlaat. Goed dan, vra jy, indien nie 'n hoë-frekwensie, gerekenariseerde handel, dan wat jy 'n strategie-gebaseerde benadering tot handel nodig het, sodat ongeag die voorraad of indeks, ongeag van die markomgewing, jy 'n benadering tot die vind van en die uitvoering het ambagte wat sin maak. Met ander woorde, 'n stelsel. Dit beteken dat jy nodig het om 'n stel reëls wat jy volg vir die kry in en uit van die ambagte elke keer, eerder as om net te skiet uit die heup te skep. Jou stelsel kan nie altyd uitdraai as wat jy verwag, of altyd geld te maak, maar jy sal 'n plan vir die plasing van ambagte. Jy mag nie jou foto te kry in die finansiële nuus, maar miskien betaal sal jy jou rekeninge en nog tyd om 'n normale persoon wees. Bou 'n 1-2-3 System So, hoe kan jy dit goed te doen, om te begin, as jy reeds die thinkorswim platform gelaai op jou laptop, jy het gereedskap tot jou beskikking wat ontwerp is om meer as wat die meeste van die Wall bied Street nerds het. Ernstig. En jy gaan aan dié gereedskap gebruik om ambagte wat voldoen aan die volgende drie kriteria te vind: 2. Positiewe tyd verval 3. Gunstige kans Kom elkeen af ​​te breek. Dit beteken nie saak wat die voorraad of indeks doen, of dit gaan op groot, af groot of nêrens glad, jou maksimum potensiële verlies is bekend voordat jy selfs die handel te doen. Byvoorbeeld, het 'n kort oproep vertikale risiko omskryf. 'N Kort naak oproep nie. Met die kort vertikale, die maksimum verlies is die verskil tussen die staking pryse minus die krediet ontvang. Dis dit. Met 'n naakte kort oproep, dont jy regtig weet wat jou maksimum verlies kan wees. Selfs as jy dink jy sal gebruik om 'n aftrekorder aan die kort oproep terug te koop indien die verlies raak te groot, wat as die voorraad gapings te oornag wanneer jy kan nie handel Stick met 'n gedefinieerde-risiko ambagte. 2. Positiewe Tyd Bederf Behalwe die dood en belasting, die enigste ander ding wat jy kan reken op is tyd verbygaan. En as dit nie die geval is, weve al het groter probleme. As gevolg van dat onvermydelikheid, jy wil tyd verby aan jou kant. Dit beteken dat jy jou posisies om positiewe tyd verval het, sodat alle ander dinge gelyk, eendag verby beteken dat jou posisie is die moeite werd om 'n bietjie meer. Positiewe tyd verval kom gewoonlik van 'n kort opsie iewers in die posisie. Dit nie die geval 'n blote kort (sien maatstaf 1) te wees, maar as deel van 'n verspreiding soos 'n kort vertikale, lang kalender. of yster Condor. 'n kort opsie sal tyd sit aan jou kant. 3. Gunstige kans Maak nie saak hoeveel navorsing wat jy doen, is die waarskynlikheid van 'n voorraad of indeks beweeg op of af is 50. Maar jy nie wil jou handel te afhanklik van die flip van 'n muntstuk. Die pad na die kans tip in jou guns is met slimmer strategie seleksie. Dit begin deur te soek die opsie ketting vir 'n korter termyn verstryk en 'n hoë waarskynlikheid van verval waardeloos. Dit sal jou laat versprei dat minder afhanklik van wat reg op rigting en meer op premium verval skep. Goed, nou Wat Nie te nerdy, is dit Kom ons draai die teoretiese in praktiese met 'n paar van die werklike lewe voorbeelde vir beide die voorraad en opsies handelaar. Die Stock Trader Julle n voorraad handelaar. Miskien is jy nie heeltemal gereed vir al die opsie verspreiding dinge. So, hoe doen die drie kriteria work for you As jy lank voorraad, jy reeds weet wat jou maksimum potensiële verlies indien die voorraad gaan na nul. Selfs al is die risiko 'n baie groot aantal sou wees, Ill argumenteer dat dit gedefinieer op sy eie manier. Dis maatstaf 1. Vir 2, kyk jy na 'n kort gedek oproep teen daardie lang voorraad te skep om jou 'n paar positiewe tyd verval gee. Wanneer jy kort 'n oproep teen jou lang voorraad, vir elke dag wat die aandeelprys nie die geval skuif, wat kort oproep gaan goedkoper en goedkoper te kry en maak dat jy 'n bietjie geld. Vir 3, kry die kans aan jou kant beteken die verkoop van 'n out-of-the-geld oproep dat 'n waarskynlikheid van verval waardeloos van ongeveer 60, wat jy kan doen van TD Ameritrades thinkorswim verhandelingsplatform (Figuur 1 hieronder) het. Die voorraad kan opstaan ​​om die trefprys van die kort oproep deur verstryking, en die oproep sal steeds verval waardeloos. Dit verminder die koste basis van jou lang voorraad, wat ook verlaag sy gelykbreekpunt. Dit beteken dat die voorraad kan 'n groter beweging af te maak, en jy kan nog steeds nie geld verloor. In thinkorswim, sien die waarskynlikheid van 'n opsie verval in-die-geld (ITM). Hier, 'n oproep met 'n 34 waarskynlikheid van verval ITM is dieselfde as om te sê dit het 'n 66 waarskynlikheid van verval waardeloos. Slegs ter illustrasie doeleindes. Die Options Trader Julle slaggereed om ontslae te gaan met opsies, maar jy nie seker is of jy moet lomp of lomp op 'n bepaalde voorraad of indeks wees. Moenie sweet die rigting van die voorraad. Die gebruik van die drie kriteria, kan jy 'n strategie wat nog geld selfs al is jy verkeerd op jou directional verbintenis kan maak vind. Kom ons kyk hoe. In die eerste plek begin met 'n paar rigtinggewende vooroordeel van die aandeel of indeks. Miskien is sy op grond van tegniese of fundamentele analise, of dalk jou gunsteling praat kop op TV voorgestel. Op pad was na 'n kort vertikale verspreiding (kriteria 1 en 2) 'n kort oproep vertikale skep as jy 'n lomp vooroordeel, of 'n kort stel vertikale as jy 'n lomp vooroordeel. Begin deur die vind van die verstryking van 25 tot 45 dae. Vir kriteria 3 As julle lomp, vind die out-of-the-geld kort oproep dat 'n 60-70 kans verval waardeloos het. As julle lomp, oorweeg om die out-of-the-geld kort sit dit 'n waarskynlikheid van verval waardeloos van tussen 60 en 70 het. Om 'n kort oproep skep vertikale, oorweeg die koop van die opsie oproep dis een staking verdere buite-die-geld as jou kort oproep. Om 'n kort put skep vertikale, oorweeg die koop van die verkoopopsie dis een staking verdere buite-die-geld as jou kort plaas. Nou, hier is wat kan gebeur. Met die kort oproep out-of-the-geld vertikale as die voorraad afbeweeg deur verstryking, jy geld maak. As die voorraad bly dieselfde deur verstryking, jy geld maak. As die voorraad beweeg op verby die kort staking van die kort oproep vertikale, sal jy waarskynlik geld verloor. Maar as dit net gaan 'n bietjie, nie so hoog soos die kort staking van die kort oproep vertikale, jy kan nog steeds geld maak. Die kort verkoopopsie werk op dieselfde manier, maar verloor geld indien die voorraad afbeweeg verby die kort staking van die kort sit vertikale. Dit is nie 'n dwaas-bewys, gewaarborgde manier om geld te maak handel. Maar dit is beter as die vergadering op die kantlyn, gefrustreerd en verward deur nie in staat is om die manier waarop jy dink die Wall Street voor - doen dit handel. Elke handel jy maak op grond van hierdie kriteria sal redenasie agter dit. En selfs al is die handel geld verloor, sal jy weet presies hoeveel en hoekom. Dis om 'n opgevoede handelaar. In plaas van 'n nerd. Het jy thinkorswim As jy hoef nie thinkorswim om waarskynlikhede, waarvoor wag jy nog vir Check uit wat sy alles oor amp deel te neem aan die pret te ontleed. Multi-been opsie-strategieë soos dié in hierdie artikel bespreek sal bykomende koste as gevolg van die bykomende stakings verhandel het. Maak seker dat jy al die risiko's wat betrokke is by elke strategie, transaksiekoste ingesluit verstaan, voordat jy probeer om 'n bedryf te plaas. Wees bewus daarvan dat opdrag op kort opsie-strategieë in hierdie artikel bespreek kan lei tot ongewenste lang of kort posisies op die onderliggende sekuriteit. Markonbestendigheid, volume, en beskikbaarheid stelsel kan toegang tot jou rekening en handel teregstellings vertraag. Vorige prestasie van 'n sekuriteit of strategie waarborg nie toekomstige resultate of sukses. Opsies is nie geskik vir alle beleggers as die spesiale risiko's wat inherent is aan handel opsies beleggers om potensieel vinnige en aansienlike verliese kan blootstel. handel opsies onderhewig aan TD Ameritrade hersiening en goedkeuring. Lees Eienskappe en risiko's van gestandaardiseerde Options voor te belê in opsies. Ondersteunende dokumentasie vir enige eise, vergelykings, statistieke, of ander tegniese data sal verskaf word op aanvraag. Die inligting is nie bedoel om beleggingsadvies word of as 'n aanbeveling of onderskrywing van 'n bepaalde belegging of beleggingstrategie, en is slegs vir illustratiewe doeleindes. Maak seker dat jy al die risiko's wat betrokke is by elke strategie, insluitend kommissie koste te verstaan, voordat jy probeer om 'n bedryf te plaas. Kliënte moet oorweeg alle relevante risikofaktore, insluitend hul eie persoonlike finansiële situasies, voordat die saak. TD Ameritrade, Inc. lid FINRA / SIPC. TD Ameritrade is 'n handelsmerk gesamentlik besit word deur TD Ameritrade IP Company, Inc en die Toronto-Dominion Bank. 2016 TD Ameritrade IP Company, Inc. Alle regte voorbehou. Gebruik met toestemming. Inconceivable. Heres Hoe jy jou eie hoë-frekwensie Trading operasie verlede week, het ons die voorreg van die vergadering af met Mike Felix en Dokter Lawrence Hansen van Lime makelaarsloon. 'n New York City-gebaseerde agentskap makelaar wat spesialiseer in 'n hoë-frekwensie. lae-latency handel. Die belangrikste afhaal. Diegene wat dink die spoed is onaanvaarbaar beter daaraan gewoond te raak, want hulle is hier om te bly en sy enigste gaan vinniger van hier te kry. Ons het hulle gevra hoe 'n mens te werk sal gaan om hul eie hoë-frekwensie handel werking op 'n amateur / kleinhandel vlak. Na spyker af presies wat die definisie van 'n hoë-frekwensie handel is. Toe het ons oor die stappe wat jy moet neem om dit te laat gebeur. Gebruik: One Page SlidesHigh frekwensie handel stelsel ontwerp en proses bestuur Hoë frekwensie handel stelsel ontwerp en proses bestuur adviseur: Roy E. Welsch. Departement: System Design and Management Program. Uitgewer: Massachusetts Institute of Technology Datum Uitgereik: 2009 firmas deesdae is hoogs afhanklik van data-ontginning, rekenaarmodellering en die ontwikkeling van sagteware. Finansiële ontleders te voer baie soortgelyke take aan dié in sagteware en vervaardigingsbedrywe. Maar die finansiële sektor het nog nie ten volle 'n hoë-standaard stelsels ingenieurswese raamwerke en proses bestuur benaderings wat suksesvol was in die sagteware en vervaardigingsbedrywe aangeneem. Baie van die tradisionele metodes vir die produk ontwerp, gehaltebeheer, sistematiese innovering, en deurlopende verbetering in ingenieursdissiplines aangewend kan word om die veld van finansies. Hierdie tesis wys hoe die kennis wat uit ingenieursdissiplines die ontwerp en prosesse bestuur van 'n hoë frekwensie handel stelsels kan verbeter. Hoë frekwensie handel stelsels is-berekening gebaseer. Hierdie stelsels is 'n outomatiese of semi-outomatiese sagteware stelsels wat inherent kompleks en vereis 'n groot mate van ontwerp presisie. Die ontwerp van 'n hoë frekwensie handel stelsel koppel verskeie velde, insluitend kwantitatiewe finansies, stelsel ontwerp en sagteware-ingenieurswese. In die finansiële sektor, waar wiskundige teorieë en handel modelle relatief goed nagevors, die vermoë om hierdie ontwerpe te implementeer in real handel praktyke is een van die belangrikste elemente van 'n belegging maatskappye mededingendheid. Die vermoë van die omskakeling van belegging idees in 'n hoë werkverrigting handel stelsels doeltreffend en effektief kan 'n belegging firma 'n groot mededingende voordeel te gee. (Verv.) Hierdie tesis verskaf 'n gedetailleerde studie bestaan ​​uit 'n hoë frekwensie handel stelsel ontwerp, stelsel modellering en beginsels, prosesse en bestuur vir stelsel ontwikkeling. Besondere klem word aan back testing en optimalisering, wat beskou word as die belangrikste dele in die bou van 'n handel stelsel. Hierdie navorsing bou stelsel ingenieurswese modelle wat die ontwikkelingsproses te lei. Dit maak ook gebruik van eksperimentele handel stelsels te verifieer en te bekragtig beginsels in hierdie tesis aangespreek. Ten slotte, hierdie tesis tot die gevolgtrekking dat stelselingenieurswese beginsels en raamwerke die sleutel tot sukses vir die implementering van 'n hoë frekwensie handels - of kwantitatiewe belegging stelsels kan wees. Proefskrif (S. M.) - Massachusetts Institute of Technology, System Design and Management Program, 2009.Cataloged uit PDF-weergawe van thesis. Includes bibliografiese verwysings (bl 78-79.). Sleutelwoorde: System Design and Management Program. Kyk na My AccountThis pos sal detail wat ek gedoen het om ongeveer maak. 500k van hoë frekwensie handel vanaf 2009 tot 2010. Sedert ek was heeltemal onafhanklik handel en is nie meer loop my program Irsquom gelukkig om al te vertel. My handel was meestal in Russel 2000 en DAX termynkontrakte. Die sleutel tot my sukses, glo ek, was nie in 'n gesofistikeerde finansiële vergelyking nie, maar eerder in die algehele algoritme ontwerp wat saam baie eenvoudige komponente en gebruik masjien leer wat gekoppel is aan te optimaliseer vir maksimum winsgewendheid. Jy wonrsquot nodig om enige gesofistikeerde terminologie hier weet, want toe ek die opstel van my program dit alles is gebaseer op intuïsie. (Andrew Ngrsquos ongelooflike masjien leer kursus was nog nie beskikbaar - BTW as jy op die skakel kliek yoursquoll word om my huidige projek: CourseTalk, 'n review site vir MOOCs) In die eerste plek wil ek net om te wys dat my sukses was nie net die gevolg van geluk. My program gemaak 1000-4000 ambagte per dag (half lank, half kort) en het nooit in posisies van meer as 'n paar kontrakte op 'n slag. Dit het beteken die ewekansige geluk van enige een spesifieke handel gemiddeld uit redelik vinnig. Die gevolg was ek nooit meer as 2000 verloor het in 'n dag en nog nooit 'n verlies van maand: (. EDIT Hierdie syfers is na die betaling van kommissie) En herersquos n grafiek gee jou 'n gevoel van die daaglikse variasie gee. Let op hierdie sluit die afgelope 7 maande, want - soos die figure gestop terwyl hulle opgaan - ek my motivering om hulle te gaan verloor. My handel agtergrond Voor die oprigting van my outomatiese handel program Irsquod het 2 jaar ondervinding as 'n ldquomanualrdquo dag handelaar. Dit was terug in 2001 - dit was die vroeë dae van elektroniese handel en daar geleenthede vir ldquoscalpersrdquo om goeie geld te maak. Ek kan net beskryf wat ek doen as wat verwant is aan die speel van 'n video game / dobbel met 'n veronderstelde rand. Om suksesvol te wees beteken om 'n vinnige, gedissiplineer word, en 'n goeie intuïtief patroonherkenning vermoëns. Ek was in staat om rond 250K, afbetaal my studentelenings en het geld oor. Oorwinning oor die volgende vyf jaar sal ek twee startups te loods, pluk 'n paar ontwikkeling vaardighede wat langs die pad. Dit wouldnrsquot wees tot die einde van 2008 dat ek terug in die handel sou kry. Met geld lae hardloop uit die verkoop van my eerste begin, handel aangebied hoop van 'n paar vinnige kontant terwyl ek uitgepluis het my volgende skuif. In 2008 was ek ldquomanuallyrdquo dag handel termynmark gebruik van sagteware genoem T4. Irsquod dit altyd 'n paar persoonlike orde inskrywing sleutelbordkortpaaie, so na die ontdekking van T4 'n API het, het ek op die uitdaging om C (die taal programmering nodig is om die API te gebruik) en voortgegaan en gebou myself 'n paar sleutelbordkortpaaie. Na om my voete nat met die API Ek het gou groter aspirasies: Ek wou die rekenaar te leer om handel te dryf vir my. Die API verskaf beide 'n stroom van die mark data en 'n maklike manier om bestellings by die uitruil stuur - al wat ek moes doen, was die skep van die logika in die middel. Hier is 'n kiekie van 'n T4 handel venster. Wat was cool is dat wanneer ek my program werk kon ek die rekenaar handel te kyk op hierdie presiese dieselfde koppelvlak. Kyk werklike bestellings knal in en uit (deur hulself met my regte geld) was beide opwindend en vreesaanjaend. Die ontwerp van my algoritme uit die staanspoor my doel was om te installeer 'n stelsel soos wat ek redelik vol vertroue Irsquod geld te maak voordat ooit om enige lewendige ambagte kan wees. Om dit te bereik wat ek nodig het om 'n handel simulasie raamwerk wat sou bou - so akkuraat as moontlik - simuleer lewende handel. Terwyl die handel in lewende modus vereis mark updates verwerking gestroom deur die API, simulasie af vereis lees mark updates van 'n data lêer. Om hierdie data Ek opstel in te samel die eerste weergawe van my program om net aan te sluit op die API en rekord mark updates met tyd tempel. Ek het uiteindelik met behulp van 4 weke die moeite werd om van die onlangse data mark op te lei en te toets my stelsel aan. Met 'n basiese raamwerk in plek het ek nog die taak van die uitzoeken hoe om 'n winsgewende handel stelsel te maak. As dit blyk dat sou my algoritme af te breek in twee afsonderlike komponente, wat Irsquoll verken op sy beurt: Die voorspelling van prysbewegings en die maak van winsgewende bedrywe voorspelling prysbewegings Miskien 'n duidelike komponent van enige handel stelsel is in staat om te voorspel waar pryse sal beweeg. En my vrou was geen uitsondering nie. Ek gedefinieer die huidige prys as die gemiddelde van die binnekant bod en binne aanbod en ek stel die doel van die voorspelling van waar die prys in die volgende 10 sekondes sal wees. My algoritme nodig sou wees om vorendag te kom met hierdie voorspelling oomblik-vir-oomblik dwarsdeur die handel dag. Die skep van amp optimalisering aanwysers ek het 'n handvol van die aanwysers wat bewys dat 'n betekenisvolle vermoë om korttermyn prysbewegings te voorspel het. Elke aanwyser het 'n getal wat positief of negatief was. 'N aanduiding was nuttig as meer dikwels as nie 'n positiewe getal ooreengestem met die mark gaan en 'n negatiewe getal ooreengestem met die mark afgaan. My stelsel het my toegelaat om vinnig te bepaal hoeveel voorspellende vermoë enige aanduiding gehad sodat ek in staat was om te eksperimenteer met 'n baie verskillende aanwysers om te sien wat gewerk. Baie van die aanwysers het veranderlikes in die formules wat hulle geproduseer en ek was in staat om die optimale waardes vir daardie veranderlikes te vind deur te doen langs mekaar vergelyk van bereik met wisselende waardes resultate. Die aanwysers wat baie nuttig is almal relatief eenvoudig en is gebaseer op die onlangse gebeure in die mark Ek kon die handel, sowel as die markte van gekorreleer sekuriteite. Die maak van die presiese prys skuif voorspellings Met aanwysers wat bloot voorspel 'n op of af prysbewegings wasnrsquot genoeg. Ek nodig het om te weet presies hoeveel die prys beweging is voorspel deur elke moontlike waarde van elke aanwyser. Ek benodig 'n formule wat 'n aanduiding waarde sal skakel na 'n prys voorspelling. Om dit Ek bijgehouden voorspel prysbewegings in 50 emmers wat afhanklik is van die reeks dat die aanwyser waarde het in te voer. Dit vervaardig unieke voorspellings vir elke emmer wat ek was toe in staat om grafiek in Excel. As jy die verwagte prys verandering neem toe soos die aanwyser waarde toeneem kan sien. Op grond van 'n grafiek soos hierdie Ek was in staat om 'n formule om die kurwe pas te maak. In die begin het ek dit ldquocurve fittingrdquo hand, maar ek het gou 'n paar kode om hierdie proses te outomatiseer. Let daarop dat nie al die aanwyser kurwes het dieselfde vorm. Let ook op die emmers is logaritmies versprei ten einde versprei die data wys daarop eweredig. Ten slotte daarop dat negatiewe aanwyser waardes (en hul ooreenstemmende afwaartse prys voorspellings) is omgekeer en gekombineer met die positiewe waardes. (My algoritme behandel op en af ​​presies dieselfde.) Die kombinasie van aanwysers vir 'n enkele voorspelling 'n belangrike ding om te oorweeg, is dat elke aanwyser was nie heeltemal onafhanklik. Ek couldnrsquot eenvoudig net optel al die voorspellings dat elke aanwyser individueel gemaak. Die sleutel was om uit te vind die bykomende voorspellende waarde wat elke aanwyser het as wat reeds voorspel. Dit wasnrsquot om hard te implementeer, maar dit het beteken dat as ek was ldquocurve fittingrdquo verskeie aanwysers terselfdertyd het ek versigtig die verandering van een van die voorspellings van 'n ander sou bewerkstellig word. Ten einde fitrdquo ldquocurve al die aanwysers op dieselfde tyd Ek opstel van die optimizer te stap net 30 van die pad na die nuwe voorspelling kurwes met mekaar pas. Met hierdie 30 sprong het ek gevind dat die voorspelling kurwes binne 'n paar passe sou stabiliseer. Met elke aanwyser nou gee ons itrsquos bykomende prys voorspelling kon ek net voeg dit tot 'n enkele voorspelling van waar die mark in 10 sekondes sal wees produseer. Hoekom voorspel pryse is nie genoeg Jy mag dalk dink dat hierdie voorsprong op die mark was ek goue. Maar jy moet in gedagte gehou word dat die mark bestaan ​​uit bod en bied te hou - itrsquos nie net een markprys. Sukses in 'n hoë frekwensie handel kom neer op om goeie pryse en itrsquos nie so maklik nie. Die volgende faktore maak die skep van 'n winsgewende stelsel moeilik: Met elke handel moes ek kommissies te betaal om beide my makelaar en die uitruil. Die verspreiding (verskil tussen hoogste bod en laagste aanbod) beteken dat as ek net koop en verkoop lukraak Irsquod verloor 'n ton geld. Die meeste van die volume mark was ander bots wat net 'n handel met my sou voer as hulle gedink het hulle het 'n paar statistiese rand. Aangesien 'n aanbod nie waarborg dat ek dit kan koop. Teen die tyd dat my koop orde gekry om die uitruil was dit baie moontlik dat daardie aanbod sou gewees het gekanselleer. As 'n klein speler in die mark was daar geen manier wat ek kon alleen meeding op spoed. Die bou van 'n volledige handel simulasie So ek het 'n raamwerk wat my toegelaat het om backtest en te optimaliseer aanwysers. Maar ek het om te gaan na hierdie - ek nodig om 'n raamwerk wat jou sal toelaat om my te backtest en te optimaliseer 'n volledige handel stelsel een waar ek bestellings stuur en om in posisies. In hierdie geval Irsquod word optimalisering vir totale PampL en tot 'n mate gemiddelde PampL per handel. Dit sou moeiliker en in sommige maniere onmoontlik om presies te modelleer, maar ek het so goed as wat ek kon. Hier is 'n paar van die kwessies wat ek moes hanteer: Wanneer 'n bevel in simulasie op die mark gestuur moes ek die tydsverloop te modelleer. Die feit dat my stelsel het 'n aanbod nie beteken dat dit dit kan koop dadelik. Die stelsel sal die einde stuur, wag sowat 20 millisekondes en dan slegs indien die aanbod is steeds was daar dit beskou word as 'n uitgevoer handel. Dit was onjuiste omdat die werklike tydsverloop was teenstrydig en aangemeld word nie. Toe ek bod of aanbod geplaas moes ek kyk na die uitvoering handel stroom (wat deur die API) en gebruik die om vas te stel wanneer my einde sou gekry uitgevoer teen. Om hierdie reg ek moes die posisie van my bestelling in die tou op te spoor nie. (Itrsquos n eerste-in-eerste-uit-stelsel.) Weereens, ek couldnrsquot hierdie perfek te doen, maar ek het 'n beste benadering. Om my uitvoering orde simulasie verfyn wat ek gedoen het, was om my log lêers van lewende handel deur middel van die API en vergelyk kan word om lêers wat deur gesimuleerde handel van die presiese dieselfde tydperk aanteken. Ek was in staat om my simulasie kry tot op die punt dat dit was 'n bietjie akkurate en vir die dele wat onmoontlik is om 'n model was presies gemaak ek seker dat ten minste produseer uitkomste wat statisties soortgelyke was (in die statistieke wat ek gedink het belangrik). Die maak van winsgewende handel dryf met 'n bevel simulasiemodel in plek wat ek kon nou bestellings in simulasie af te stuur en sien 'n gesimuleerde PampL. Maar hoe sou my stelsel weet wanneer en waar om te koop en te verkoop Die prys skuif voorspellings was 'n beginpunt, maar nie die hele storie. Wat ek gedoen het, was te skep 'n puntestelsel vir elk van 5 prysvlakke op die bod en aanbod. Dit sluit in 'n vlak bo die binnekant bod (vir 'n koop orde) en een vlak laer as die binnekant aanbod (vir 'n sell volgorde). As die telling op enige vlak gegewe prys bo 'n sekere drumpel dat my stelsel sou beteken moet 'n aktiewe poging / aanbod daar het was - onder die drumpel dan enige aktiewe bestellings gekanselleer moet word. Op grond van hierdie dit was nie ongewoon dat my stelsel 'n poging in die mark sal flits dan onmiddellik te kanselleer dit. (Alhoewel ek probeer om hierdie te verminder as itrsquos irriterende as klink na iemand te kyk na die skerm met menslike oë - insluitend my.) Die prys vlak tellings is bereken gegrond op die volgende faktore: Die prys skuif voorspelling (wat ons vroeër bespreek). Die prys vlak betrokke. (Inner vlakke bedoel groter prys skuif voorspellings is nodig.) Die aantal kontrakte in die voorkant van my bestelling in die tou. (Minder is beter.) Die aantal kontrakte agter my bestelling in die tou. (Meer was beter.) In wese hierdie faktore gedien om ldquosaferdquo plekke te identifiseer om te bie / aanbod. Die prys skuif voorspelling alleen was nie voldoende, want dit het nie rekening vir die feit dat wanneer die plasing van 'n poging was ek nie outomaties gevul - ek het net gevul as iemand daar vir my verkoop. Die werklikheid is dat die blote feit dat iemand verkoop om my op 'n sekere prys verander die statistiese kans van die handel. Die veranderlikes wat in hierdie stap was almal onderworpe aan optimalisering. Dit is gedoen in presies dieselfde manier as ek veranderlikes in die prys skuif aanwysers new behalwe in hierdie geval is ek optimalisering vir bottom line PampL. Wat my program geïgnoreer Wanneer die handel as mense ons dikwels kragtige emosies en vooroordele wat kan lei tot minder as optimale besluite. Dit is duidelik dat ek wou nie hierdie vooroordele te kodifiseer. Hier is 'n paar faktore my stelsel geïgnoreer: Die prys wat 'n posisie is ingevoer - In 'n handel kantoor itrsquos redelik algemeen om gesprek oor die prys waarteen iemand lang of kort asof dit hul toekomstige besluitneming moet bewerkstellig hoor. Terwyl dit het 'n paar geldigheid as deel van 'n strategie risikovermindering dit regtig geen invloed op die toekomstige verloop van die gebeure in die mark. Daarom heeltemal my program geïgnoreer hierdie inligting. Itrsquos dieselfde konsep as ignoreer gesink koste. Gaan kort teen verlaat 'n lang posisie - Tipies van 'n handelaar sou verskillende kriteria wat bepaal waar 'n lang posisie teenoor waar om kort te gaan verkoop. Maar uit my algoritmes perspektief was daar geen rede om 'n onderskeid te maak. As my algoritme verwag 'n afwaartse beweging verkoop was 'n goeie idee, ongeag of dit op die oomblik lank, kort, of plat was. A ldquodoubling uprdquo strategie - Dit is 'n algemene strategie waar handelaars meer voorraad in die geval sal koop dat daar oorspronklike handel gaan teen hulle. Dit lei tot die gemiddelde koopprys wat laer en dit beteken as (of as) die voorraad omdraai yoursquoll ingestel word om jou geld terug in geen tyd. Na my mening is dit regtig 'n verskriklike strategie tensy yoursquore Warren Buffet. Yoursquore om die bos gelei om te dink jy goed doen, want die meeste van jou ambagte sal wees wenners. Die probleem is wanneer jy verloor jou groot verloor. Die ander effek is dit maak dit moeilik om te bepaal of jy eintlik 'n voorsprong op die mark of is net om gelukkig. In staat is om te monitor en bevestig dat my program wel het 'n voorsprong was 'n belangrike doel. Sedert my algoritme gemaak besluite op dieselfde manier, ongeag van waar dit 'n bedryf aangegaan of as dit op die oomblik lank of kort dit het soms sit in (en neem) 'n paar groot verloor ambagte (bykomend tot 'n groot wen ambagte). Maar, shouldnrsquot jy dink daar wasnrsquot enige risikobestuur. Om risiko te bestuur ek afgedwing n maksimum posisie grootte van 2 kontrakte op 'n tyd, soms gestamp het in die hoogte volume dae. Ek het ook 'n maksimum daaglikse verlies limiet te beskerm teen enige onverwagse marktoestande of 'n fout in my sagteware. Hierdie beperkinge is afgedwing in my kode nie, maar ook in die agterkant deur my makelaar. As dit gebeur het ek nooit teëgekom enige noemenswaardige probleme. Die uitvoer van die algoritme Vanaf die oomblik dat ek begin werk aan my program dit het my ongeveer 6 maande voordat ek het dit tot op die punt van winsgewendheid en begin om dit te draai live. Hoewel om eerlik te wees 'n beduidende hoeveelheid tyd was om te leer 'n nuwe programmeertaal. Soos ek gewerk om die program te verbeter sien ek groter winste vir elk van die volgende vier maande. Elke week Ek sal my stelsel lei op grond van die vorige 4 weke die moeite werd om van data. Ek het gevind dat hierdie geslaan die regte balans tussen die opneem van onlangse mark gedrags - tendense en die versekering van my algoritme het genoeg data om sinvolle patrone te vestig. Soos die opleiding begin neem meer en meer tyd ek verdeel dit uit sodat dit kan uitgevoer word deur 8 virtuele masjiene met behulp van Amazon EC2. Die resultate is dan gebind op my plaaslike masjien. Die hoogtepunt van my handel was Oktober 2009 toe ek amper 100k gemaak. Hierna het voortgegaan ek na die volgende vier maande spandeer probeer om my program te verbeter ten spyte van verminderde wins elke maand. Ongelukkig hierdie punt dink ek Irsquod geïmplementeer al my beste idees omdat niks wat ek probeer het voorgekom om te veel te help. Met die frustrasie van nie in staat is om verbeteringe aan te bring en nie 'n gevoel van groei begin ek dink oor 'n nuwe rigting. Ek e-pos 6 verskillende hoë frekwensie firmas om te sien of theyrsquod belangstel in die aankoop van my sagteware en die verhuring van my werk vir hulle te wees. Niemand het geantwoord. Ek het 'n paar nuwe begin idees wat ek wou om te werk, sodat ek nooit opgevolg. UPDATE - ek gepos hierdie op Hacker Nuus en dit het 'n baie aandag gekry. Ek wil net sê dat ek nie iemand probeer om iets self nou doen soos hierdie advokaat. Jy sal 'n span van baie slim mense nodig het met 'n verskeidenheid van ervarings om enige hoop van mededingende het. Selfs wanneer ek dit doen Ek glo dit was baie skaars vir individue om sukses te behaal (al het ek gehoor het van ander.) Daar is 'n kommentaar aan die bokant van die bladsy wat gemanipuleerde statistieke noem en verwys na my as 'n ldquoretail investorrdquo dat kwantitatiewe sou ldquogleefully haal offrdquo. Dit is 'n nogal jammer kommentaar thatrsquos eenvoudig nie gebaseer in die werklikheid. Die opstel wat opsy therersquos 'n paar interessante opmerkings: news. ycombinator / itemid4748624 UPDATE 2 - Irsquove gepos word 'n opvolg vrae wat 'n paar algemene vrae Irsquove ontvang van handelaars oor hierdie post. This antwoord 'n baie meer pret as klassieke codewars kan wees. Vir 99 van die stelsel Theres geen spesifieke rede youd het om toegang tot die NYSE en handel werklike aandele vir die regte geld. Dit lyk asof hulle is voeding van iqfeed, maar ek dink dit sal groot pret om 'n denkbeeldige kompetisie ruil skep, te oortuig sowat 100 algo skrywers om te kompeteer, en stoot hulle teen mekaar suiwer vir die pret daarvan, sien whos 'n beter algo skrywer . Met moderne skynwerklikmaking, moet dit redelik maklik wees om 'n pakkie van beelde te versprei, insluitende die praktyk data, 'n hele finansiële stelsel te herhaal op 'n klein skaal in jou kelder, dan sodra jy dink jy het 'n ordentlike algo, laai jou foto om die kompetisie liga. As jou HFT codewars liga wil perke vir die stoor of CPU siklusse, skynwerklikmaking is 'n mooi maklike manier om dit te implementeer. Oppervlakkig die mees voor die hand liggende ding om te doen is heeltemal te maak alles op, van bo tot onder, maar dit sal waarskynlik werk net so goed om die werklike lewe markdata en oortrek gebruik op die top van dit. Net soos lugverkeerbeheer simulasie baie stadig oor die dekades het verskuif van suiwer ewekansige om Sorta realisties werklike lughawe data. Dit kan nogal 'n bietjie pret wees. Ons het dit in samewerking met UofC, met behulp van ons Algo verhandelingsplatform (www. optionscity / gebeurtenis / uchicago-Weste-handel-co.) En dit was regtig pret. Hm, ek wonder of daar 'n belang om dit 'n meer oop geval :) Dankie vir buite die beheer van Julia maak. Ek vrees daar 'n billike bedrag van verkeerde inligting in jou kommentaar, maar so blyk dit dat 'n paar dinge is verlore in jou lees van Julias kode (waarvan sommige is weliswaar baie moeilike). Ek hoop jy hoef gedagte as ek 'n gedeelte daarvan aan te spreek. Die eerste punt is dat Julia het reeds 'n uitstekende prestasie op 'n gelyke voet met die meeste saamgestel tale, insluitend, bv Haskell, of hulle gebruik LLVM of nie. Reguit-vorentoe Julia kode is tipies binne 'n faktor van twee van C. Dis wat in die microbenchmarks op Julias webwerf julialang. org/, maar, natuurlik, dis nie heeltemal oortuigend, want jy weet, hulle is microbenchmarks en ons het hulle. Dit is egter soortgelyke prestasie konsekwent gevind in die werklike wêreld aansoeke deur ander mense. . . .


No comments:

Post a Comment