Thursday 5 October 2017

Bygg Din Egen Høyfrekvente Trading System


Hvordan Trading Algoritmer er laget Kvantitativ handel er ikke tilgjengelig utelukkende for institusjonelle forhandlere forhandlere blir involvert også. Mens programmering ferdigheter anbefales hvis du vil produsere algoritmer, selv de arent alltid nødvendig. Programmer og tjenester er tilgjengelige som skriver programmeringskoden for en strategi basert på inngangene du oppgir. Koden som produseres av programtjenesten er da koblet til handelsplattformen og handel begynner. Men før noe av dette kan oppstå, vil algoritmiske handelsmenn fremskritt gjennom flere trinn bestemme nøyaktig hva de vil oppnå med algoritmen. og hvordan. Tidsramme og begrensninger Mens en brønnprogrammert algoritme kan kjøres på egenhånd, anbefales det noen menneskelig tilsyn. Velg derfor en tidsramme og en handelsfrekvens som du kan overvåke. Hvis du har en heltidsjobb og algoritmen din er programmert til å gjøre hundrevis av handler om dagen på et minuts diagram mens du er på jobb, er det kanskje ikke ideelt. Du kan ønske å velge en litt langsiktig ramme for handler, og mindre handel frekvens, slik at du kan holde faner på den. Lønnsomhet i testfasen av algoritmen betyr ikke at den vil fortsette å produsere disse avkastningene for alltid. Av og til må du gå inn og endre handelsalgoritmen hvis resultatene viser at det ikke fungerer bra lenger. Dette er også en tidsforpliktelse at alle som foretar algoritmisk handel, må akseptere. Finansielle begrensninger er også et problem. Provisjoner rack opp veldig raskt med en høyfrekvent handelsstrategi, så sørg for at du er med den laveste kostnadsmegleren tilgjengelig, og at fortjenestepotensialet for hver handel garanterer å betale disse provisjonene, muligens mange ganger om dagen. Startkapital er også en vurdering. Ulike markeder og finansielle produkter krever ulike beløpskapital. Hvis dag handel aksjer youll trenger en t minst 25 000 (mer anbefales), men trading forex eller futures kan du potensielt starte med mindre. Markedsbegrensninger er et annet problem. Ikke alle markedene passer til algoritmisk handel. Velg aksjer, ETF, Forex-par eller futures med god likviditet for å håndtere ordrene som algoritmen vil produsere. Utvikle eller finjustere en strategi Når økonomiske og tidsbegrensninger er forstått, utvikler eller finjusterer en strategi som kan programmeres. Du kan ha en strategi du handler manuelt, men er det enkelt kodet Hvis strategien din er svært subjektiv, og ikke regelen basert, kan programmeringen være umulig. Regelbaserte strategier er enkleste å kode strategier med oppføringer, stoppe tap og prismål basert på kvantifiserbare data eller prisbevegelser. Siden regelbaserte strategier enkelt kopieres og testes, er det mange fritt tilgjengelige hvis du ikke har egne ideer. Quantpedia er en slik ressurs, og gir akademiske artikler og handelsresultater for ulike kvantitative handelsmetoder. Reglene skissert kan kodes og deretter testes for lønnsomhet på tidligere og nåværende data. Koding av en algoritme krever programmeringsevner eller tilgang til programvare eller noen som kan kode for deg. Teste en handelsalgoritme Det viktigste trinnet er testing. Når en handelsstrategi har blitt kodet, må du ikke handle ekte kapital med den før den er testet. Testing inkluderer å la algoritmen løpe på historiske prisdata, og viser hvordan algoritmen utføres over tusenvis av handler. Hvis den historiske testfasen er lønnsom, og den produserte statistikken er akseptabel for din risikotoleranser som maksimal trekk, vindforhold, risiko for ødeleggelse. for eksamenplethen fortsett å teste algoritmen i leveforhold på en demo-konto. Igjen, denne fasen bør produsere hundrevis av bransjer, slik at du får tilgang til ytelsen. Hvis algoritmen er lønnsom på historiske prisdata, og handler en live demo-konto, bruk den handel med ekte kapital, men med et vakkert øye. Levende forhold er forskjellige enn historisk eller demo-testing, fordi algoritmenes ordre faktisk påvirker markedet og kan forårsake glidning. Inntil det er verifisert, fungerer algoritmen i det virkelige markedet, som det gjorde i testing, opprettholde et vakkert øye. Så lenge algoritmen fungerer innenfor de statistiske parametrene som er etablert under testingen, la algoritmen alene. Algoritmer har fordelen av å handle uten følelser. men en handelsmann som stadig tinker med algoritmen, nullifiserer den fordelen. Algoritmen krever imidlertid oppmerksomhet. Overvåk ytelsen, og hvis markedsforholdene endres så mye at algoritmen ikke lenger fungerer som den skal, kan det hende at det er nødvendig med justeringer. Algoritmisk handel er ikke en sett-og-glem-innsats som gjør deg rik over natten. Faktisk kan kvantitativ handel være like mye arbeid som handel manuelt. Hvis du velger å lage en algoritme, være oppmerksom på hvordan tid, økonomiske og markedsmessige begrensninger kan påvirke strategien din, og planlegg deretter. Vend en gjeldende strategi til en regel basert en som lettere kan programmeres, eller velg en kvantitativ metode som allerede er testet og forsket. Deretter kan du kjøre din egen testfase ved hjelp av historiske og nåværende data. Hvis det sjekker ut, kjør du algoritmen med ekte penger under et vakkert øye. Juster om nødvendig, men ellers la det gjøre jobben. Lag et aksjemarkedssystem for ditt liv Handel for å leve er en spennende ide, og aksjehandelssystemer kan gi deg det livet du vil ha. Et system er ganske enkelt et sett med regler som definerer hvordan du vil gå inn og ut av finansmarkedene for å tjene penger. Aksjemarkedssystemer fungerer fordi de eliminerer følelser, skaper konsistens og fanger en kant i markedene. Mostxa0new-forhandlere feiler og mister moneyxa0because de tar tips fra andre, de gjør det som er populært, de gjør det som høres bra ut på middagsselskaper, de gjør det som markedsføres tungt av bransjen, de bruker noen elses aksjemarked systemxa0-de gjør ikke hva som er lønnsomt Jeg tror du kan lykkes der hvor mange andre har mislyktes Du kan tjene penger på handel, xa0YOU kan leve og jobbe hvor som helst i verden, og du kan være fri for bedrifts slaveri. Bygg ditt eget handelssystem som oppfyller dine mål, passer din personlighet og gir deg livet du ønsker er svaret. Jeg kan vise deg i fire enkle trinn hvordan du kan bygge et lønnsomt system som vil fungere for deg, uansett om du vil bytte aksjemarkedet, futuresmarkedet eller valutamarkedet. Mitt mål er å hjelpe deg å lykkes ved å bygge ditt eget lønnsomme aksjehandelssystem som oppfyller dine mål og gir deg det livet du vil ha. De fleste nye handelsfolk feiler fordi de ikke har en veiledning for å hjelpe dem å bygge et lønnsomt system som passer dem. På egen hånd er dette en vanskelig reise. La meg hjelpe deg med å bli en lønnsom næringsdrivende raskt. Pass på at du også sjekker ut mitt nye nettsted på Enlightened Stock Trading for å lære å utvikle et vinnende aksjehandelssystem som passer din personlighet, dine mål og din ideell livsstil. Hvor starter jeg? Det finnes utallige kurs, dyre abonnementstjenester og systemer for salg i denne bransjen. Ingen av disse er svaret i isolasjon. . Svaret er å designe ditt eget handelssystem med en forståelse av deg selv. Noen som liker handling vil ha problemer med å handle en langsiktig ukentlig tilnærming Pasienten, som anses som person, vil finne det vanskelig å flytte inn til og ut av markedene flere ganger om dagen som en daghandler. Den som liker å være rett, vil ha problemer med en handelsstil som er feil 80 av tiden (selv om de resterende 20 gir mye penger samlet) Personen som lærer å handle mens de er i en heltidsjobb, vil finne det enklest å gjøre analysen sin etter timer, slik at jobben sin ikke lider og vil trenge en slutt på dagen systemet som imøtekommer dette Spørsmålet som de fleste nye handelsfolk spør: Hvordan gjør du penger trading ER DEN SVEENDE SPØRSMÅL Spørsmålet hver handelsmann bør spørre er: Hvordan kan jeg tjene penger handel Alle er forskjellige, soxa0you kan ikke tjene penger konsekvent å ta tips fra venner, følge nyhetsbrev, abonnere på lager tipping tjenester, lese nyhetsbrev, betale for dyre seminarer å lære hemmelige handelsmetoder. hvorfor Fordi disse tingene alle har en ting til felles - de unnlater å ta hensyn til deg. Det er mange misforståelser om hvordan man skal få konsekvent handelsoverskudd. Sannheten er at du kan bygge økonomisk frihet gjennom handel. uten å være tvunget til å se på markedene hele dagen, uten dagshandling uten høyfrekvenshandel uten scalping uten innsiden. Til tross for all hype er disse akkurat som en stressende jobb som kjeder deg til dataskjermen. Du kan ha både fritid og penger. Middels til langsiktige handelsstrategier kan gi deg dette. Min 4 trinns tilnærming til aksjemarkedssystemer De gode nyhetene er at det beste systemet ikke er komplisert eller vanskelig å designe. Uansett om du handler aksjemarkedet, futures markedet, xa0forex eller alternativer eller noe annet instrument, er det beste systemet en du bygger for deg selv slik at du forstår hvordan og hvorfor det fungerer. Min tilnærming for å veilede deg er en enkel og gjennomsiktig prosess for handelssuksess. Gjennom dette nettstedet og mine andre ressurser vil jeg hjelpe deg: Trinn 1: Angi dine handelssystemmål xa0 Trinn 2: Velg den aksjehandelsstrategien som passer best for deg Trinn 3: Bygg opp handelshandelssystemene på riktig måte Trinn 4: Dokumentér handelen din plan Når du går gjennom disse trinnene, vil du også vurdere å utvikle risikostyring og porteføljestyringsregler for å oppfylle målene dine. Velge programvaren din for å sikre at det er opp til oppgaven å utvikle et robust system. Få de beste handelsbøkene for å utvide din kunnskap. Eliminere trading feil Ixa0had dyrebar liten støtte på min egen reise til trading suksess. Det tok flere år å finne en tilnærming som ga livsstilen jeg ønsket. Mitt mål var frihet gjennom handel, ikke en full tid handels jobb. Det var svært begrenset nyttig støtte i handelsbransjen, og gode ressurser var vanskelig å finne. Jeg utviklet gradvis min forståelse av handelens psykologi og undersøkte mange handelsstrategier og investeringsstrategier. Ixa0read utallige bøker om handelssystemer, designet og testet mine egne systemer, lærte programvaren og fant veien. Mange mislykkes fordi dette er en utfordrende vei, men utfallet er vel verdt reisen. Jeg håper at deling av reisen gir deg suksess og snarveier din læringskurve til handel med profitt. 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.

No comments:

Post a Comment