Monday 30 October 2017

Hft handel system


HF-handel - HFT. What är högfrekvenshandel - HFT. High-frequency trading HFT är en programhandel plattform som använder kraftfulla datorer för att överföra ett stort antal order med mycket snabba hastigheter. Det använder komplexa algoritmer för att analysera flera marknader och Genomföra order baserade på marknadsförhållanden Vanligtvis är handlarna med snabbaste körhastigheter mer lönsamma än handlare med långsammare körhastigheter. BREAKER NER HF-Frekvenshandel - HFT. High-Frequency Trading blev populär när börser började erbjuda incitament för företag att lägga till Likviditet till marknaden Exempelvis har NYSE-börsen NYSE en grupp av likviditetsleverantörer som kallas Supplemental Liquidity Providers SLPs som försöker lägga till konkurrens och likviditet för befintliga citat på börsen Som ett incitament till företag betalar NYSE en avgift eller rabatt För att tillhandahålla likviditeten I juli 2016 var den genomsnittliga SLP-rabatten 0 0019 för NYSE - och NYSE MKT-noterade värdepapper på NYSE med m Illioner av transaktioner per dag resulterar detta i en stor vinst. SLP introducerades efter Lehman Brothers kollaps 2008, då likviditet var ett stort problem för investerare. Fördelarna med HFT. Den största fördelen med HFT är att den har förbättrad marknad likviditet och borttagna bud-spread-spridningar som tidigare skulle ha varit för små. Det testades genom att lägga till avgifter på HFT och därigenom ökade budspridningar. En studie bedömde hur kanadensiska budgivningsförändringar ändras när regeringen införde avgifter på HFT , Och det visade sig att bud-ask-spridningarna ökade med 9.Critiques of HFT. HFT är kontroversiellt och har mötts med en viss hård kritik. Det har ersatt en stor mängd mäklarehandlare och använder matematiska modeller och algoritmer för att fatta beslut mänskligt beslut och interaktion utifrån ekvationen Beslut sker i millisekunder, vilket kan leda till stora marknadsrörelser utan anledning. Däremot led Dow Jones Industrial Average DJIA den 6 maj 2010 Dess största intradag punktfall någonsin, sjunkit 1000 poäng och släppa 10 på bara 20 minuter innan de stiger igen En regeringskontroll skyllde en massiv order som utlöste ett försäljningsavbrott för kraschen. En ytterligare kritik av HFT gör det möjligt för stora företag att dra nytta av De små killarnas eller institutionernas och investerarnas investeringar. Ett annat stort klagomål om HFT är likviditeten från HFT är spöklikviditet, vilket innebär att den ger likviditet som är tillgänglig för marknaden en sekund och gått nästa, vilket förhindrar att näringsidkare faktiskt blir kunna handla denna likviditet. Vad är högfrekvenshandel. Högfrekvenshandel är en automatiserad handelsplattform som används av stora investeringsbankers hedgefonder och institutionella investerare som använder kraftfulla datorer för att handla ett stort antal order med extremt höga hastigheter. Dessa högfrekventa handelar Plattformar tillåter handlare att utföra miljoner order och skanna flera marknader och utbyten på några sekunder, vilket ger de institutioner som använder plattformarna en stor fördel på den öppna marknaden. Systemen använder komplexa algoritmer för att analysera marknaderna och kan upptäcka nya trender på en bråkdel av en sekund. Genom att kunna känna igen skift på marknaden, handlar handeln System skickar hundratals korgar av aktier ut på marknaden på bud-ask-spridningar som är fördelaktiga för handlarna. Genom att i huvudsak förutse och slå trenderna till marknaden kan institutioner som genomför högfrekvenshandel få god avkastning på affärer som de väsentligen gör av deras bud-ask-spridning, vilket resulterade i betydande vinster. Högfrekvent handel blev vanligt förekommande på marknaderna efter införandet av incitament som erbjuds av utbyten för institutioner att lägga likviditet på marknaderna Genom att erbjuda små incitament till dessa marknadsaktörer får utbyten tillförd likviditet, Och de institutioner som tillhandahåller likviditeten ser också ökad vinst på varje handel de gör, överst Av deras gynnsamma spridningar Även om spridningarna och incitamenten uppgår till en bråkdel av 1 cent per transaktion, multipliceras det med ett stort antal affärer per dag, vilket innebär en stor vinst för högfrekventa handlare. Mycket ser högfrekvent handel som oetisk och en orättvis fördel för stora företag mot mindre institutioner och investerare Att prova din hand i online-handel läs Stimulera dina färdigheter med simulerad handel och kolla in Investopedia Stock Simulator för att handla aktier riskfritt. Ta reda på vilka faktorer som påverkar bid-ask spridningsbredd. Lär dig varför vissa aktier har stora Sprider sig mellan bud och fråga priser Läs svar. Läs mer om budgivningspridningar och varför aktier med hög likviditet och låg volatilitet normalt har smal läsning. Stabutbyten är inrättade för att hjälpa mäklare och andra specialister att samordna bud och Fråga priser Budpriset är Read Answer. Likviditet hänvisar till hur lätt det är att köpa och sälja aktier utan att se en förändring i primär ce Om du till exempel köpte lager Läs Answer. En handelsplattform är en mjukvara som fungerar som en kanal för information mellan en näringsidkare och en mäklare. En handel Läs svar. Algoritmiska handelsstrategier, såsom automatisk säkring, statistisk analys, Algoritmiskt genomförande, direkt marknadstillträde och högfrekvenshandel kan exponera prissammanhang som utgör. Algoritmisk handel är processen att använda datorer för att placera affärer för att generera vinster med en hastighet och frekvens som är bortom en persons förmåga. En i djupet tittar på hur högfrekvenshandel fungerar och vem spelarna är. Mycket av tillväxten i algoritmisk handel på Forex-marknader under de senaste åren har berodts på algoritmer som automatiserar vissa processer och minskar de timmar som behövs för att utföra valutahandel. Automatiserade handelssystem Minimera känslor, möjliggöra snabbare orderingång, leda till ökad konsistens och lösa pilotfelproblem. Systemhandlare delar upp sin tid mellan handel, dev Eloping, backtesting, optimering och framåtprovning, för att skapa lönsamma och höga sannolikhetssystem för handel. Är marknadslikviditeten som tillhandahålls av högfrekvenshandel en verklighet eller en illusion. Det maximala beloppet av pengar som Förenta staterna kan låna Skuldtaket skapades under Second Liberty Bond Act. Räntan vid vilken ett förvaltningsinstitut lånar medel som förvaras i Federal Reserve till ett annat förvaringsinstitut.1 En statistisk mått på spridning av avkastning för en viss säkerhet eller marknadsindex Volatilitet kan antingen mätas. En handling Den amerikanska kongressen passerade 1933 som Banking Act, som förbjöd kommersiella banker att delta i investeringen. Nonfarm lön hänvisar till något jobb utanför gårdar, privata hushåll och nonprofit sektorn Den amerikanska presidiet för arbete. Valutaförkortningen eller valutasymbolen för Indiens rupi INR, indiens valuta Rupéen består av 1.Denna post detaljer kommer att göra vad jag gjorde för att göra ca 500k från hig H-frekvenshandel från 2009 till 2010 Eftersom jag handlade helt självständigt och inte längre kör mitt program, är jag glad att berätta allt. Min handel var mestadels i Russel 2000 och DAX futures kontrakt. Nyckeln till min framgång tror jag var inte i En sofistikerad ekonomisk ekvation men snarare i den övergripande algoritmdesignen som sammanfogade många enkla komponenter och använt maskininlärning för att optimera för maximal lönsamhet. Du behövde inte behöva veta någon sofistikerad terminologi här, för när jag satte in mitt program var det allt baserat på intuition Andrew Ng s fantastiska maskininlärning kursen var ännu inte tillgänglig - btw om du klickar på den här länken kommer du att tas till mitt aktuella projekt CourseTalk, en recension webbplats för MOOCs. First Jag vill bara visa att min framgång inte bara var resultatet av lycka My Programmet gjorde 1000-4000 handlar per dag halvt halvt, halvt kort och kom aldrig i positioner på mer än ett fåtal kontrakt i taget. Detta innebar slumpmässig lycka från någon speciell handel avera Jag har aldrig gått förlorad mer än 2000 på en dag och aldrig haft en förlorad månad. EDIT Dessa siffror är efter betalning av provisioner. Och här är diagrammet för att ge dig en känsla av den dagliga variationen. Notera detta utesluter de senaste 7 månaderna eftersom - som siffrorna slutade gå upp - jag förlorade min motivation för att komma in i dem. Min trading background. Prior Att ställa in mitt automatiserade handelsprogram Jag hade 2 års erfarenhet som en manuell dagförare Detta var tillbaka 2001 - det var de första dagarna med elektronisk handel och det fanns möjligheter för scalpers att tjäna bra pengar jag kan bara beskriva vad jag gjorde Som besläktad med att spela ett videospel med en förmodad kant Att vara framgångsrik menade att vara snabb, vara disciplinerad och ha ett bra intuitivt mönsterigenkänningsförmåga jag kunde göra runt 250k, betala min studielån och få pengar kvar Win. Over Under de närmaste fem åren skulle jag starta två igångsättningar och hämta några programmeringsförmågor under vägen. Det skulle inte vara förrän i slutet av 2008 att jag skulle komma tillbaka till handeln. Med pengar som låg låg från försäljningen av min första start, handel erbjöd hopp om några snabba pengar medan jag tänkte på mitt nästa drag. Under 2008 var jag manuellt dagshandelsutgångar med programvara som heter T4. Jag ville ha några anpassade orderinmatnings snabbtangenter, så efter att jag upptäckte att T4 hade ett API tog jag utmaningen Av att lära C det programmeringsspråk som krävs för att använda API: n och fortsatte och byggde upp några hotkeys. Efter att mina fötter blivit våta med API hade jag snart större förväntningar. Jag ville lära mig att datorn skulle handla för mig. API gav både en ström av Marknadsdata och ett enkelt sätt att skicka order till utbytet - allt jag behövde var att skapa logiken i mitten. När är det en skärmdump av ett T4-handelsfönster Vad var coolt är det när jag fick mitt program att fungera kunde jag titta på datahandeln på exakt samma gränssnitt Att titta på riktiga beställningar som poppade in och ut sig själva med mina riktiga pengar var både spännande och skrämmande. Utformningen av min algoritm. Från början var mitt mål att installera ett system så att jag kunde vara rimligt co Nfident jag d tjäna pengar innan jag någonsin gjort några levande affärer För att åstadkomma detta behövde jag bygga en handelssimuleringsram som skulle - så exakt som möjligt - simulera live trading. While trading in live-mode krävde bearbetning marknadsuppdateringar strömmade genom API, simuleringsläge krävs läsning av marknadsuppdateringar från en datafil För att samla in dessa data installerar jag den första versionen av mitt program för att helt enkelt ansluta till API: n och registrera marknadsuppdateringar med tidsstämplar. Jag slutade använda 4 veckors värde av de senaste marknadsdata för att träna och testa mitt system på . Med en grundläggande ram på plats hade jag fortfarande uppgiften att räkna ut hur man gör ett lönsamt handelssystem. Det visar sig att min algoritm skulle bryta ner i två distinkta komponenter, som jag kommer att utforska i sin tur. Att pröva prisrörelser och. Trades. Predicting prisrörelser. Kanske en uppenbar del av något handelssystem kan förutse var priserna kommer att flytta och mitt var inget undantag jag definierade den nuvarande pris som medelvärdet av insidan och inbjudandet och jag satte målet att förutsäga var priset skulle vara de närmaste 10 sekunderna. Min algoritm skulle behöva komma fram med denna förutsägelse moment för stund under handelsdagen. Skapa optimering Indikatorer. Jag skapade en handfull indikatorer som visade sig ha en meningsfull förmåga att förutsäga kortvariga prisrörelser. Varje indikator producerade ett tal som var antingen positivt eller negativt. En indikator var användbar om oftare än inte ett positivt tal motsvarade marknaden går upp Och ett negativt tal motsvarade marknaden som gick ner. My system gjorde det möjligt för mig att snabbt bestämma hur mycket prediktiv förmåga någon indikator hade så att jag kunde experimentera med många olika indikatorer för att se vad som fungerade Många av indikatorerna hade variabler i formlerna Som producerade dem och jag kunde hitta de optimala värdena för dessa variabler genom att göra sida vid sida jämförelser av resultat uppnådda med olika värden. Dikatörer som var mest användbara var alla relativt enkla och baserade på de senaste händelserna på marknaden, som jag handlade såväl som marknaderna för korrelerade värdepapper. Att göra exakt prisförskjutningsprognos. Det var inte tillräckligt med indikatorer som bara förutspådde en upp - eller nerprisrörelse. Jag behövde veta exakt hur mycket prisrörelsen förutspådades av varje möjligt värde för varje indikator, jag behövde en formel som skulle konvertera ett indikatorvärde till ett prissättningsförslag. För att uppnå detta spårade jag spådda pris i 50 hinkar som berodde på det intervall som indikatorvärdet föll i Det här producerade unika förutsägelser för varje hink som jag då kunde grafera i Excel Som du kan se förväntar sig prisförändringen som indikatorvärdet ökar. Baserat på ett diagram som det här kunde jag göra en formel för att passa kurvan I början gjorde jag denna kurva montering manuellt men jag skrev snart upp en kod för att automatisera denna process. Notera att inte alla indikatorkurvorna hade samma s Hape Observera också att skoporna var logaritmiska fördelade för att sprida datapunkterna jämnt. Slutligen notera att negativa indikatorvärden och deras motsvarande nedåtriktade prisspecifikationer vändes och kombineras med de positiva värdena. Min algoritm behandlas upp och ner exakt samebindingsindikatorerna för en enda förutsägelse. En viktig sak att tänka på var att varje indikator inte var helt oberoende. Jag kunde inte helt enkelt lägga upp alla förutsägelser som varje indikator gjorde individuellt. Nyckeln var att räkna ut det extra prediktiva värdet som varje indikator hade bortom det som redan förutspåddes Det var inte svårt att genomföra, men det innebar att om jag var kurvmontering flera indikatorer samtidigt var jag tvungen att ändra mig skulle man påverka andras förutsägelser. För att kurva passa alla indikatorer samtidigt konfigurera optimeringsenheten för att bara steg 30 på vägen mot de nya förutsägelsekurvorna med varje passering Med det här 30 hoppet hittade jag Att förutsägelsekurvorna skulle stabilisera inom några passeringar. Med varje indikator som nu ger oss det s extra prissättning kan jag helt enkelt lägga till dem för att producera en enda förutsägelse av var marknaden skulle vara på 10 sekunder. Varför förutse priserna inte räcker. Du kanske tror att med den här kanten på marknaden var jag guld. Men du måste komma ihåg att marknaden består av bud och erbjudanden - det är inte bara ett marknadspris. Framgång i högfrekvent handel kommer till att få bra priser och det är inte så lätt. Följande faktorer gör att det är svårt att skapa ett lönsamt system. Med varje handel var jag tvungen att betala provisioner till både min mäklare och utbytet. Spridningsskillnaden mellan högsta bud och lägsta erbjudande innebar att om jag bara skulle köpa och Sälja slumpmässigt jag skulle förlora massor av pengar. Mest av marknadsvolymen var andra robotar som bara skulle utföra en handel med mig om de trodde att de hade någon statistisk kant. Att se ett erbjudande garanterade inte att jag kunde köpa det. tiden min köporder kom till utbytet var det mycket möjligt att det erbjudandet skulle ha blivit avbrutet. Som en liten marknadsaktör var det inget sätt att jag kunde tävla på hastighet ensam. Bygga en fullständig handelssimulering. Så hade jag ett ramverk som tillät mig att backtest och optimera indikatorer Men jag var tvungen att gå bortom det här. Jag behövde en ram som skulle göra det möjligt för mig att backtest och optimera ett fullständigt handelssystem en där jag skickade order och kom i positioner I det här fallet skulle jag optimera för totalt PL och I viss utsträckning genomsnittlig PL per handel. Detta skulle vara svårare och på något sätt omöjligt att modellera exakt men jag gjorde så gott som möjligt Jag kunde här vara några av de problem som jag hade att göra med. När en order skickades till marknaden i simulering Jag var tvungen att modellera fördröjningstiden. Det faktum att mitt system såg ett erbjudande innebar inte att det kunde köpa det genast. Systemet skulle skicka ordern, vänta ca 20 millisekunder och då bara om erbjudandet var kvar där, ansågs det som ett Exekverad handel Detta var inexakt eftersom den verkliga fördröjningstiden var inkonsekvent och orapporterad. När jag lade bud eller erbjudanden fick jag titta på handelsexekveringsströmmen från API: n och använda dem för att mäta när min order skulle ha blivit verkställd mot att göra det rätt jag var tvungen att spåra positionen för min order i kön. Det är först i första ut-systemet. Jag kunde inte göra det perfekt, men jag gjorde en bästa approximation. För att förfina min orderexekveringsimulering gjorde jag mina loggfiler från Live trading via API och jämföra dem med loggfiler som produceras genom simulerad handel från exakt samma tidsperiod som jag kunde få min simulering till den punkt som det var ganska noggrant och för de delar som var omöjliga att modellera exakt var jag säker på att producerar åtminstone resultat som statistiskt liknar de mätvärden som jag trodde var viktiga. Att skapa lönsamma affärer. Med en ordningsimuleringsmodell på plats kunde jag nu skicka order i simuleringsläge och se en simulerad PL men hur skulle m y systemet vet när och var att köpa och sälja. Prisförskjutningarna var en utgångspunkt men inte hela historien. Vad jag gjorde var att skapa ett poängsystem för var och en av fem prisnivåer på bud och erbjudande. Dessa inkluderade en nivå över insidan bjuda på en köporder och en nivå under det inbjudna erbjudandet för en försäljningsorder. Om poängen till en viss prisnivå översteg ett visst tröskelvärde skulle det innebära att mitt system borde ha ett aktivt bud erbjudande där - under tröskeln är det några aktiva beställningar bör avbrytas Baserat på detta var det inte ovanligt att mitt system skulle blinka ett bud på marknaden och sedan omedelbart avbryta det. Även om jag försökte minimera detta så är det irriterande för alla som tittar på skärmen med mänskliga ögon - inklusive mig. prisnivå poäng beräknades baserat på följande faktorer. Priset flytta förutsägelse som vi diskuterade tidigare. Prisnivån i fråga Inner nivåer menade att större prisförskjutningar förutsägelser krävdes. Antalet kontrakter framför min Order i kön Mindre var bättre. Antalet kontrakt bakom min order i kön Mer var bättre. Dessa faktorer tjänade till att identifiera säkra ställen att erbjuda budet. Prissättningen för prisrörelsen var inte tillräcklig eftersom den inte tog hänsyn till det faktum att när jag satte ett bud fylldes jag inte automatiskt - jag blev bara fylld om någon sålde till mig där Verkligheten var att det faktum att någon som säljer till mig till ett visst pris ändrade statistiska odds för handeln. De variabler som användes i detta steg Alla var föremål för optimering Detta gjordes på exakt samma sätt som jag optimerade variabler i prisrörindikatorerna, förutom i det här fallet optimerade jag för bottenlinjen P L. Vad mitt program ignorerades. När handel som människor har vi ofta kraftfulla känslor och fördomar som kan leda till mindre än optimala beslut Tydligt ville jag inte kodifiera dessa förspänningar Här är några faktorer som mina system ignorerades. Priset som en position infördes - I ett handelskontor är det ganska vanligt att höra konversation om det pris som någon är lång eller kort som om det skulle påverka deras framtida beslutsfattande. Även om detta har någon giltighet som en del av en strategi för riskreducering har det verkligen ingen betydelse för framtida händelser på marknaden. Därför min programmet ignoreras helt och hållet den här informationen Det är samma begrepp som att ignorera nedsatta kostnader. Går kort mot att lämna en lång position - Vanligtvis skulle en näringsidkare ha olika kriterier som bestämmer var man ska sälja en lång position kontra vart man ska gå kort. Men från mitt algoritmperspektiv var det ingen anledning att göra skillnad Om min algoritm förväntade sig en nedåtgående flyttförsäljning var en bra idé, oavsett om det var för länge, kort eller platt. En fördubbling av strategi - Det här är en gemensam strategi där näringsidkare kommer att köpa fler aktier i händelse att den ursprungliga handeln går emot dem Detta resulterar i att ditt genomsnittliga inköpspris är lägre och det betyder när eller om lagret vänder dig om du kommer att ställas in för att göra din mamma Ögon tillbaka på nolltid Enligt min åsikt är det här verkligen en hemsk strategi om du inte är Warren Buffet Du är lurad på att du mår bra för att de flesta av dina affärer kommer att bli vinnare Problemet är när du förlorar dig förlorar stor Den andra effekten är det Gör det svårt att bedöma om du verkligen har en kant på marknaden eller bara blir lycklig Att kunna övervaka och bekräfta att mitt program faktiskt hade en kant var ett viktigt mål. Eftersom min algoritm fattade beslut på samma sätt oavsett var det gick in i en handel eller om det för tillfället var länge eller kort satt det ibland och tog några stora förlorande affärer utöver några stora vinnande affärer Men du borde inte tro att det inte fanns någon riskhantering. För att hantera risken tillämpade jag ett maximalt Positionsstorlek på 2 kontrakt i taget, av och till stöttas upp på högvolymdagar Jag hade också en maximal daglig förlustgräns för att skydda mot eventuella oförutsedda marknadsförhållanden eller en bugg i min programvara Dessa gränser verkställdes i min kod bu t också i backend genom min mäklare Som det hände jag aldrig stött på några betydande problem. Running algoritmen. Från det ögonblick som jag började jobba på mitt program det tog mig ungefär 6 månader innan jag fick det till lönsamheten och började springa det live Även om det var rättvist, var en betydande tid att lära sig ett nytt programmeringsspråk. När jag arbetade för att förbättra programmet såg jag ökad vinst för var och en av de närmaste fyra månaderna. Varje vecka skulle jag ombilda mitt system baserat på de föregående 4 veckorna värt av Data som jag hittade här slog den rätta balansen mellan att fånga nya marknadsbeteendeutvecklingar och att försäkra min algoritm hade tillräckligt med data för att skapa meningsfulla mönster. När träningen började ta mer och mer tid splittrade jag det så att det kunde utföras av 8 virtuella maskiner som använde amazon EC2 Resultaten samlades sedan på min lokala maskin. Höjdpunkten för min handel var oktober 2009 när jag gjorde nästan 100k Efter detta fortsatte jag att spendera de närmaste fyra månaderna t Rying för att förbättra mitt program trots minskad vinst varje månad Tyvärr vid denna punkt antar jag att jag implementerade alla mina bästa idéer eftersom ingenting jag försökte verkade hjälpa till mycket. Med frustrationen att inte kunna göra förbättringar och inte ha en känsla av tillväxt, jag Började tänka på en ny riktning jag mailade 6 olika högfrekventa handelsföretag för att se om de skulle vara intresserade av att köpa min programvara och anställa mig för att arbeta för dem. Ingen svarade. Jag hade några nya idriftsättningsförslag som jag ville jobba på så jag följde aldrig upp. UPDATE - Jag publicerade detta på Hacker News och det har fått mycket uppmärksamhet. Jag vill bara säga att jag inte förespråkar någon som försöker göra något så här själv nu. Du skulle behöva ett team av riktigt smarta människor med en rad erfarenheter att ha något hopp om att konkurrera Även när jag gjorde det tror jag att det var väldigt sällsynt för individer att uppnå framgång, även om jag hade hört talas om andra. Det finns en kommentar högst upp på sidan som nämner manipulerad sta tistik och hänvisar till mig som en detaljhandel investerare att quants skulle glatt hämta det här är en ganska olycklig kommentar som helt enkelt inte är baserad i verkligheten. Att sätta bort det finns några intressanta kommentarer. UPDATE 2 - Jag har skrivit en uppföljning FAQ som svarar Några vanliga frågor jag fått från handlare om detta inlägg.

No comments:

Post a Comment