Sunday 19 November 2017

Høyfrekvente Trading Systemer Arkitektur


Høyfrekvent trading system design og prosess management. High frekvens trading system design og prosess management. Advisor Roy E Welsch. Department System Design og Management Program. Publisher Massachusetts Institute of Technology. Date Utgitt 2009.Trading bedrifter i dag er svært avhengige av data mining, datamodellering og programvareutvikling Finansanalytikere utfører mange lignende oppgaver til de i programvare - og produksjonsindustriene. Finansnæringen har imidlertid ennå ikke fullt ut vedtatt høyteknologiske systemkonstruksjonsrammer og prosesshåndteringsmetoder som har vært vellykkede innen programvare - og produksjonsindustrien. Mange av De tradisjonelle metodene for produktdesign, kvalitetskontroll, systematisk innovasjon og kontinuerlig forbedring funnet i ingeniørfagene kan brukes på finansfeltet. Denne oppgaven viser hvordan kunnskapen fra tekniske disipliner kan forbedre design og prosesshåndtering av høyfrekvent handel s ystems Høyfrekvente handelssystemer er beregningsbaserte Disse systemene er automatiske eller halvautomatiske programvare systemer som er iboende komplekse og krever en høy grad av design presisjon. Design av et høyfrekvent trading system knytter sammen flere felt, inkludert kvantitativ finans, systemdesign og software engineering I finansbransjen, hvor matematiske teorier og handelsmodeller er relativt godt undersøkt, er evnen til å implementere disse designene i ekte handelspraksis et av hovedelementene i et investeringsselskaps konkurranseevne. Evnen til å konvertere investeringsideer til high performance trading systemer kan effektivt og effektivt gi et investeringsselskap en stor konkurransefortrinn. Denne oppgaven gir en detaljert studie som består av høyfrekvent trading systemdesign, systemmodellering og prinsipper, og prosesshåndtering for systemutvikling. Spesielt vektlegges sikkerhetskopiering og optimalisering som er betraktet th e viktigste delene i å bygge et handelssystem Denne forskningen bygger systemteknologimodeller som styrer utviklingsprosessen. Det bruker også eksperimentelle handelssystemer til å verifisere og validere prinsipper som tas opp i denne oppgaven. Slutten konkluderer denne oppgaven at systemtekniske prinsipper og rammer kan være nøkkelen til suksess for å implementere høyfrekvent trading eller kvantitative investeringssystemer. Tenk SM - Massachusetts Institute of Technology, System Design og Management Program, 2009 Katalogert fra PDF-versjon av avhandling Inkluderer bibliografiske referanser p 78-79.Keywords System Design og Management Program. High - Frequency Trading - HFT. What er High Frequency Trading - HFT. High-Frequency Trading HFT er en program trading plattform som bruker kraftige datamaskiner til å gjennomføre et stort antall bestillinger med svært høye hastigheter. Det bruker komplekse algoritmer for å analysere flere markeder og utføre ordrer basert på markedsforhold Typisk handlerne med den raskeste utførelsen N hastigheter er mer lønnsomme enn forhandlere med langsommere gjennomføringshastigheter. BREAKING DOWN High Frequency Trading - HFT. Høyfrekvenshandel ble populær da børser begynte å tilby incentiver for selskaper å legge likviditet til markedet. For eksempel, New York Stock Exchange NYSE har en gruppe likviditetsleverandører kalt Supplemental Liquidity Providers SLPs som forsøker å legge til konkurranse og likviditet for eksisterende anførselstegn på børsen. Som et incitament til selskaper betaler NYSE et gebyr eller en rabatt for å gi likviditeten. I juli 2016 var den gjennomsnittlige SLP-rabatten 0 0019 for NYSE - og NYSE MKT-børsnoterte verdipapirer på NYSE Med millioner av transaksjoner per dag resulterer dette i en stor del av overskuddet. SLP ble introdusert etter at Lehman Brothers ble kollapset i 2008, da likviditet var et stort problem for investorene. Fordelene ved HFT. Den største fordelen med HFT er at den har forbedret markedslikviditet og fjernet budspørsmål som tidligere hadde vært for lite. Dette var test økt ved å legge til avgifter på HFT, og som følge derav økte budspørsmålene. En studie vurderte hvordan kanadiske budspørsmål endret seg da regjeringen introduserte gebyrer på HFT, og det ble funnet at budspørsmålene økte med 9.Kritikk av HFT. HFT er kontroversielt og har blitt møtt med hard kritikk. Det har erstattet en stor mengder meglere og bruker matematiske modeller og algoritmer til å ta avgjørelser, ta menneskelig avgjørelse og samspill ut av ligningen. Beslutninger skjer i millisekunder, og dette kan føre til store markedsbevegelser uten grunn For eksempel, den 6. mai 2010, opplevde Dow Jones Industrial Average DJIA sin største intradagpointsdråpe noensinne, falt 1000 poeng og droppet 10 på bare 20 minutter før den steg opp igjen. En offentlig undersøkelse skyldte en massiv ordre som utløste en salgsstilling for krasjen. En ytterligere kritikk av HFT er at det tillater store bedrifter å tjene på bekostning av de små gutta, eller institusjonelle og detaljistiske investorer Anothe r stor klage om HFT er likviditeten gitt av HFT er spøkelseslikviditet, noe som betyr at den gir likviditet som er tilgjengelig for markedet ett sekund og borte det neste, slik at handelsmenn faktisk ikke kan handle denne likviditeten. Det er faktisk bare tre hovedblokker i et Algo Trading System 1 Market Data Handler f. eks. FAST Handler 2 Strategy Module, f. eks crossOver Strategy 3 Order Router f. eks FIX router. you kan legge til risikokontroller på enten strategimodulet eller ordrerroutermodulen eller begge. Så lenge datastrømmen er riktig, du bør være god å huske Husk at du designer en ATS for minimal ventetid, og legge til flere lag eller kompleksitet vil komme på bekostning av latency. Minimal ATS arkitektur. Og hvis du legger til klokkene og fløyter, vil det se ut som følgende. Hvis du også er interessert i det nitty-gritty av implementering av ovennevnte arkitektur, bør du holde følgende ting i bakhodet. Unngå låser mutexes Hvis du må bruke den, prøv å erstatte dem med lås mindre strukturer ved bruk av atomikk Det finnes flere biblioteker tilgjengelig for låsfrie datastrukturer, for eksempel libcds, samtidighetssett osv. C -11 støtter std atomic, og du bør streve for å bruke dem også. Unngå hva som er gjort i QuickFIX. Det er skrevet for sikkerhetsfleksibilitet gjenbrukbarhet som objektlås skapelse og ødeleggelse er gjort for hver påkalling av hvilken som helst melding til ruteren. Sikkert ingen måte å skrive en latensfølsom kode på. Ingen kjøretidsminneallokering runtime-vei bør bruke tilpasset og låsfri minnehåndtering med forhåndsallokert minnepulje. Alle initialiseringen kan gjøres i konstruktører. Tight kobling Threading modell, IO modell og minnehåndtering bør utformes for å samarbeide med hverandre for å oppnå best overall ytelse Dette går imot OOP-konseptet med løs kobling, men det er nødvendig for å unngå runtime kostnad for dynamisk polymorfisme. Bruk maler i samme vein, vil jeg også foreslå at du ser på C-templatering for å oppnå fleksibilitet av kode. OS Hardware optimizatio n Til slutt bør du se på å jobbe med Linux RT Kernel og Solarflare nettverkskort med OpenOnLoad driver for å oppnå minimal latency du kan ytterligere se på å isolere cpu og kjøre programmet på den aktuelle kjerne. Og endelig den offentlige API som du trenger å utsette til strategiutviklere Jeg vil at dette skal være det minste settet som vil inkapslere all kompleksiteten til den aktuelle utvekslingsdestinasjonsklassen. OrderRouter offentlig virtuell bool sendNewOrd OrderInfo 0 virtuell bool sendRplOrd OrderInfo 0 virtuell bool sendCxlOrd OrderInfo 0 virtual. But dette betyr at OrderInfo Klassen må ha alle detaljene som kreves av destinasjonsutvekslingen. Utvekslingene krever generelt den samme typen informasjon, men når du går og støtter flere utvekslingsdestinasjoner, vil du finne deg selv å legge til flere variabler i denne klassen. Følgende er viktige spørsmål utfordringer du vil trenge å spørre deg selv 1 Multi-prosess arkitektur eller Multi-Threaded Architectu re om å bygge en monolitisk prosess med flere tråder, eller skriv flere prosesser Kostnaden for flere prosesser er meldingsforsinkelsen, mens kostnaden for flere gjengede enkeltprosesser er at eventuelle feil kan føre ned hele systemet. 2 Melding som passerer mens du kan velge fra en rekke alternativer, er du begrenset av latenshensyn. Den raskeste IPC-en ville være delt minne, men hvordan ville du gjøre synkroniseringen tilbringe litt tid med disse to spørsmålene, fordi de ville være byggeklossen som arkitekturen står på. Rediger FIX og FAST Når det gjelder populær standardprotokoll, er FIX for å sende ordre og FAST er for markedsdata. Når det er sagt, har de fleste utvekslinger sin egen innfødte protokoll som er raskere enn FIX, fordi FIX generelt er implementert på toppen av sin native protokoll. Men de støtter fortsatt FIX legger til Til hastighet av distribusjon På den annen side, mens FIX er vedtatt av de fleste utvekslinger, har FAST ikke så bred aksept. Hvis noe, Det ville bare være en håndfull utveksling ved å vedta det. De fleste av dem sender enten FIX selv lav latenstid, eller bruker sin egen innfødte binære protokoll, for eksempel i India, NSE, BSE og MCX MCXSX, gir alle de tre byttene deg FIX-protokollen i tillegg til Innfødt protokoll, men bare BSE gir deg FAST for markedsdata Og det går også fra FAST til innfødt med introduksjon av EOBI. Du kan ekstrapolere det samme til andre utvekslinger. 4k Vis Vis oppvoter Ikke for reproduksjon. Som John nevnt, er OMS den crux av enhver handelsplattform, og du bør begynne å undersøke om det. Du må bruke tid til å bestemme din handelslivssyklus, hendelser og funksjoner du vil legge inn på OMS, og de du vil at Algo Engine skal håndtere Metcetera, tilbyr en åpen kildekode OMS, jeg har ikke brukt det personlig, men det er en av de få i markedet. Den neste tingen du bør se på, er å gi et grensesnitt til kildedata i og skyve det ut Dette er for et klientordreinngangssystem for å kaste inn o rder detaljer og Algo motor for å kilde det. Mange selger side OMS s bruker en kombinasjon av proprietære programmer skrevet i Java C ved hjelp av FIX FIX-protokollen, kan du kommunisere realtid på tvers av systemer i et forenklet forhåndsdefinert meldingsformat fastsatt av FIX-protokollen fellesskap Gå til FIX-protokollorganisasjonens Hjemmeside for å lese mer om det. Også ser på Open Source FIX Engine en åpen kildekodeimplementering av FIX-motoren. Nedenfor kommer et Market Data-grensesnitt for å kildre realtids tidssikkerhetsmarkedsinformasjon, data som spenner fra High Low Open Nær beste bud Best Ask, Totalt handlet volum, Siste pris, Siste volum, Bud sitater, Spør sitater osv. Informasjonen du søker, er avhengig av hvilken type strategi du ønsker å implementere. Jeg tror at Interactive Broker gir en realtids data feed via FIX. Exchange-tilkobling er neste hvor Algo tolker signalene, lager en bestilling og ruter til en Exchange eller ECN. Det å utvikle det internt kan være tøft som du trenger å trene E xchange-medlemskap, sertifiser plattformen din og betal regelmessig medlemsavgift En billigere måte er å bruke en megler-API som IB og rute bestillingen gjennom dem. Historiske data er også essensielle fordi du kanskje vil sammenligne dagens markedsadferd med sine historiske verdier Parametre som gjennomsnittlig spredning, VWAP-profiler, gjennomsnittlig daglig volum osv. Kan være nødvendig for å påvirke beslutningsprosessen. Du kan ha den på database, men hvis hastigheten på essensen laster den ned på serverens cache når du starter programmet. Når de perifere systemene dine er oppsett kan du begynne å utvikle ditt algo-program slik du vil at det skal fungere. Denne grunnleggende infrastrukturen vil tillate deg å legge inn en parent algo-rekkefølge, lese markedsdata, reagere på signalene, men generere barnbestillinger og plassere den på utvekslingsordren og Historiske data for å påvirke beslutningstaking OMS har sammenheng mellom foreldrebarnsordren, deres realtidsstatuser og oppdateringer av algo - eller utvekslingsforbindelsesplattformen Det du vil implementere inne i Algo, er helt opp til deg. 2 3k Vis Vis Oppsummering Ikke for reproduksjon.

No comments:

Post a Comment