Innehållsförteckning[Dölj][Visa]
En bransch som i hög grad intresserar de som söker arbete är valutahandel. Mjukvaruföretag får förfrågningar från handlare över hela världen om att tillhandahålla en handelsplattform som snabbt och effektivt kan utvärdera data om valutapar.
En handelsplattform är ett program som tillhandahålls till handlare och investerare av vissa finansiella organisationer, såsom banker och mäklarhus.
Handelsplattformar låter i huvudsak investerare och återförsäljare göra affärer och hålla ett öga på deras konton. Andra funktioner som hjälper investerare att fatta investeringsbeslut ingår ofta i handelssystem.
Realtidscitat, interaktiva diagram, en mängd olika grafiska verktyg, live nyhetsflöden och premiumforskning är några exempel på dessa funktioner.
Plattformar kan också utformas för vissa marknader, till exempel för aktier, valutor, optioner eller terminer.
I mer än ett decennium har automatiserade handelssystem, även känd som algoritmisk handel, har ockuperat den centrala scenen i handelsbranschen.
Ett "handelssystem", ibland känt som en "handelsstrategi", är inget annat än en samling regler som tillämpas på indata för att ge köp/sälj in- och utgångssignaler. Trots att det kan verka enkelt att skapa en handelsstrategi är det inte det!
Hjärnorna bakom en kvantitativ handelsstrategi kallas för "kvanter" inom området algoritmisk handel eftersom utvecklingen av en bra handelsstrategi kräver omfattande kvantitativa studier.
Den grundläggande utformningen av automatiserade handelssystem har genomgått betydande förändringar under de senaste tio åren och håller fortfarande på att förändras.
Den algoritmiska handelsindustrin har blivit en grogrund för utvecklingen inom dator- och nätverksteknik eftersom det har blivit nödvändigt för företag, särskilt de som använder högfrekventa handelssystem, att förnya sig på teknologi för att kunna konkurrera i en värld av algoritmisk handel.
Vi kommer att diskutera handelsplattformens systemdesign i den här artikeln. De grundläggande specifikationerna för en handelsplattform inkluderar dess arkitektur, protokoll och instruktioner för att skapa ditt eget automatiserade handelssystem.
Krav på automatiserad handelsprogramvara på en grundläggande nivå
Den bästa lösningen är den som helt uppfyller mjukvarukraven. De viktigaste specifikationerna för automatiserad handelsprogram är:
- Skalbarhet (systemets förmåga att hantera en ökande volym av förfrågningar och arbetsbelastning);
- Multiprocessing och utmärkt prestanda;
- Säkerhet och säkerhet (hur den reagerar på intrång eller övergrepp som kommer plötsligt och skyddar mot illegalt inträde);
- Interoperabilitet (förmågan hos ett system att interagera med andra system);
- Tillförlitlighet (hur det löser fel och körs trots problem).
Algoritmiska handelssystem kräver extremt skicklig arbetskraft och noggrann uppmärksamhet. Det är lättare att förstå systemets funktionskrav när det finns tydliga icke-funktionella krav. De fungerar som styrande standarder för mjukvaruutvecklingsteam för att fastställa och definiera en produkts kvalitet.
Handelsplattformens funktionella egenskaper inkluderar
Det framgångsrika stödet för olika betalningsmetoder, säkra molnvärdtjänster, kraftfulla dataanalysverktyg, riskhantering, exakta offerter och lämpliga diagramtyper är alla viktiga funktionella behov.
Följande är några grundläggande attribut för automatiserade handelsplattformar som alla handlare är mycket uppmärksamma på:
Instrumentpanel som visar statistikdata
För att genomföra en simultan undersökning i realtid av valutakurser över flera tidszoner måste plattformen köra kontinuerliga uppdateringar, använda data från många diagram och använda prisblad.
Autentisering
Den snabba men pålitliga verifieringsmetoden skapar först bilden av en säker plattform och elitteknisk insats.
Handelsprogramvara kan stödja åtkomst från flera konton, liknande handelsplattformar med öppen källkod med tvåfaktorsautentisering (med till exempel SMS eller Google Authenticator), men du kan också ha ett system med åtkomst aktiverad via e-post, telefonnummer eller annat sätt för bara en liten grupp handlare.
Nyhetsflöden
Innan du fattar några ekonomiska beslut är det viktigt att göra din forskning. För att förhindra misstag orsakade av okunskap kan handlare dra nytta av praktiska nyheter, relevanta översikter och insikter om världens valutamarknader, som alla är tillgängliga direkt på deras handelsplattformar.
Funktionalitet för administratörer och användare som är bekväm
I ett sådant system är förmågan att snabbt hantera allt med ett enda klick avgörande. Detta inkluderar hantering av transaktioner, väntande och inlämnade beställningar, personliga konton, orderförloppsindikationer och kundförfrågningar.
Detta möjliggör beslutsfattande på kortast möjliga tid och garanterar kontinuerlig tillgång till viktig information.
Använda push-meddelanden
Användare förväntar sig att handelsplattformar kommer att vara tillgängliga dygnet runt och kommer att informeras om eventuella säkerhetsproblem eller om de senaste ändringarna.
Du kan hålla dig informerad med anpassningsbara meddelanden eftersom handelsplattformen spårar ekonomiska händelser, prisfluktuationer, marknadsutveckling, tekniska indikatorer etc., och skickar uppdateringar om din aktieposition.
Uttag och betalningar
Den här funktionen krävs för att genomföra handelsaktiviteter, spåra rörelsen av kontanter och snabbt och säkert ta ut pengar från ditt personliga konto med ett kreditkort, PayPal eller en enkel banköverföring.
När din begäran om uttag har behandlats kommer du att meddelas.
Arkitekturen för det automatiserade handelssystemet
Motorn som utför logiken för beslutsfattande i den automatiserade handelsplattformen, även känd som 'Complex Event Processing'-motorn, eller CEP, kommer att finnas i applikationen till servern.
Applikationsskiktet är i huvudsak en användargränssnitt för att observera och leverera parametrar till CEP. Även om applikationslagret i första hand är en vy, kan vissa riskkontroller (som nu har blivit resurskrävande operationer på grund av skalproblem) överföras till applikationslagret, särskilt de som involverar förnuftet i användarinmatningar, såsom fel med fettfinger.
En spännande situation är resultatet av skalbarhetsproblemet i ett automatiserat handelssystem.
Låt oss föreställa oss att en enskild marknadsdatahändelse bearbetas av 100 separata logiker (som diskuterades i det tidigare exemplet). För majoriteten av de 100 logiska enheterna, låt oss säga beräkningen av grekerna för alternativ, kan det finnas vanliga komponenter i komplexa beräkningar som måste utföras.
Den identiska exakta beräkningen skulle utföras av varje enhet om varje logik skulle fungera oberoende, vilket skulle slösa bort behandlingsresurser.
Komplexa redundanta beräkningar delas ofta in i olika beräkningsmotorer som levererar grekerna som en input till CEP i det automatiserade handelssystemet för att maximera beräkningsredundans.
För närvarande utför ett separat Risk Management System (RMS) inom Order Manager (OM) de återstående riskbedömningarna i ett automatiserat handelssystem kort innan en order släpps.
Eftersom det bara finns ett RMS-system för att hantera risker över alla logiska enheter/strategier, kontrollerade tidigare 100 separata handlare sin risk. Detta beror på skalproblemet.
Vissa riskbedömningar kan dock vara exklusiva för vissa strategier, medan andra kan behöva utföras för alla metoder.
Följaktligen består själva RMS av global RMS (GRMS) och strateginivå RMS (SLRMS). SLRMS och GRMS kunde också ses via ett användargränssnitt (UI).
Låt oss nu gå vidare till serverns komponenter.
Marknadsadapter
Exchange eller någon annan marknadsdataleverantör överför data i sitt format. Det språket kan eller kanske inte förstås av ditt algoritmiska handelssystem.
Exchange ger dig tillgång till ett API (Application Design Interface) som du kan använda för att programmera och bygga din egen adapter för att omvandla dataformatet till ett format som ditt system kan förstå.
Complex Event Processing Engine
Hjärnan i ditt tillvägagångssätt ligger i det här avsnittet. När du har data måste du använda den i enlighet med din plan, vilket kräver att du gör olika statistiska beräkningar, gör jämförelser med tidigare data och tar beslut som kommer att leda till att order skapas.
Detta block är konstruerat med hjälp av ordertyp och orderbelopp. Enkelt sagt, en komplex händelse är en samling av inkommande händelser. Dessa består av nyheter, marknadsrörelser, börstrender m.m.
Att snabbt slutföra beräkningsoperationer på komplicerade händelser kallas komplex händelsebearbetning. Ett automatiserat handelssystems verksamhet kan innebära att upptäcka intrikata mönster, skapa korrelationer och upprätta samband som orsakssamband och tid mellan all inkommande information.
Orderroutingsystem
Med hjälp av börsens givna API:er krypteras ordern på ett språk som börsen kan förstå. Exchange erbjuder inbyggda API:er och FIX API:er, två olika typer av API:er.
Inbyggda API:er är utformade specifikt för ett givet utbyte. En uppsättning riktlinjer som kallas FIX-protokollet (Financial Information Exchange) används av flera börser för att underlätta och förbättra dataflödet på säkerhetsmarknaderna.
I delen efter den här kommer vi att förklara mer om FIX. Om en ekonomi är öppen kan människor skicka order via ett automatiserat handelssystem till börser eller icke-börser, och ORP bör kunna hantera order som går åt många håll.
Här vill vi betona att ordersignalen kan utföras manuellt av en person eller automatiskt. Det sista avsnittet är vad vi kallar ett "automatiserat handelssystem."
Orderhanterarmodulen innehåller flera exekveringstekniker som utför köp/säljorder i enlighet med förutbestämd logik.
Riskhantering
Eftersom automatiserade handelssystem fungerar utan mänsklig inblandning krävs rigorösa riskanalyser för att säkerställa att handelssystemen fungerar som avsett.
Dålig riskhantering eller bristen på riskkontroller för ett kvantitativt företag kan resultera i betydande oåtervinningsbara förluster. Som ett resultat måste alla automatiserade handelssystem ha ett riskhanteringssystem (RMS).
Protokollutveckling för automatiserade handelssystem
För att kunna ansluta till flera destinationer från en enda server krävdes, vilket möjliggjordes av arkitekturens förmåga att skala till många strategier per server.
För att överföra beställningar till flera destinationer och ta emot data från många växlar, inhyste orderchefen därför ett antal adaptrar.
Varje adapters roll är att fungera som tolk mellan systemets interna kommunikationsprotokoll och det protokoll som börsen förstår. Således skulle ett antal adaptrar behövas för ett antal växlar.
Eftersom varje börs har ett protokoll som är skräddarsytt för de möjligheter den erbjuder, måste en ny adapter skapas och kopplas in i arkitekturen för att lägga till en ny börs till det automatiserade handelssystemet.
Standardprotokoll har utvecklats för att förhindra denna huvudvärk av adapterinsättning. FIX-protokollet är det mest kända av dem alla.
Go-to-market-tiden för att ansluta till en ny destination är avsevärt förkortad, vilket inte bara gör det hanterbart att ansluta till flera destinationer på resande fot.
Det automatiserade handelssystemet kan enkelt interagera med andra leverantörer för analyser eller marknadsdataflöden tack vare förekomsten av gemensamma protokoll.
Som ett resultat blir marknaden extremt effektiv eftersom det inte längre finns någon begränsning för att integrera med en ny plats eller säljare.
Dessutom är simuleringen mycket enkel eftersom allt som krävs för att ansluta till en simulator med FIX-protokollet är att utfärda order och ta emot data från den verkliga marknaden.
Själva simulatorn kan skapas internt eller köpas från en annan källa. I likhet med live marknadsdata kan inspelade datamängder också spelas upp tack vare adaptrar oberoende av datakällan.
Nya arkitekturer med låg latens
Strategierna kan nu utvärdera enorma mängder data i realtid och göra snabba handelsval tack vare grundelementen i ett automatiserat handelssystem.
Som ett resultat av utvecklingen av branschstandardiserade kommunikationsprotokoll som FIX är det nu lättare att konstruera ett algoritmiskt handelsbord eller ett automatiserat handelssystem, vilket har ökat konkurrensen på den algoritmiska handelsmarknaden.
Tyngdpunkten gick över till att sänka latensen för att fatta beslut eftersom servrar fick mer minne och snabbare klockfrekvenser.
Att minska latensen har varit nödvändigt över tiden av en mängd olika anledningar, inklusive:
- Endast i en miljö med låg latens är tekniken meningsfull.
- Konkurrens eliminerar dig om du inte är tillräckligt snabb i överlevnaden av det starkaste spelet
Colocation har blivit en absolut nödvändighet i ett automatiserat handelssystem för alla högfrekventa metoder som involverar en enda destination.
Men system för flera destinationer kräver noggranna förberedelser. Innan man gör ett sådant val måste man ta hänsyn till variabler som längden på destinationens beställningssvarstid och hur den står i jämförelse med varaktigheten av pingen mellan de två destinationerna.
För att minska ett automatiserat handelssystems totala latens är nätverkslatens vanligtvis det första som ska åtgärdas. Men arkitekturen kan förbättras på många andra sätt också.
Latens för nätverksbearbetning
Nätverksbehandlingslatens är fördröjningen som routrar, switchar etc. introducerar. Antalet hopp det tar för ett paket att flytta från punkt A till punkt B skulle vara nästa optimeringsnivå i utformningen av ett automatiserat handelssystem.
Ett hopp beskrivs som en del av vägen mellan ett pakets källa och destinationen där det inte passerar genom en fysisk enhet, såsom en router eller switch.
Det vi kallar mikroburst kan också ha en inverkan på nätverksdriftens latens.
En snabb ökning i dataöverföringstakten som kan eller inte kan påverka den genomsnittliga dataöverföringshastigheten kallas en mikroskur.
Eftersom automatiserade handelssystem är regelbaserade kommer de alla att reagera enhetligt på samma händelse. En mikroskur av dataöverföring mellan deltagarna och destinationen kan uppstå som ett resultat av att flera deltagande system skickar kommandon samtidigt.
Applikationsfördröjning
Ett automatiserat handelssystems applikationslatens är ett mått på den tid det tar att behandla en applikation. Detta beror på antalet paket, bearbetning som ägnas åt applikationslogiken, komplexiteten hos den använda beräkningen, programmeringseffektivitet, etc.
Systemet skulle vanligtvis ha mindre applikationsfördröjning när dess processorantal ökade. Med högre klockfrekvenser gäller samma sak.
Många automatiserade handelssystem drar nytta av att allokera CPU-kärnor till kritiska delar av programmet, som logiken för strategin, till exempel. Genom att göra detta lägger proceduren inte till fördröjningen som blir resultatet av att byta kärnor.
I likhet med detta, om ett automatiserat handelssystems tillvägagångssätt programmerades med cachestorlekar och närhet till minnesåtkomst i åtanke, skulle det finnas flera minnescacheträffar, vilket ytterligare minskade latensen.
Många system gör detta genom att optimera koden till den specifika processorarkitekturen, vilket görs genom att använda programmeringsspråk på mycket låg nivå.
Genom att använda helt programmerbara gate-arrayer har vissa företag till och med gått så långt som att bränna komplicerade beräkningar på hårdvara (FPGA).
Testning
Testning, som är handlingen att identifiera brister i mjukvaruapplikationer, är omöjligt att undervärdera, särskilt inom Fintech. På grund av risken för ekonomisk förlust har finanstekniken inte råd att ha brister.
Ju fler defekter som kvalitetssäkringsingenjörer kan identifiera, desto mer sannolikt är det att den färdiga produkten kommer att fungera korrekt. Beroende på företaget som utvecklar handelsplattformen eller kundens behov inkluderar testprocessens struktur:
Grunden för funktionstestning är att skapa input och analysera resultaten. Med användning av falska kort körs testfall för finansiella applikationer. Dessa kort strävar efter att förbättra tillförlitligheten, effektiviteten och precisionen i betalningar.
Att ta reda på ett systems hastighet, skalbarhet och stabilitet görs genom prestandatestning. En applikations hastighet bedöms för att förstå hur snabbt den svarar, och dess skalbarhet indikerar hur många användare den kan stödja samtidigt utan att krascha.
Dessutom visar stabilitet om applikationen fungerar korrekt under olika belastningar eller om det finns några potentiella brister.
Det kan vara bortom kapaciteten för en enskild detaljhandlare att konstruera ett helt automatiserat handelssystem. Automatiserade handelssystem, som erbjuds på marknaderna på abonnemangsbasis, är ett alternativ för handlare som vill undersöka den algoritmiska tekniken för handel.
Bygg dina egna autonoma handelssystem
Nybörjarhandlare kan utveckla sina egna algoritmiska handelstekniker och engagera sig i framgångsrik marknadshandel. Som en allmän översikt kan stegen nedan användas för att skapa en algoritmisk handelsstrategi:
- Skapa ett handelskoncept som du tror skulle vara framgångsrikt på aktiva marknader med hjälp av din fantasi eller en metod. Konceptet kan härledas från dina egna marknadsobservationer, handelsböcker, akademiska uppsatser, handelsbloggar, handelsforum eller någon annan källa.
- Samla in nödvändig information – Du skulle behöva historiska data för att testa din hypotes. Denna information är tillgänglig från betalda dataleverantörer eller webbplatser som Google Finance.
- Att skriva en plan kräver användning av verktyg som Excel, Python eller R-programmering. När du har data kan du börja koda ditt tillvägagångssätt.
- Att testa ditt handelskoncept mot historisk data efter att det har kodats kallas för att backtesta ditt tillvägagångssätt. Backtesting innebär optimering av input, fastställande av vinstmål och stop-loss-order, positionsstorlek och andra relaterade uppgifter.
- Pappershandel med din strategi – Efter backtestningsfasen är pappershandel med din strategi nödvändigt. Detta skulle innefatta att testa din plan med en marknadssimulerande simulator. För pappershandelsmetoden finns det mäklare som tillhandahåller en algoritmisk handelsplattform.
- Om ditt tillvägagångssätt är lukrativt efter pappershandel, kan du implementera det i verkliga situationer. Du kan skapa ett handelskonto hos en pålitlig mäklare som erbjuder algoritmisk handel.
För varje år som går finns det fler börser som tillåter algoritmisk handel för både professionella och detaljhandlare, och fler och fler handlare använder algoritmisk handel.
Slutsats
Detta var en grundlig artikel om en arkitektur för ett automatiserat handelssystem som vi är övertygade om gav en mycket insiktsfull förståelse av de involverade komponenterna såväl som de många hinder som arkitekturutvecklare måste hantera/övervinna för att kunna designa ett starkt automatiserat handelssystem.
Jag gjorde mitt bästa för att ge dig en överblick över det automatiska handelssystemet, men det händer mycket mer under huven. Jag hoppas att du tycker att detta material är till nytta och att du använder det på bästa sätt.
Kommentera uppropet