Algoritmisk handel Som algoritmiske handelsstrategier, inkludert strategier for høyfrekvenshandel (HFT), har blitt mer utbredt i amerikanske verdipapirmarkeder, har potensialet for disse strategiene til å påvirke markeds - og fast stabilitet også hatt en sterk vekst. FINRA-medlemsfirmaer som engasjerer seg i algoritmiske strategier, er underlagt SEC - og FINRA-regler for deres handelsaktiviteter, herunder FINRA-regel 3110 (Tilsyn). Et rimelig tilsyns - og kontrollprogram kan ikke forhindre enhver mulig feil. Imidlertid er det flere effektive tilsyns - og kontrollpraksis som bedrifter kan ansette for å redusere sannsynligheten og redusere virkningen av fremtidige problemer. Disse praksisene, herunder følgende: Generell risikovurdering og responsfirma bør gjennomføre en helhetlig gjennomgang av sin handelsaktivitet og vurdere å gjennomføre et tverrfaglig utvalg for å vurdere og reagere på de utviklende risikoene knyttet til algoritmiske strategier. SoftwareCode Development and Implementation Firms bør også fokusere innsats på utviklingen av algoritmiske strategier og hvordan disse strategiene blir testet og implementert. Programvare Testing og System Validation Testing av algoritmiske strategier før du blir satt i produksjon er en viktig del av effektive retningslinjer og prosedyrer. Trading Systems Firmene bør utvikle sine retningslinjer og prosedyrer for å inkludere gjennomgang av handelsaktivitet etter at en algoritmisk strategi er på plass eller blitt endret. Overholdelse For å sikre at det er effektiv kommunikasjon mellom compliance staff og de ansatte som er ansvarlige for algoritmisk strategiutvikling, er et sentralt element i effektive retningslinjer og prosedyrer. Funnet du det du lette etter Har du forslag til hvordan du gjør denne siden bedre Fortell vår webmaster. You039d bedre kjenn din høyfrekvente handelsterminologi Oppsvinget av investorinteressen for høyfrekvent handel (HFT) er viktig for fagfolk i industrien å komme opp til fart med HFT-terminologi. En rekke HFT-termer har sin opprinnelse i datanettverkssystemindustrien, som kan forventes gitt at HFT er basert på utrolig rask dataarkitektur og toppmoderne programvare. Vi diskuterer kort under 10 viktige HFT-termer som vi mener er avgjørende for å få en forståelse av emnet. Samlokalisering Finne datamaskiner eid av HFT-firmaer og proprietære handelsfolk i samme lokaler der en utveksling av dataservere er plassert. Dette gjør det mulig for HFT-firmaer å få tilgang til aksjekursene en delt sekund før resten av det investerende publikum. Samlokalisering har blitt en lukrativ forretning for utveksling, som belaster HFT-firmaer millioner av dollar for privilegiet med lav latensadgang. Som Michael Lewis forklarer i sin bok Flash Boys, er den store etterspørselen etter samlokalisering en viktig grunn til at noen børser har utvidet sine datasentre betydelig. Mens den gamle New York Stock Exchange-bygningen okkuperte 46.000 kvadratmeter, er NYSE Euronext datasenter i Mahwah, New Jersey, nesten ni ganger større, på 398.000 kvadratmeter. Flash Trading En type HFT-handel hvor en utveksling vil blinke informasjon om kjøp og salg av bestillinger fra markedsdeltakere til HFT-firmaer for noen få brøkdeler før informasjonen blir gjort tilgjengelig for publikum. Flash trading er kontroversiell fordi HFT-firmaer kan bruke denne informasjonskanten til å handle i forkant av ventende ordrer, noe som kan tolkes som fremdrift. Amerikanske senator Charles Schumer hadde oppfordret Securities and Exchange Commission i juli 2009 til å forby flash-handel, og sa at den opprettet et todelt system hvor en privilegert gruppe mottok fortrinnsbehandling, mens detaljhandel og institusjonelle investorer ble satt i urettferdig ulempe og fratatt en rettferdig pris for sine transaksjoner. Tiden som går fra det øyeblikket et signal sendes til kvitteringen. Siden lavere ventetid tilsvarer raskere hastighet, bruker høyfrekvente forhandlere tungt for å oppnå de raskeste maskinvare-, programvare - og datalinjer for å utføre bestillinger så raskt som mulig og få en konkurransefortrinn i handel. Den største determinanten av latens er avstanden signalet må reise, eller lengden på den fysiske kabelen (vanligvis fiberoptisk) som bærer data fra ett punkt til et annet. Siden lys i et vakuum reiser 186.000 miles per sekund eller 186 miles prt millisekund, vil et HFT-firma med sine servere som ligger i en bytte midt i en bytte ha en mye lavere ventetid og dermed en handelskant enn et konkurrentfirma som ligger miles unna. Interessant nok får en bytte av samlokaliseringsklienter samme mengde kabellengde uavhengig av hvor de befinner seg i utvekslingslokalene, for å sikre at de har samme ventetid. Likviditetsrabatter De fleste børser har vedtatt en maker-taker-modell for å subsidiere tilbudet om aksjelisitet. I denne modellen mottar investorer og forhandlere som legger inn begrensningsordrer, vanligvis en liten rabatt fra børsen ved utførelse av sine bestillinger fordi de anses å ha bidratt til likviditet i aksjene, det vil si at de er likviditetsmakere. Omvendt anses de som legger inn markedsordrer seg som likviditetstakere og belastes et beskjedent gebyr ved bytte for sine bestillinger. Mens rabattene vanligvis er fraksjoner av en prosent per aksje, kan de legge opp til betydelige beløp over millioner av aksjer som handles daglig av høyfrekvente handelsmenn. Mange HFT-firmaer bruker handelsstrategier som er spesielt utviklet for å fange så mye av likviditetsrabattene som mulig. Matchende motor Programvarealgoritmen som danner kjernen i et handelssystem, og kontinuerlig samsvarer med kjøp og salg av ordrer, en funksjon som tidligere ble utført av spesialister på handelsgulvet. Siden matchende motoren matcher kjøpere og selgere for alle aksjer, er det avgjørende for å sikre en jevn fungerende utveksling. Den tilhørende motoren ligger i utvekslingsdatamaskinene og er den primære grunnen til at HFT-firmaer forsøker å være i så nærhet til utvekslingsserverne som de muligens kan. Refererer til taktikken for å legge inn små salgbare ordrer som regel for 100 aksjer for å lære om store skjulte bestillinger i mørke bassenger eller utvekslinger. Mens du kan tenke på pinging som å være analog med et skip eller ubåt som sender ut sonarsignaler for å oppdage kommende hindringer eller fiendtlige fartøyer, i HFT-konteksten, brukes pinging til å finne skjult byttedyr. Heres hvordan kjøpsselskaper bruker algoritmiske handelssystemer til å bryte opp store ordrer til mye mindre og gi dem jevnlig inn i markedet for å redusere markedspåvirkningen av store ordrer. For å oppdage tilstedeværelsen av slike store bestillinger, plasserer HFT-firmaer bud og tilbud i 100-delte partier for hvert børsnotert lager. Når et firma får en ping (dvs. HFTs små ordre utføres) eller serie pings som varsler HFT til nærvær av en stor buy-side-ordre, kan den engasjere seg i en rovdyrsvirksomhet som sikrer at den er nesten risikofri fortjeneste på bekostning av buy-sider, som vil ende opp med å få en ugunstig pris for sin store ordre. Pinging har blitt sammenlignet med baiting av noen innflytelsesrike markedsaktører, siden den eneste hensikten er å lokke institusjoner med store ordrer for å avsløre sin hånd. Tilstedeværelsespunkt Det punktet der handelsmenn kobler seg til en bytte. For å redusere ventetiden er målet for HFT-firmaer å komme så nær tilstedeværelsen som mulig. Se også Co-location. Predatory Trading Trading praksis ansatt av noen høyfrekvente handelsfolk for å gjøre nesten risikofri profitt på bekostning av investorer. I Lewis-boken, IEX-utvekslingen. som søker å bekjempe noen av de skyggefulle HFT-pratikene, identifiserer tre aktiviteter som utgjør rovhandel: Langsom markedsarbitrage eller latensarbitrage, hvor en høyfrekvent handelsmann skiller mellom prisforskjeller mellom aksjer mellom ulike utvekslinger. Elektronisk frontløp, som innebærer et HFT-firma som kjører foran en stor kundeordre på en børs, skaffer opp alle aksjene som tilbys på ulike andre børser (hvis det er en kjøpsordre) eller treffer alle budene (hvis det er en selger rekkefølge), og så snu og selge dem til (eller kjøpe dem fra) kunden og pocketing forskjellen. Rabatteringsarbitrage innebærer HFT-aktivitet som forsøker å fange likviditetsrabatter som tilbys av børser uten å virkelig bidra til likviditet. Se også Likviditetsrabatter. Securities Information Processor Teknologien som brukes til å samle inn tilbuds - og handelsdata fra ulike utvekslinger, samle og konsolidere dataene, og kontinuerlig formidle realtidspriser og handler for alle aksjer. SIP beregner det nasjonale beste budet og tilbudet (NBBO) for alle aksjer, men på grunn av det store volumet av data den skal håndtere, har det en begrenset ventetid. En SIP-latens ved beregning av NBBO er generelt høyere enn for HFT-firmaer (på grunn av de siste datamaskiner og samlokalisering), og det er denne forskjellen i latens som Lewis estimerer å til og med nå så langt som 25 millisekunder som er på kjerne av rovdyr HFT aktivitet. Nasdaq OMX Group og NYSE Euronext driver hver en SIP på vegne av de 11 børsene i US Smart Routers Technology som bestemmer hvilke utvekslinger ordrer eller bransjer sendes. Smarte rutere kan programmeres til å sende ut store bestillinger (etter at de er brutt opp av en handelsalgoritme) for å få kostnadseffektiv handel. En smart router som en sekventiell kostnadseffektiv ruteren kan rette en ordre til et mørkt basseng og deretter til en bytte (hvis den ikke er utført i det tidligere), eller til en bytte der det er mer sannsynlig å motta en likviditetsrabatt. The Bottom Line HFT har gjort bølger og ruffende fjær (for å bruke en blandet metafor) de siste årene. Men uavhengig av din mening om høyfrekvent handel, bør du gjøre deg kjent med disse HFT-vilkårene, slik at du kan forbedre forståelsen av dette kontroversielle emnet. Den totale dollarverdien av alle selskapets utestående aksjer. Markedsverdien beregnes ved å multiplisere. Frexit kort for quotFrench exitquot er en fransk spinoff av begrepet Brexit, som dukket opp da Storbritannia stemte til. En ordre som er plassert hos en megler som kombinerer funksjonene til stoppordre med grensene. En stoppordre vil. En finansieringsrunde hvor investorer kjøper aksjer fra et selskap til lavere verdsettelse enn verdsettelsen plassert på. En økonomisk teori om total utgifter i økonomien og dens effekter på produksjon og inflasjon. Keynesian økonomi ble utviklet. En beholdning av en eiendel i en portefølje. En porteføljeinvestering er laget med forventning om å tjene en avkastning på den. Dette. Dette innlegget vil detaljere hva jeg gjorde for å lage ca. 500k fra høyfrekvent handel fra 2009 til 2010. Siden jeg handlet helt uavhengig og ikke lenger kjører, vil Irsquom gjerne fortelle alt. Min handel var hovedsakelig i Russel 2000 og DAX futures kontrakter. Nøkkelen til min suksess tror jeg ikke var i en sofistikert finansiell ligning, men heller i den generelle algoritmenes design som bundet sammen mange enkle komponenter og brukt maskinlæring for å optimalisere for maksimal lønnsomhet. Du behøver ikke å vite noen sofistikert terminologi her fordi når jeg satte opp programmet mitt, var det alt basert på intuisjon. (Andrew Ngrsquos fantastiske maskinopplæringskurs var ikke tilgjengelig ennå - btw hvis du klikker på linken dinsquoll blir tatt til mitt nåværende prosjekt: CourseTalk, et vurderingssted for MOOCs) Først vil jeg bare vise at suksessen min ikke bare var resultatet av flaks. Mitt program gjorde 1000-4000 handler per dag (halv lang, halv kort) og kom aldri inn i stillinger på mer enn noen få kontrakter om gangen. Dette betydde tilfeldig flaks fra en bestemt handel i gjennomsnitt ganske raskt. Resultatet var at jeg aldri mistet mer enn 2000 på en dag og aldri hatt en miste måned: (EDIT. Disse tallene er etter å betale provisjoner) Og herersquos et diagram for å gi deg en følelse av den daglige variasjonen. Merk dette utelukkende de siste 7 månedene fordi - som tallene sluttet å gå opp - mistet jeg motivasjonen min for å komme inn i dem. Min handelsbakgrunn Før jeg satte opp mitt automatiserte handelsprogram, hadde Irsquod 2 års erfaring som en ldquomanualrdquo day trader. Dette var tilbake i 2001 - det var de tidlige dagene med elektronisk handel og det var muligheter for ldquoscalpersrdquo å tjene gode penger. Jeg kan bare beskrive hva jeg gjorde som besluttet å spille et videospill gambling med en antatt kant. Å være vellykket mente å være rask, være disiplinert og ha en god intuitiv mønstergenkjenningsevne. Jeg var i stand til å lage rundt 250k, betale av studielånene mine og ha penger igjen. Vinn I løpet av de neste fem årene vil jeg starte to oppstart, og ta opp noen programmeringsevner underveis. Det ville ikke vært før slutten av 2008 at jeg ville komme tilbake til handel. Med penger som gikk lavt fra salget av min første oppstart, tilbød handel håp om litt raske penger mens jeg skjønte meg neste skritt. I 2008 var jeg ldquomanuallyrdquo dag trading futures ved hjelp av programvare kalt T4. Irsquod hadde lyst på noen tilpassede ordreoppføring hurtigtaster, så etter å ha oppdaget at T4 hadde en API, tok jeg utfordringen med å lære C (programmeringsspråket som kreves for å bruke API) og gikk videre og bygde meg noen hurtigtaster. Etter å få føttene mine våte med API hadde jeg snart større forhåpninger: Jeg ønsket å lære datamaskinen å handle for meg. API-en ga både en strøm av markedsdata og en enkel måte å sende ordre til utvekslingen - alt jeg måtte gjøre var å lage logikken i midten. Nedenfor er et skjermbilde av et T4-handelsvindu. Det som var kult er at når jeg fikk jobbet med programmet, var jeg i stand til å se på datahandelen på dette nøyaktig samme grensesnittet. Å se ekte ordre som hopper inn og ut (av seg selv med mine ekte penger) var både spennende og skummelt. Utformingen av min algoritme Fra begynnelsen var målet mitt å sette opp et system slik at jeg kunne være rimelig trygg på at Irsquod tjene penger før han noen gang utførte noen levende handler. For å oppnå dette trengte jeg å bygge et handelssimuleringsramme som ville - så nøyaktig som mulig - simulere live trading. Mens handel i live-modus kreves behandling av markedsoppdateringer strømmet gjennom API, krevde simuleringsmodus å lese markedsoppdateringer fra en datafil. For å samle inn disse dataene, konfigurerer jeg den første versjonen av programmet mitt for å bare koble til API og registrere markedsoppdateringer med tidsstempler. Jeg endte opp med å bruke 4 uker av nyere markedsdata for å trene og teste systemet mitt på. Med et grunnleggende rammeverk på plass, hadde jeg fortsatt oppgaven med å finne ut hvordan jeg kunne skape et lønnsomt handelssystem. Som det viser seg, vil algoritmen bryte seg ned i to forskjellige komponenter, som Irsquoll undersøker i sin tur: Predikere prisbevegelser og tjene lønnsomme handler Predikere prisbevegelser Kanskje en åpenbar komponent i et handelssystem kan forutsi hvor prisene skal flytte. Og min var ikke noe unntak. Jeg definerte nåværende pris som gjennomsnittet av innsiden bud og innside tilbud og jeg satte målet om å forutsi hvor prisen ville være i de neste 10 sekunder. Min algoritme vil trenge å komme opp med denne prediksjonen øyeblikk for øyeblikk gjennom hele handelsdagen. Opprette ampoptimaliseringsindikatorer Jeg opprettet en håndfull indikatorer som viste seg å ha en meningsfylt evne til å forutsi kortsiktige prisbevegelser. Hver indikator produserte et tall som var enten positivt eller negativt. En indikator var nyttig hvis oftere enn ikke et positivt tall korresponderte med at markedet gikk opp og et negativt tall korresponderte med at markedet gikk ned. Systemet tillot meg å raskt bestemme hvor mye prediktiv evne noen indikator hadde, så jeg var i stand til å eksperimentere med mange forskjellige indikatorer for å se hva som fungerte. Mange av indikatorene hadde variabler i formlene som produserte dem, og jeg var i stand til å finne de optimale verdiene for de variablene ved å gjøre side om side sammenligninger av resultater oppnådd med varierende verdier. Indikatorene som var mest nyttige var alle relativt enkle og var basert på nylige hendelser i markedet jeg var trading, samt markedene for korrelerte verdipapirer. Gjøre nøyaktige prisbevegelsesutsikter Å ha indikatorer som bare forutslo en opp - eller nedprisbevegelse var ikke nok. Jeg trengte å vite nøyaktig hvor mye prisbevegelse var spådd av hver mulig verdi for hver indikator. Jeg trengte en formel som ville konvertere en indikatorverdi til en prisforutsigelse. For å oppnå dette spores jeg spådde prisbevegelser i 50 buketter som avhenger av området som indikatorverdien falt inn. Dette ga unike spådommer for hver bøtte som jeg da kunne grave i Excel. Som du ser, øker forventet prisendring som indikatorverdien øker. Basert på en graf som dette var jeg i stand til å lage en formel som passer til kurven. I begynnelsen gjorde jeg dette ldquocurve fittingrdquo manuelt, men jeg skrev snart opp noen kode for å automatisere denne prosessen. Merk at ikke alle indikatorkurvene hadde samme form. Legg merke til at bøtter ble logaritmisk fordelt slik at dataene spredes jevnt ut. Endelig merk at negative indikatorverdier (og tilhørende nedadgående prisforutsigelser) ble vendt og kombinert med de positive verdiene. (Min algoritme behandles opp og ned akkurat det samme.) Kombinere indikatorer for en enkelt prediksjon En viktig ting å vurdere var at hver indikator ikke var helt uavhengig. Jeg couldnrsquot bare legge opp alle spådommer som hver indikator laget individuelt. Nøkkelen var å finne ut den ekstra prediktive verdien som hver indikator hadde utover det som allerede var spådd. Dette var ikke vanskelig å implementere, men det betydde at hvis jeg var ldquocurve fittingrdquo flere indikatorer samtidig måtte jeg være forsiktig med å endre en ville påvirke spådommene til en annen. For å ldquocurve fitrdquo alle indikatorene på samme tid, installerer jeg optimisatoren for å trekke bare 30 av veien mot de nye prediksjonskurverne med hvert pass. Med dette 30 hoppet fant jeg ut at prediksjonskurverne ville stabilisere seg innenfor noen få pass. Med hver indikator som nå gir oss det, er det ytterligere prisutsikt, jeg kunne bare legge dem opp for å produsere en enkelt prediksjon av hvor markedet vil være om 10 sekunder. Hvorfor forutsi priser er ikke nok Du tror kanskje at med denne kanten på markedet var jeg gylden. Men du må huske på at markedet består av bud og tilbud - det er ikke bare en markedspris. Suksess i høyfrekvent handel kommer ned til å få gode priser og itrsquos ikke så lett. Følgende faktorer gjør det vanskelig å skape et lønnsomt system: Ved hver handel måtte jeg betale provisjoner til både megler og bytte. Spredningen (forskjellen mellom høyeste bud og laveste tilbud) betydde at hvis jeg bare skulle kjøpe og selge tilfeldig, ville Irsquod miste massevis av penger. Mesteparten av markedsvolumet var andre bots som bare ville utføre en handel med meg hvis de trodde de hadde noen statistisk kanten. Å se et tilbud garanterte ikke at jeg kunne kjøpe det. Da kjøpsordren kom til utvekslingen var det veldig mulig at tilbudet hadde blitt kansellert. Som en liten markedsaktør var det ingen måte jeg kunne konkurrere på hastighet alene. Bygg en full handelssimulering Så jeg hadde et rammeverk som tillot meg å teste og optimalisere indikatorer. Men jeg måtte gå utover dette - jeg trengte et rammeverk som tillot meg å teste og optimalisere et fullhandelssystem en hvor jeg sendte ordrer og kom på stillinger. I dette tilfellet skal Irsquod optimalisere for total PampL og til en viss grad gjennomsnittlig PampL per handel. Dette ville være vanskeligere og på noen måter umulig å modellere nøyaktig, men jeg gjorde så godt som mulig. Her er noen av problemene jeg måtte håndtere: Når en ordre ble sendt til markedet i simulering måtte jeg modellere lagtid. Det faktum at systemet mitt så et tilbud, betyr ikke at det kunne kjøpe det med en gang. Systemet ville sende bestillingen, vent ca 20 millisekunder, og da bare hvis tilbudet fortsatt var der, ble det vurdert som en henrettet handel. Dette var uakseptabelt fordi den virkelige forsinkelsestiden var inkonsekvent og urapportert. Når jeg plasserte bud eller tilbud, måtte jeg se på handelsutførelsesstrømmen (levert av API) og bruke dem til å måle når bestillingen min ville ha blitt henrettet mot. For å gjøre dette riktig måtte jeg spore plasseringen av bestillingen min i køen. (Itrsquos et første-i-først-ut system.) Igjen, jeg couldnrsquot gjøre dette perfekt, men jeg gjorde en god tilnærming. For å finjustere bestillingseksempleringen jeg gjorde var å ta loggfilene mine fra live trading via API og sammenligne dem med loggfilene som ble produsert ved simulert handel fra nøyaktig samme tidsperiode. Jeg var i stand til å få simuleringen min til det punktet at det var ganske nøyaktig og for de delene som var umulige å modellere nøyaktig, sørget jeg i hvert fall for å produsere resultater som var statistisk liknende (i beregningene jeg trodde var viktig). Å tjene lønnsomme handler Med en ordreimuleringsmodell på plass kunne jeg nå sende ordrer i simuleringsmodus og se en simulert PampL. Men hvordan ville systemet vite når og hvor jeg skulle kjøpe og selge? Prissettingsspådommer var et utgangspunkt, men ikke hele historien. Det jeg gjorde var å skape et scoring system for hvert av 5 prisnivåer på bud og tilbud. Disse inkluderte ett nivå over innsiden bud (for en kjøpsordre) og ett nivå under innsiden tilbud (for en salgsordre). Hvis poengsummen til et gitt prisnivå var over en viss terskel, ville det bety at systemet mitt skulle ha et aktivt tilbud der - under terskelen skulle eventuelle aktive bestillinger bli kansellert. Basert på dette var det ikke uvanlig at systemet mitt ville blinke et bud i markedet, og deretter avbryte det umiddelbart. (Selv om jeg prøvde å minimere dette som itrsquos irriterende for alle som så på skjermen med menneskelige øyne - inkludert meg.) Prisnivåpoengene ble beregnet ut fra følgende faktorer: Prisforskjellen forutsigelsen (som vi diskuterte tidligere). Prisnivået i spørsmålet. (Inner nivå betydde større prisbevegelsesutsikter var påkrevd.) Antall kontrakter foran bestillingen min i køen. (Mindre var bedre.) Antall kontrakter bak bestillingen min i køen. (Mer var bedre.) Vesentlig disse faktorene tjente til å identifisere ldquosaferdquo steder å by på. Prisforskjellen forutsigelsen alene var ikke tilstrekkelig fordi den ikke gjorde rede for det faktum at når jeg satte et bud, ble jeg ikke fylt automatisk - jeg ble bare fylt hvis noen solgte meg der. Virkeligheten var at det faktum at noen som solgte meg til en viss pris, forandret statistiske oddsene for handelen. Variablene som ble benyttet i dette trinnet var alle gjenstand for optimalisering. Dette ble gjort på nøyaktig samme måte som jeg optimaliserte variabler i prisbevegelsesindikatorene, bortsett fra i dette tilfellet, optimaliserte jeg for bunnlinjen PampL. Hva jeg tenker på når jeg handler som mennesker, har vi ofte sterke følelser og forstyrrelser som kan føre til mindre enn optimale beslutninger. Klart ønsket jeg ikke å kodifisere disse forstyrrelsene. Her er noen faktorer som min system ignorerte: Prisen som en stilling ble oppgitt - I et handelskontor er det ganske vanlig å høre samtale om prisen som noen er lange eller korte som om det skulle påvirke deres fremtidige beslutningstaking. Selv om dette har noen gyldighet som en del av en risikoreduserende strategi, har det ingen betydning for det fremtidige kurset i markedet. Derfor ignorert programmet mitt denne informasjonen. Itrsquos samme konsept som å ignorere reduserte kostnader. Går kort vs forlater en lang posisjon - Vanligvis vil en næringsdrivende ha forskjellige kriterier som bestemmer hvor man skal selge en lang stilling versus hvor man skal gå kort. Men fra algoritmenes perspektiv var det ingen grunn til å skille. Hvis min algoritme forventet en nedadgående flytting, var det en god ide, uansett om den var for tiden lang, kort eller flat. En ldquodoubling uprdquo strategi - Dette er en felles strategi hvor handelsmenn vil kjøpe flere aksjer i tilfelle at den opprinnelige handel går imot dem. Dette resulterer i at gjennomsnittskjøpsprisen din er lavere og det betyr at når (eller om) lageret slår seg rundt, blir din saldo satt til å gjøre pengene dine tilbake på kort tid. Etter min mening er dette virkelig en fryktelig strategi, med mindre du er Warren Buffet. Yoursquore lurte på å tro at du har det bra fordi de fleste av dine handler vil bli vinnere. Problemet er at når du mister deg, mister du stor. Den andre effekten er at det gjør det vanskelig å bedømme om du faktisk har en kant på markedet eller bare blir heldig. Å kunne overvåke og bekrefte at mitt program faktisk hadde en kant var et viktig mål. Siden algoritmen min tok beslutninger på samme måte, uansett hvor det gikk inn i en handel, eller om det for øyeblikket var lenge eller kort, var det noen ganger i store og små tapende bransjer (i tillegg til noen store vinnende handler). Men du burde ikke tro at det ikke var noen risikostyring. For å håndtere risiko håndhevet jeg en maksimal posisjonsstørrelse på 2 kontrakter om gangen, noen ganger stødte opp på høyvolumsdager. Jeg hadde også en maksimal daglig tapgrense for å beskytte mot uventede markedsforhold eller en feil i min programvare. Disse grensene ble håndhevet i koden min, men også i backend gjennom megleren. Som det skjedde, møtte jeg aldri noen betydelige problemer. Kjører algoritmen Fra det øyeblikket jeg begynte å jobbe med programmet mitt, tok det meg ca 6 måneder før jeg fikk det til lønnsomhet og begynte å kjøre det live. Selv om det var rettferdig, var det betydelig tid å lære et nytt programmeringsspråk. Da jeg jobbet for å forbedre programmet, så jeg økt fortjeneste for hver av de neste fire månedene. Hver uke vil jeg omskole systemet mitt basert på de fire foregående ukers verdiene av data. Jeg fant dette traff den rette balansen mellom å ta vare på nyere markedsadferdstrender og å forsikre min algoritme hadde nok data til å etablere meningsfulle mønstre. Etter hvert som treningen begynte å ta mer og mer tid, splittet jeg det slik at det kunne utføres av 8 virtuelle maskiner ved hjelp av Amazon EC2. Resultatene ble deretter coalesced på min lokale maskin. Høydepunktet i min handel var oktober 2009 da jeg lagde nesten 100k. Etter dette fortsatte jeg å tilbringe de neste fire månedene, og prøvde å forbedre mitt program til tross for redusert fortjeneste hver måned. Dessverre på dette punktet antar jeg at Irsquod implementerte alle mine beste ideer fordi ingenting jeg prøvde syntes å hjelpe mye. Med frustrasjonen om å ikke kunne gjøre forbedringer og ikke ha en følelse av vekst, begynte jeg å tenke på en ny retning. Jeg sendte 6 forskjellige high frequency trading firmaer for å se om theyrsquod er interessert i å kjøpe min programvare og ansette meg til å jobbe for dem. Ingen svarte. Jeg hadde noen nye oppstartsidéer jeg ønsket å jobbe med, så jeg aldri fulgte opp. UPDATE - Jeg postet dette på Hacker News, og det har fått mye oppmerksomhet. Jeg vil bare si at jeg ikke fortaler noen som prøver å gjøre noe som dette selv nå. Du vil trenge et team av virkelig smarte mennesker med en rekke erfaringer å ha noe håp om å konkurrere. Selv når jeg gjorde dette, tror jeg det var svært sjelden at enkeltpersoner skulle oppnå suksess (selv om jeg hadde hørt om andre.) Det er en kommentar øverst på siden som nevner manipulert statistikk og refererer til meg som en ldquoretail investorrdquo som quants ville ldquogleefully plukke offrdquo. Dette er en ganske uheldig kommentar thatrsquos rett og slett ikke basert i virkeligheten. Innstilling som til side therersquos noen interessante kommentarer: news. ycombinatoritemid4748624 UPDATE 2 - Irsquove postet en oppfølgings FAQ som svarer på noen vanlige spørsmål Irsquove mottatt fra handelsmenn om dette innlegget.
Comments
Post a Comment