Högfrekvent handel system arkitektur
Högfrekventa handelssystem design och process management. High Frequency Trading System design och process management. Advisor Roy E Welsch. Department System Design och Management Program. Publisher Massachusetts Institute of Technology. Date utfärdat 2009.Trading företag nuförtiden är mycket beroende av data mining, Datormodellering och mjukvaruutveckling Finansanalytiker utför många liknande uppgifter till dem inom mjukvaru - och tillverkningsindustrin Men finansbranschen har ännu inte helt antagit hög standard systemtekniska ramar och processhanteringsmetoder som har lyckats inom mjukvaru - och tillverkningsindustrin Många av De traditionella metoderna för produktdesign, kvalitetskontroll, systematisk innovation och kontinuerlig förbättring inom teknikområdet kan tillämpas på finansfältet. Denna avhandling visar hur kunskapen som förvärvats från ingenjörsdiscipliner kan förbättra design och processhantering av högfrekventa handel s Ystems Högfrekventa handelssystem är beräkningsbaserade Dessa system är automatiska eller halvautomatiska mjukvarusystem som är inherent komplexa och kräver hög grad av design precision. Utformningen av ett högfrekventa handelssystem kopplar flera fält, inklusive kvantitativ finansiering, systemdesign och Mjukvaruutveckling I finansbranschen, där matematiska teorier och handelsmodeller är relativt välskattade, är möjligheten att genomföra dessa mönster i reala handelspraxis ett av de viktigaste inslagen i ett värdepappersföretags konkurrenskraft. Möjligheten att konvertera investeringsideer till högpresterande handel Systemen kan effektivt och effektivt ge ett värdepappersföretag en stor konkurrensfördel. Denna avhandling ger en detaljerad studie bestående av högfrekvent handelssystemdesign, systemmodellering och principer samt processhantering för systemutveckling. Särskild vikt läggs vid backtesting och optimering, vilket är Ansåg th E viktigaste delarna i att bygga ett handelssystem Denna forskning bygger systemtekniska modeller som styr utvecklingsprocessen. Det använder också experimentella handelssystem för att verifiera och validera principer som behandlas i denna avhandling. Slutligen sluts i denna avhandling att systemstekniska principer och ramverk kan vara nyckeln Till framgång för att genomföra högfrekventa handel eller kvantitativa investeringssystem. Tesis SM - Massachusetts Institute of Technology, System Design och Management Program, 2009 Katalogiserad från PDF-version av avhandling Inkluderar bibliografiska referenser p 78-79.Keywords System Design och Management Program. High - Frequency Trading - HFT. What är High Frequency Trading - HFT. High-Frequency Trading HFT är en programhandel plattform som använder kraftfulla datorer för att överföra ett stort antal beställningar 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 handlar den snabbaste exekveringen N-hastigheter är mer lönsamma än handlare med långsammare körhastigheter. BREAKNING AV HF-Frekvenshandel - HFT. High-Frequency Trading blev populär när börser började erbjuda incitament för företag att öka likviditeten till marknaden. Till exempel NYSE-börsen NYSE Har 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 för 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 miljoner transaktioner per dag resulterar det i en stor vinst. SLP introducerades efter Lehman Brothers kollaps 2008 när likviditet var ett stort intresse för investerare. Fördelarna med HFT. Den stora fördelen med HFT är att den har förbättrad marknadslikviditet och borttagna bud-ask-spridningar som tidigare skulle ha varit för små. Detta var test Ed genom att lägga till avgifter på HFT och därigenom ökade budspridningar En studie undersökte hur kanadensiska budspridningar förändrades när regeringen införde avgifter på HFT och det visade sig att budgivningsskiktet ökade med 9.Kritik av HFT. HFT är kontroversiell och har mötts med en del hård kritik. Den har ersatt en stor mängd mäklare och använder matematiska modeller och algoritmer för att fatta beslut, ta mänskligt beslut och interaktion ur ekvationen. Beslut sker i millisekunder. Resulterar i stora marknadsrörelser utan anledning. Dow Jones Industrial Average DJIA fick till exempel sitt största intradagpunktsfall någonsin, sjönk 1000 poäng och släppte 10 på bara 20 minuter innan den steg igen. En regeringstolkning skyllde en massiv Order som utlöste en avyttring för kraschen. En ytterligare kritik av HFT är att det tillåter stora företag att vinst på bekostnad av de små killarna, eller institutionerna och detaljhandeln investerare Anothe R stora klagomål om HFT är likviditeten som tillhandahålls av 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 hindrar handelsmän från att faktiskt kunna handla denna likviditet. Det finns faktiskt bara tre stora block I ett Algo Trading System 1 Market Data Handler t. ex. FAST Handler 2 Strategy Module t. ex. CrossOver Strategy 3 Order Router, t. ex. FIX router. Du kan lägga till Riskcheck antingen i Strategimodulen eller Order Router Module eller båda Så länge är ditt dataflöde korrekt, Du borde vara bra att komma ihåg Kom ihåg att du utformar en ATS för minsta latens, och lägger till flera lager eller komplexitet kommer att ligga på bekostnad av latens. Minimal ATS-arkitektur. Och om du lägger till klockor och visselpipor skulle det se ut som följande. Om du också är intresserad av det praktiska genomförandet av ovanstående arkitektur, bör du hålla följande saker i åtanke. Låser inte mutexes Om du behöver använda det, försök byta dem med lås Mindre strukturer som använder atom Det finns några bibliotek tillgängliga för låslösa datastrukturer, t. ex. libcds, samtidighetssats etc. C -11 stöder std atomic och du bör sträva efter att använda dem också. Undvik vad som görs i QuickFIX. Det är skrivet för återvinning av säkerhetsflexibilitet som objektlås skapande Och förstörelse görs för varje påkallelse av något meddelande till routern. Det är säkert inget sätt att skriva en latent känslig kod. Ingen körtidshantering runtime-vägen bör använda anpassad och låslös minneshantering med fördelad minnespool. Alla initialiseringarna kan göras i Konstruktörer. Tight-koppling Threading-modellen, IO-modellen och minneshanteringen ska utformas för att samarbeta med varandra för att uppnå bästa övergripande prestanda. Detta strider mot OOP-konceptet för löskoppling, men det är nödvändigt för att undvika runtime-kostnad för dynamisk polymorfism. Använd mallar i Samma sätt, skulle jag också föreslå att du tittar på C-templatering för att uppnå flexibilitet av code. OS Hardware optimizatio N Slutligen bör du se till att arbeta med Linux RT Kernel och Solarflare nätverkskort med OpenOnLoad-drivrutinen för att uppnå minsta latens du kan vidare se för att isolera cpu och köra ditt program på den specifika kärnan. Och äntligen det offentliga API som du skulle behöva Exponera för strategiutvecklare Jag skulle vilja att det här är den minsta uppsättningen som skulle inkapsla alla komplexiteten hos den specifika utbytes destinationsklassen OrderRouter public virtuell bool sendNewOrd OrderInfo 0 virtuell bool sendRplOrd OrderInfo 0 virtuell bool sendCxlOrd OrderInfo 0 virtual. But det innebär att OrderInfo Klassen behöver ha alla detaljer som krävs av destinationsutbytet Normalt kräver utbyten samma information, men när du går vidare och stöder fler utbytesdestinationer skulle du finna dig själv att lägga till fler variabler i den här klassen. Följande är viktiga Frågor utmaningar du skulle behöva fråga dig 1 Multi-process arkitektur eller Multi-threaded arkitektu Om du vill bygga en monolitisk process med flera trådar eller skriva flera processer. Kostnaden för flera processer är meddelandets lösenfördröjning, medan kostnaden för multipelgängad enstaka process är att eventuellt fel kan leda ner hela systemet. 2 Meddelande som passerar medan du kan välja Från överflöd av alternativ, är du begränsad av latent övervägande snabbaste IPC skulle delas minne, men hur skulle du göra synkroniseringen spendera tid med dessa två frågor eftersom de skulle vara byggstenen som din arkitektur står i. Ändra FIX och FAST När det gäller populära standardprotokoll är FIX för att skicka order och FAST är för marknadsdata. Med detta sagt har de flesta utbyten sina egna inbyggda protokoll som är snabbare än FIX, eftersom FIX generellt implementeras ovanpå sitt eget protokoll. Men de stöder fortfarande FIX-tillägg För snabb utbyggnad Å andra sidan, medan FIX antas av de flesta utbyten, har FAST inte så bred acceptans. Om något, Det var bara en handfull utbyte som antog den. De flesta av dem skickar antingen över FIX själv låg latens eller använder sitt eget inbyggda binära protokoll, t. ex. i Indien, NSE, BSE och MCX MCXSX, alla tre utbyten ger dig FIX-protokoll förutom att Inhemskt protokoll, men bara BSE ger dig snabb information om marknadsdata och det går också från FAST till native med introduktion av EOBI. Du kan extrapolera samma sak till andra utbyten. 4k Visningar Visa uppsteg Inte för reproduktion. Som John nämnde är OMS den Kärnan i någon handelsplattform och du bör börja undersöka om det. Du skulle behöva spendera tid för att bestämma din livscykel, händelser och funktioner du vill bädda in på OMS och de som du vill att din Algo Engine ska hantera Metcetera erbjuder en öppen källa OMS, jag har inte använt det personligen men det är ett av få på marknaden. Det nästa du bör titta på är att ge ett gränssnitt till källdata i och driva ut det. Det här är ett system för beställning av kundorder för att kasta in o Rder detaljer och Algo-motor för att källa den Mycket Säljesidan OMS s använder en kombination av egna program som är skrivna i Java C med FIX FIX-protokollet, så att du kan kommunicera realtid över system i ett förenklat fördefinierat meddelandeformat som fastställs av FIX-protokollet Community Gå till FIX Protocols organisationens startsida för att läsa mer om det. Se även på Open Source FIX Engine en öppen källkodsimplementering av FIX-motorn. Nästa kommer ett Market Data-gränssnitt för att källa realtids tidssäkerhetsmarknadsinformation, data som sträcker sig från High Low Open Nära till bästa budet Bästa fråga, Totalt handlad volym, Senaste pris, Senaste volymen, Bud citat, Fråga citat osv. Den information du söker verkligen beror på vilken typ av strategi du vill implementera. Jag tror att Interactive Broker ger ett realtidsdata via FIX. Exchange-anslutning är nästa där din Algo tolkar signalerna, skapar en order och rutter till en Exchange eller ECN Utveckla det internt kan vara svårt eftersom du skulle behöva träna E Xchange-medlemskap, certifiera din plattform och betala en vanlig medlemsavgift Ett billigare sätt är att använda ett mäklare-API som IB och styra ordern genom dem. Historiska data är också avgörande eftersom du kanske vill jämföra det nuvarande marknadsbeteendet med dess historiska värden Parametrar som genomsnittlig spridning, VWAP-profiler, genomsnittlig daglig volym etc kan behövas för att påverka beslutsfattandet. Du kan ha det på databas föredraget men om kärnans hastighet ladda ner den på serverns cache när du börjar ditt program. När dina perifera system är Setup, kan du börja utveckla ditt algo-program så som du vill att den ska fungera. Den här grundläggande infrastrukturen gör det möjligt för dig att mata in en parent algo-order, läsa marknadsdata, reagera på signalerna men generera barnorder och placera den i utbytesordern och Historiska data för att påverka beslutsfattandet OMS har kopplingen mellan föräldrabarnsordern, deras realtidsstatus och uppdateringar av plattformen för algo eller utbyte Vad du vill implementera inuti Algo är helt upp till dig.2 3k Visningar Visa uppsteg Inte för reproduktion.
Comments
Post a Comment