Indholdsfortegnelse[Skjule][At vise]
En branche, der i høj grad interesserer dem, der søger arbejde, er valutahandel. Softwarevirksomheder modtager anmodninger fra forhandlere verden over om at levere en handelsplatform, der hurtigt og effektivt kan evaluere data om valutaparringer.
En handelsplatform er et softwareprogram, der leveres til handlende og investorer af visse finansielle organisationer, såsom banker og mæglerselskaber.
Handelsplatforme lader i det væsentlige investorer og forhandlere placere handler og holde øje med deres konti. Andre funktioner, der hjælper investorer med at træffe investeringsbeslutninger, er ofte inkluderet i handelssystemer.
Realtidscitater, interaktive diagrammer, en række grafiske værktøjer, live nyhedsfeeds og premium research er nogle få eksempler på disse muligheder.
Platforme kan også designes til bestemte markeder, såsom dem for aktier, valutaer, optioner eller futures.
I mere end et årti har automatiserede handelssystemer, også kendt som algoritmisk handel, har indtaget den centrale scene i handelsindustrien.
Et "handelssystem", nogle gange kendt som en "handelsstrategi", er intet andet end en samling regler, der anvendes på inputdataene for at give køb/salg ind- og udgangssignaler. På trods af at oprettelse af en handelsstrategi kan virke simpel, er det ikke!
Sindene bag en kvantitativ handelsstrategi omtales som "kvanter" inden for algoritmisk handel, da udvikling af en god handelsstrategi kræver omfattende kvantitativ undersøgelse.
Det grundlæggende design af automatiserede handelssystemer har gennemgået væsentlige ændringer i løbet af de sidste ti år og er stadig under forandring.
Den algoritmiske handelsindustri er blevet et arnested for udviklingen inden for computer- og netværksteknologier, fordi det er blevet nødvendigt for virksomheder, især dem, der bruger højfrekvente handelssystemer, at innovere på teknologi for at konkurrere i verden af algoritmisk handel.
Vi vil diskutere handelsplatformens system design i denne artikel. De grundlæggende specifikationer for en handelsplatform inkluderer dens arkitektur, protokoller og instruktioner til at oprette dit eget automatiserede handelssystem.
Krav til automatiseret handelssoftware på et grundlæggende niveau
Den bedste løsning er den, der fuldt ud opfylder softwarekravene. De vigtigste specifikationer for automatiseret handelssoftware er:
- Skalerbarhed (systemets kapacitet til at håndtere et stigende antal anmodninger og arbejdsbyrde);
- Multiprocessing og fremragende ydeevne;
- Sikkerhed og sikkerhed (hvordan den reagerer på brud eller overgreb, der kommer pludseligt og beskytter mod ulovlig indrejse);
- Interoperabilitet (et systems evne til at interagere med andre systemer);
- Pålidelighed (hvordan den løser fejl og kører på trods af problemer).
Algoritmiske handelssystemer kræver ekstremt kvalificeret arbejdskraft og omhyggelig opmærksomhed. Det er nemmere at forstå systemets funktionskrav, når der er klare ikke-funktionelle krav. De tjener som styrende standarder for softwareudviklingsteams til at etablere og definere et produkts kvalitet.
Handelsplatformens funktionelle egenskaber omfatter
Den succesfulde support af forskellige betalingsmetoder, sikre cloud-hostingtjenester, kraftfulde dataanalyseværktøjer, risikostyring, præcise tilbud og passende diagramtyper er alle vigtige funktionelle behov.
Følgende er nogle grundlæggende egenskaber ved automatiserede handelsplatforme, som alle forhandlere er meget opmærksomme på:
Dashboard, der viser statistikdata
Med henblik på at udføre en real-time, simultan undersøgelse af valutakurser på tværs af flere tidszoner, skal platformen køre løbende opdateringer, betjene data fra mange diagrammer og betjene prisblade.
Godkendelse
Den hurtige, men troværdige verifikationsmetode skaber først billedet af en sikker platform og eliteingeniørindsats.
Handelssoftware kan understøtte adgang fra flere konti, svarende til open source-handelsplatforme med to-faktor-godkendelse (ved at bruge SMS eller Google Authenticator, for eksempel), men du kan også have et system med adgang aktiveret via e-mail, telefonnummer eller andet måder for blot en lille gruppe af handlende.
Nyhedsfeeds
Før du træffer nogen økonomiske beslutninger, er det vigtigt at lave din research. For at forhindre fejl forårsaget af uvidenhed kan handlende drage fordel af praktiske nyheder, relevante oversigter og indsigt i verdens valutamarkeder, som alle er tilgængelige med det samme på deres handelsplatforme.
Funktionalitet for administratorer og brugere, der er praktisk
I et sådant system er evnen til hurtigt at administrere alt med et enkelt klik afgørende. Dette omfatter styring af transaktioner, afventende og afsendte ordrer, personlige konti, ordrestatusindikationer og kundeanmodninger.
Dette muliggør beslutningstagning på kortest mulig tid og garanterer kontinuerlig adgang til vital information.
Brug af push-beskeder
Brugere forventer, at handelsplatforme vil være tilgængelige døgnet rundt og vil blive informeret om eventuelle sikkerhedsproblemer eller om de seneste ændringer.
Du kan holde dig orienteret med brugerdefinerbare meddelelser, da handelsplatformen sporer økonomiske begivenheder, kursudsving, markedsudvikling, tekniske indikatorer osv., og sender opdateringer om din aktieposition.
Udbetalinger og betalinger
Denne funktion er påkrævet for at udføre handelsaktiviteter, spore bevægelsen af kontanter og hurtigt og sikkert hæve penge fra din personlige konto ved hjælp af et kreditkort, PayPal eller en simpel bankoverførsel.
Når din udbetalingsanmodning er færdigbehandlet, får du besked.
Arkitekturen af det automatiserede handelssystem
Motoren, der udfører beslutningslogikken i den automatiserede handelsplatform, også kendt som 'Complex Event Processing'-motoren eller CEP, vil være i applikationen til serveren.
Applikationslaget er i det væsentlige en brugergrænseflade til observation og levering af parametre til CEP. Selvom applikationslaget primært er en visning, kan nogle risikotjek (som nu er blevet ressourcekrævende operationer på grund af problemet med skala) overføres til applikationslaget, især dem, der involverer fornuften i brugerinput, såsom fede fingerfejl.
En spændende situation skyldes skalerbarhedsproblemet i et automatiseret handelssystem.
Lad os forestille os, at en enkelt markedsdatahændelse behandles af 100 separate logikker (som diskuteret i det tidligere eksempel). For størstedelen af de 100 logiske enheder, lad os sige beregningen af grækere for optioner, kan der være fælles komponenter i komplekse beregninger, der skal udføres.
Den identiske nøjagtige beregning ville blive udført af hver enhed, hvis hver logik skulle fungere uafhængigt, hvilket ville spilde behandlingsressourcer.
Komplekse redundante beregninger er ofte opdelt i forskellige beregningsmotorer, der leverer grækerne som input til CEP i det automatiserede handelssystem for at maksimere beregningsredundans.
I øjeblikket udfører et separat Risk Management System (RMS) i Order Manager (OM) de resterende risikovurderinger i et automatiseret handelssystem kort før frigivelse af en ordre.
Da der kun er ét RMS-system til at styre risiko på tværs af alle logiske enheder/strategier, kontrollerede tidligere 100 separate forhandlere deres risiko. Dette skyldes skalaproblemet.
Visse risikovurderinger kan dog være eksklusive for bestemte strategier, mens andre muligvis skal udføres på tværs af alle metoder.
Følgelig består selve RMS af global RMS (GRMS) og strateginiveau RMS (SLRMS). SLRMS og GRMS kunne også ses via en brugergrænseflade (UI).
Lad os nu gå længere ind i serverens komponenter.
Markedsadapter
Exchange eller enhver anden markedsdataudbyder transmitterer data i sit format. Det sprog kan måske ikke forstås af dit algoritmiske handelssystem.
Exchange giver dig adgang til en API (Application Design Interface), som du kan bruge til at programmere og bygge din egen adapter til at transformere dataformatet til et format dit system kan forstå.
Complex Event Processing Engine
Hjernen i din tilgang ligger i dette afsnit. Når du har dataene, skal du bruge dem i overensstemmelse med din plan, som kræver forskellige statistiske beregninger, sammenligninger med tidligere data og beslutninger, der vil føre til oprettelse af ordrer.
Denne blok er konstrueret ved hjælp af ordretype og ordrebeløb. Enkelt sagt, en kompleks begivenhed er en samling af indkommende begivenheder. Disse består af nyheder, markedsbevægelser, aktiemarkedstendenser mv.
At fuldføre computeroperationer på komplicerede hændelser hurtigt er kendt som kompleks hændelsesbehandling. Et automatiseret handelssystems operationer kan involvere at spotte indviklede mønstre, skabe korrelationer og etablere forbindelser som årsagssammenhæng og tid mellem enhver indkommende information.
Ordre Routing System
Ved hjælp af børsens givne API'er krypteres ordren på et sprog, som børsen kan forstå. Børsen tilbyder native API'er og FIX API'er, to forskellige typer API'er.
Native API'er er designet specifikt til en given udveksling. Et sæt retningslinjer kendt som FIX-protokollen (Financial Information Exchange) bruges af flere børser til at lette og forbedre dataflowet på sikkerhedsmarkederne.
I delen efter denne vil vi forklare mere om FIX. Hvis en økonomi er åben, kan folk sende ordrer via et automatiseret handelssystem til børser eller ikke-børser, og ORP bør være i stand til at håndtere ordrer, der går i mange retninger.
Her vil vi understrege, at ordresignalet kan udføres manuelt af en person eller automatisk. Det sidste afsnit er, hvad vi refererer til som et "automatiseret handelssystem."
Ordrestyringsmodulet indeholder flere eksekveringsteknikker, der udfører købs-/salgsordrerne i overensstemmelse med forudetableret logik.
Risk Management
Da automatiserede handelssystemer fungerer uden menneskelig involvering, er strenge risikoanalyser nødvendige for at sikre, at handelssystemerne fungerer efter hensigten.
Dårlig risikostyring eller manglen på risikotjek for en kvantitativ virksomhed kan resultere i betydelige uerholdelige tab. Som følge heraf skal ethvert automatiseret handelssystem have et risikostyringssystem (RMS).
Protokoludvikling til automatiserede handelssystemer
For at kunne oprette forbindelse til flere destinationer fra en enkelt server krævedes, hvilket blev muliggjort af arkitekturens evne til at skalere til mange strategier pr. server.
For at sende ordrer til flere destinationer og modtage data fra adskillige centraler, husede ordrechefen derfor en række adaptere.
Hver adapters rolle er at fungere som tolk mellem systemets interne kommunikationsprotokol og den protokol, som centralen forstår. Der ville således være behov for et antal adaptere til en række udvekslinger.
Da hver børs har en protokol, der er skræddersyet til de muligheder, den tilbyder, skal en ny adapter oprettes og tilsluttes arkitekturen for at tilføje en ny børs til det automatiserede handelssystem.
Standardprotokoller er blevet udviklet for at forhindre denne hovedpine ved indsættelse af adapter. FIX-protokollen er den mest kendte af dem alle.
Go-to-market-tiden for at forbinde med en ny destination er væsentligt forkortet, hvilket ikke kun gør det overskueligt at forbinde til flere destinationer på farten.
Det automatiserede handelssystem kan nemt interagere med andre leverandører til analyse- eller markedsdatafeeds takket være eksistensen af fælles protokoller.
Som følge heraf bliver markedet ekstremt effektivt, fordi der ikke længere er en begrænsning på integration med en ny lokation eller sælger.
Derudover er simulering gjort meget enkel, da det eneste, der skal til for at oprette forbindelse til en simulator ved hjælp af FIX-protokollen, er at udstede ordrer og modtage data fra det virkelige marked.
Selve simulatoren kan oprettes internt eller købes fra en anden kilde. I lighed med live markedsdata kan optagede datasæt også afspilles takket være adaptere uafhængigt af datakilden.
Nye arkitekturer med lav latency
Strategierne kan nu evaluere enorme mængder data i realtid og træffe hurtige handelsvalg takket være de grundlæggende elementer i et automatiseret handelssystem.
Som et resultat af udviklingen af industristandardkommunikationsprotokoller som FIX er det nu nemmere at konstruere en algoritmisk handelspult eller et automatiseret handelssystem, hvilket har øget konkurrencen på det algoritmiske handelsmarked.
Vægten skiftede til at sænke latensen for at træffe beslutninger, efterhånden som serverne fik mere hukommelse og hurtigere clockfrekvenser.
Det har været nødvendigt at reducere latens over tid af en række årsager, herunder:
- Kun i et miljø med lav latency giver teknikken mening.
- Konkurrence eliminerer dig, hvis du ikke er hurtig nok i overlevelsen af det stærkeste spil
Colocation er blevet en absolut nødvendighed i et automatiseret handelssystem for enhver højfrekvent metode, der involverer en enkelt destination.
Men multi-destinationssystemer kræver omhyggelig forberedelse. Inden man træffer et sådant valg, skal man tage højde for variabler såsom varigheden af destinationens ordresvarstid, og hvordan den er i forhold til varigheden af ping mellem de to destinationer.
For at reducere et automatiseret handelssystems totale latency er netværksforsinkelse typisk det første, der skal tages fat på. Men arkitekturen kan også forbedres på mange andre måder.
Netværksbehandlingsforsinkelse
Netværksbehandlingsforsinkelse er den forsinkelse, som routere, switches osv. introducerer. Antallet af hop, det tager for en pakke at flytte fra punkt A til punkt B, ville være det næste optimeringsniveau i designet af et automatiseret handelssystem.
Et hop beskrives som en sektion af stien mellem en pakkes kilde og destinationen, hvor den ikke passerer gennem en fysisk enhed, såsom en router eller switch.
Det, vi omtaler som mikrobursts, kan også have en indvirkning på latensen af netværksoperationer.
En hurtig stigning i datatransmissionstempoet, der kan eller måske ikke påvirker den gennemsnitlige dataoverførselshastighed, omtales som en mikroburst.
Da automatiserede handelssystemer er regelbaserede, vil de alle reagere ensartet på den samme hændelse. Et mikroburst af dataoverførsel mellem deltagerne og destinationen kan opstå som følge af, at flere deltagende systemer sender kommandoer på én gang.
Applikationsforsinkelse
Et automatiseret handelssystems applikationsforsinkelse er et mål for den tid, det tager at behandle en applikation. Dette afhænger af antallet af pakker, behandling afsat til applikationslogikken, kompleksiteten af den anvendte beregning, programmeringseffektivitet osv.
Systemet vil typisk have mindre applikationsforsinkelse, efterhånden som dets processorantal øges. Med højere clockfrekvenser gælder det samme.
Mange automatiserede handelssystemer drager fordel af at allokere CPU-kerner til kritiske dele af programmet, som for eksempel logikken for strategien. Ved at gøre dette tilføjer proceduren ikke den forsinkelse, der følger af at skifte kerner.
I lighed med dette, hvis et automatiseret handelssystems tilgang blev programmeret med cachestørrelser og nærhed af hukommelsesadgang i tankerne, ville der være adskillige hukommelsescache-hits, hvilket yderligere reducerede latens.
Mange systemer gør dette ved at optimere koden til den pågældende processorarkitektur, hvilket gøres ved at bruge programmeringssprog på meget lavt niveau.
Ved at bruge fuldt programmerbare gate-arrays er nogle virksomheder endda gået så langt som til at brænde komplicerede beregninger på hardware (FPGA).
Test
Test, som er handlingen til at identificere softwareapplikationsfejl, er umulig at undervurdere, især i Fintech. På grund af muligheden for økonomisk tab har finansteknologi ikke råd til at have mangler.
Jo flere defekter, som kvalitetssikringsingeniører kan identificere, jo mere sandsynligt er det, at det færdige produkt vil fungere korrekt. Afhængigt af firmaet, der udvikler handelsplatformen eller kundens behov, inkluderer testprocessens struktur:
Grundlaget for funktionel test er at skabe input og analysere resultaterne. Ved brug af falske kort køres økonomiske applikationstestsager. Disse kort søger at forbedre pålideligheden, effektiviteten og præcisionen af betalinger.
At finde ud af et systems hastighed, skalerbarhed og stabilitet sker gennem præstationstest. En applikations hastighed vurderes for at forstå, hvor hurtigt den reagerer, og dens skalerbarhed angiver, hvor mange brugere den kan understøtte samtidigt uden at gå ned.
Derudover viser stabilitet, om applikationen fungerer korrekt under forskellige belastninger, eller om der er potentielle fejl.
Det kan være ud over en enkelt detailhandlers muligheder at konstruere et fuldt automatiseret handelssystem. Automatiserede handelssystemer, som tilbydes på markederne på abonnementsbasis, er en mulighed for handlende, der ønsker at undersøge den algoritmiske teknik for handel.
Opbygning af dine egne autonome handelssystemer
Begynderhandlere kan udvikle deres egne algoritmiske handelsteknikker og engagere sig i vellykket markedshandel. Som en generel oversigt kan nedenstående stadier bruges til at skabe en algoritmisk handelsstrategi:
- Skab et handelskoncept, som du tror ville have succes på aktive markeder ved hjælp af din fantasi eller en metode. Konceptet kan udledes af dine egne markedsobservationer, handelsbøger, akademiske artikler, handelsblogs, handelsfora eller enhver anden kilde.
- Indsaml de nødvendige oplysninger - Du skal bruge historiske data for at teste din hypotese. Disse oplysninger er tilgængelige fra betalingsdataleverandører eller websteder som Google Finance.
- At skrive en plan kræver brug af værktøjer som Excel, Python eller R-programmering. Når du har dataene, kan du begynde at kode din tilgang.
- At teste dit handelskoncept mod historiske data, efter at det er blevet kodet, kaldes backtesting af din tilgang. Backtesting indebærer inputoptimering, etablering af profitmål og stop-loss-ordrer, positionsstørrelse og andre relaterede opgaver.
- Papirhandel med din strategi – Efter backtest-fasen er papirhandel med din strategi nødvendigt. Dette vil omfatte test af din plan ved hjælp af en markedssimulerende simulator. Til papirhandelsmetoden er der mæglere, der leverer en algoritmisk handelsplatform.
- Hvis din tilgang er lukrativ efter papirhandel, kan du implementere den i virkelige situationer. Du kan oprette en handelskonto hos en pålidelig mægler, der tilbyder algoritmisk handel.
For hvert år, der går, er der flere børser, der tillader algoritmisk handel for både professionelle og detailhandlere, og flere og flere handlende bruger algoritmisk handel.
Konklusion
Dette var en grundig artikel om en automatiseret handelssystemarkitektur, som vi er overbevist om, gav en meget indsigtsfuld forståelse af de involverede komponenter såvel som de mange forhindringer, som arkitekturudviklere skal håndtere/overvinde for at designe et stærkt automatiseret handelssystem.
Jeg gjorde mit bedste for at give dig et overblik over det automatiske handelssystem, men der foregår meget mere under motorhjelmen. Jeg håber, at du finder dette materiale gavnligt og bruger det godt.
Giv en kommentar