Innholdsfortegnelse[Gjemme seg][Forestilling]
En bransje som i stor grad interesserer de som søker arbeid, er valutahandel. Programvarebedrifter mottar forespørsler fra handelsmenn over hele verden om å tilby en handelsplattform som raskt og effektivt kan evaluere data om valutasammenkoblinger.
En handelsplattform er et programvareprogram levert til handelsmenn og investorer av visse finansielle organisasjoner, som banker og meglerhus.
Handelsplattformer lar i hovedsak investorer og forhandlere plassere avtaler og holde et øye med kontoene deres. Andre funksjoner som hjelper investorer med å ta investeringsbeslutninger er ofte inkludert i handelssystemer.
Sitater i sanntid, interaktive diagrammer, en rekke grafiske verktøy, live nyhetsfeeds og førsteklasses forskning er noen eksempler på disse mulighetene.
Plattformer kan også utformes for visse markeder, for eksempel for aksjer, valutaer, opsjoner eller futures.
I mer enn et tiår har automatiserte handelssystemer, også kjent som algoritmisk handel, har okkupert sentrum av handelsindustrien.
Et "handelssystem", noen ganger kjent som en "handelsstrategi", er ikke noe mer enn en samling regler som brukes på inngangsdataene for å gi inngangs- og utgangssignaler for kjøp/salg. Til tross for at det kan virke enkelt å lage en handelsstrategi, er det ikke det!
Hjernene bak en kvantitativ handelsstrategi blir referert til som "kvanter" innen algoritmisk handel siden utvikling av en god handelsstrategi krever omfattende kvantitative studier.
Den grunnleggende utformingen av automatiserte handelssystemer har gjennomgått betydelige endringer i løpet av de siste ti årene og er fortsatt i endring.
Den algoritmiske handelsindustrien har blitt et arnested for utviklingen innen data- og nettverksteknologier fordi det har blitt nødvendig for bedrifter, spesielt de som bruker høyfrekvente handelssystemer, å innovere på teknologi for å kunne konkurrere i en verden av algoritmisk handel.
Vi vil diskutere handelsplattformens system design i denne artikkelen. De grunnleggende spesifikasjonene for en handelsplattform inkluderer dens arkitektur, protokoller og instruksjoner for å lage ditt eget automatiserte handelssystem.
Krav til automatisert handelsprogramvare på et grunnleggende nivå
Den beste løsningen er den som tilfredsstiller programvarekravene. Hovedspesifikasjonene for automatisert handelsprogramvare er:
- Skalerbarhet (systemets kapasitet til å håndtere et økende volum av forespørsler og arbeidsmengde);
- Multiprosessering og utmerket ytelse;
- Sikkerhet og sikkerhet (hvordan den reagerer på brudd eller overgrep som kommer plutselig og beskytter mot ulovlig innreise);
- Interoperabilitet (evnen til et system til å samhandle med andre systemer);
- Pålitelighet (hvordan den løser feil og kjører til tross for problemer).
Algoritmiske handelssystemer krever ekstremt dyktig arbeidskraft og nøye oppmerksomhet. Det er lettere å forstå systemets funksjonskrav når det er klare ikke-funksjonelle krav. De fungerer som styrende standarder for programvareutviklingsteam for å etablere og definere et produkts kvalitet.
Handelsplattformens funksjonelle egenskaper inkluderer
Vellykket støtte for ulike betalingsmetoder, sikre nettskytjenester, kraftige dataanalyseverktøy, risikostyring, presise tilbud og passende diagramtyper er alle viktige funksjonelle behov.
Følgende er noen grunnleggende attributter ved automatiserte handelsplattformer som alle tradere følger nøye med:
Dashboard som viser statistikkdata
For det formål å gjennomføre en sanntids, samtidig undersøkelse av valutakurser på tvers av flere tidssoner, må plattformen kjøre kontinuerlige oppdateringer, betjene data fra mange diagrammer og operere prislister.
Autentisering
Den raske, men pålitelige verifiseringsmetoden skaper først bildet av en trygg plattform og eliteingeniørarbeid.
Handelsprogramvare kan støtte tilgang fra flere kontoer, i likhet med åpen kildekode-handelsplattformer med tofaktorautentisering (ved å bruke SMS eller Google Authenticator, for eksempel), men du kan også ha et system med tilgang aktivert via e-post, telefonnummer eller annet måter for bare en liten gruppe handelsmenn.
newsfeed
Før du tar noen økonomiske beslutninger, er det viktig å gjøre undersøkelser. For å forhindre feil forårsaket av uvitenhet, kan tradere dra nytte av praktiske nyheter, relevante oversikter og innsikt i verdens valutamarkeder, som alle er tilgjengelig umiddelbart på deres handelsplattformer.
Funksjonalitet for administratorer og brukere som er praktisk
I et slikt system er muligheten til å raskt administrere alt med et enkelt klikk avgjørende. Dette inkluderer administrasjon av transaksjoner, ventende og innsendte bestillinger, personlige kontoer, indikasjoner på ordrefremgang og kundeforespørsler.
Dette muliggjør beslutningstaking på kortest tid og garanterer kontinuerlig tilgang til viktig informasjon.
Bruke push-varsler
Brukere forventer at handelsplattformer vil være tilgjengelige hele døgnet og vil bli informert om eventuelle sikkerhetsproblemer eller om de siste endringene.
Du kan holde deg informert med tilpassbare varsler ettersom handelsplattformen sporer økonomiske hendelser, prissvingninger, markedsutvikling, tekniske indikatorer osv., og sender oppdateringer om aksjeposisjonen din.
Uttak og betalinger
Denne funksjonen er nødvendig for å gjennomføre handelsaktiviteter, spore bevegelsen av kontanter og raskt og sikkert ta ut penger fra din personlige konto ved å bruke et kredittkort, PayPal eller en enkel bankoverføring.
Når uttaksforespørselen din er ferdig behandlet, vil du bli varslet.
Arkitekturen til det automatiserte handelssystemet
Motoren som utfører beslutningslogikken i den automatiserte handelsplattformen, også kjent som 'Complex Event Processing'-motoren, eller CEP, vil være i applikasjonen til serveren.
Applikasjonslaget er i hovedsak en brukergrensesnitt for å observere og levere parametere til CEP. Selv om applikasjonslaget først og fremst er en visning, kan noen risikosjekker (som nå har blitt ressurskrevende operasjoner på grunn av skalaproblemet) overføres til applikasjonslaget, spesielt de som involverer fornuften til brukerinndata, for eksempel feil med fettfinger.
En spennende situasjon skyldes skalerbarhetsproblemet i et automatisert handelssystem.
La oss forestille oss at en enkelt markedsdatahendelse blir behandlet av 100 separate logikker (som diskutert i det tidligere eksemplet). For de fleste av de 100 logiske enhetene, la oss si beregningen av grekere for opsjoner, kan det være vanlige komponenter i komplekse beregninger som må utføres.
Den identiske nøyaktige beregningen ville bli utført av hver enhet hvis hver logikk skulle operere uavhengig, noe som ville sløse med prosesseringsressurser.
Komplekse overflødige beregninger deles ofte inn i forskjellige beregningsmotorer som leverer grekerne som input til CEP i det automatiserte handelssystemet for å maksimere beregningsredundans.
Foreløpig utfører et eget Risk Management System (RMS) i Order Manager (OM) de resterende risikovurderingene i et automatisert handelssystem kort tid før en bestilling frigis.
Siden det bare er ett RMS-system for å håndtere risiko på tvers av alle logiske enheter/strategier, kontrollerte tidligere 100 separate handelsmenn risikoen sin. Dette er på grunn av skalaproblemet.
Imidlertid kan visse risikovurderinger være eksklusive for bestemte strategier, mens andre kan trenge å utføres på tvers av alle metoder.
Følgelig består selve RMS av global RMS (GRMS) og strateginivå RMS (SLRMS). SLRMS og GRMS kan også sees via et brukergrensesnitt (UI).
La oss nå gå videre inn på serverens komponenter.
Markedsadapter
Exchange eller andre markedsdataleverandører overfører data i sitt format. Det språket kan kanskje ikke forstås av ditt algoritmiske handelssystem.
Exchange gir deg tilgang til et API (Application Design Interface) som du kan bruke til å programmere og bygge din egen adapter for å transformere dataformatet til et format systemet ditt kan forstå.
Kompleks hendelsesbehandlingsmotor
Hjernen i tilnærmingen din ligger i denne delen. Når du har dataene, må du bruke dem i samsvar med planen din, som krever forskjellige statistiske beregninger, sammenligninger med tidligere data og ta beslutninger som vil føre til opprettelse av bestillinger.
Denne blokken er konstruert ved hjelp av ordretype og ordrebeløp. Enkelt sagt, en kompleks hendelse er en samling av innkommende hendelser. Disse består av nyheter, markedsbevegelser, børstrender, etc.
Å fullføre databehandling på kompliserte hendelser raskt er kjent som kompleks hendelsesbehandling. Et automatisert handelssystems operasjoner kan innebære å oppdage intrikate mønstre, skape korrelasjoner og etablere forbindelser som årsakssammenheng og tid mellom all innkommende informasjon.
Ordrerutingssystem
Ved å bruke børsens gitte APIer krypteres bestillingen på et språk som børsen kan forstå. Utvekslingen tilbyr native APIer og FIX APIer, to forskjellige typer APIer.
Innfødte APIer er designet spesifikt for en gitt utveksling. Et sett med retningslinjer kjent som FIX (Financial Information Exchange)-protokollen brukes av flere børser for å lette og forbedre dataflyten i sikkerhetsmarkedene.
I delen etter denne vil vi forklare mer om FIX. Hvis en økonomi er åpen, kan folk sende inn ordre via et automatisert handelssystem til børser eller ikke-børser, og ORP skal kunne håndtere bestillinger som går i mange retninger.
Her vil vi understreke at bestillingssignalet kan utføres manuelt av en person eller automatisk. Den siste delen er det vi omtaler som et "automatisert handelssystem."
Ordrebehandlermodulen inkluderer flere utførelsesteknikker som utfører kjøp/salgsordrene i henhold til forhåndsetablert logikk.
Risk Management
Siden automatiserte handelssystemer opererer uten menneskelig involvering, er det nødvendig med strenge risikoanalyser for å sikre at handelssystemene fungerer etter hensikten.
Dårlig risikostyring eller mangel på risikosjekker for et kvantitativt selskap kan føre til betydelige uopprettelige tap. Som et resultat må ethvert automatisert handelssystem ha et risikostyringssystem (RMS).
Protokollutvikling for automatiserte handelssystemer
For å koble til flere destinasjoner fra en enkelt server, som ble muliggjort av arkitekturens evne til å skalere til mange strategier per server, var nødvendig.
For å overføre bestillinger til flere destinasjoner og motta data fra en rekke sentraler, hadde ordresjefen derfor en rekke adaptere.
Hver adapters rolle er å tjene som tolk mellom systemets interne kommunikasjonsprotokoll og protokollen som sentralen forstår. Det vil derfor være behov for en rekke adaptere for en rekke sentraler.
Siden hver børs har en protokoll som er skreddersydd for mulighetene den tilbyr, må en ny adapter opprettes og plugges inn i arkitekturen for å legge til en ny børs til det automatiserte handelssystemet.
Standardprotokoller er utviklet for å forhindre denne hodepinen ved innsetting av adapter. FIX-protokollen er den mest kjente av dem alle.
Go-to-market-tiden for å koble til en ny destinasjon er betydelig forkortet, noe som ikke bare gjør det overkommelig å koble til flere destinasjoner mens du er på farten.
Det automatiserte handelssystemet kan enkelt samhandle med andre leverandører for analyser eller markedsdatastrømmer takket være eksistensen av vanlige protokoller.
Som et resultat blir markedet ekstremt effektivt fordi det ikke lenger er noen begrensning på integrering med en ny lokasjon eller selger.
I tillegg er simulering gjort veldig enkelt siden alt som trengs for å koble til en simulator ved hjelp av FIX-protokollen er å gi ordre og motta data fra det virkelige markedet.
Selve simulatoren kan lages internt eller kjøpes fra en annen kilde. I likhet med live markedsdata, kan innspilte datasett også spilles av takket være adaptere uavhengig av datakilden.
Nye arkitekturer med lav latens
Strategiene kan nå evaluere enorme mengder data i sanntid og gjøre raske handelsvalg takket være de grunnleggende elementene i et automatisert handelssystem.
Som et resultat av utviklingen av bransjestandard kommunikasjonsprotokoller som FIX, er det nå lettere å konstruere en algoritmisk handelsdisk eller et automatisert handelssystem, noe som har økt konkurransen i det algoritmiske handelsmarkedet.
Fokuset gikk over til å senke ventetiden for å ta beslutninger ettersom servere fikk mer minne og raskere klokkehastigheter.
Å redusere ventetiden har vært nødvendig over tid av en rekke årsaker, inkludert:
- Bare i et miljø med lav latenstid gir teknikken mening.
- Konkurranse eliminerer deg hvis du ikke er rask nok i overlevelse av det sterkeste spillet
Colocation har blitt en absolutt nødvendighet i et automatisert handelssystem for enhver høyfrekvent metode som involverer en enkelt destinasjon.
Men multi-destinasjonssystemer krever grundig forberedelse. Før man gjør et slikt valg, må man ta hensyn til variabler som varigheten av destinasjonens ordreresponstid og hvordan den er i forhold til varigheten av pinget mellom de to destinasjonene.
For å redusere et automatisert handelssystems totale ventetid, er nettverksforsinkelse vanligvis det første som skal tas opp. Men arkitekturen kan forbedres på mange andre måter også.
Nettverksbehandlingsforsinkelse
Nettverksbehandlingsforsinkelse er forsinkelsen som rutere, svitsjer osv. introduserer. Antall hopp det tar for en pakke å bevege seg fra punkt A til punkt B vil være det neste optimaliseringsnivået i utformingen av et automatisert handelssystem.
Et hopp er beskrevet som en del av banen mellom en pakkes kilde og destinasjonen der den ikke går gjennom en fysisk enhet, for eksempel en ruter eller svitsj.
Det vi omtaler som microbursts kan også ha innvirkning på ventetiden til nettverksoperasjoner.
En rask økning i dataoverføringshastigheten som kan eller ikke kan påvirke den gjennomsnittlige dataoverføringshastigheten, kalles en mikroburst.
Siden automatiserte handelssystemer er regelbaserte, vil de alle reagere jevnt på den samme hendelsen. En mikrobølge av dataoverføring mellom deltakerne og destinasjonen kan oppstå som et resultat av at flere deltakende systemer sender kommandoer samtidig.
Programforsinkelse
Et automatisert handelssystems applikasjonsforsinkelse er et mål på tiden det tar å behandle en applikasjon. Dette avhenger av antall pakker, prosessering viet til applikasjonslogikken, kompleksiteten til beregningen som brukes, programmeringseffektivitet, etc.
Systemet vil vanligvis ha mindre applikasjonsforsinkelse ettersom prosessorantallet økte. Med høyere klokkefrekvenser gjelder det samme.
Mange automatiserte handelssystemer drar nytte av å allokere CPU-kjerner til kritiske deler av programmet, som for eksempel logikken for strategien. Ved å gjøre dette legger ikke prosedyren til forsinkelsen som følger av bytte av kjerner.
I likhet med dette, hvis et automatisert handelssystems tilnærming ble programmert med hurtigbufferstørrelser og nærhet til minnetilgang i tankene, ville det være flere minnebuffertreff, noe som reduserer ventetiden ytterligere.
Mange systemer gjør dette ved å optimalisere koden til den bestemte prosessorarkitekturen, noe som gjøres ved å bruke programmeringsspråk på svært lavt nivå.
Ved å bruke fullt programmerbare gate-arrayer har noen virksomheter til og med gått så langt som å brenne kompliserte beregninger på maskinvare (FPGA).
Testing
Testing, som er handlingen for å identifisere feil i programvareapplikasjoner, er umulig å undervurdere, spesielt i Fintech. På grunn av muligheten for økonomisk tap har finansteknologi ikke råd til å ha feil.
Jo flere feil som kvalitetssikringsingeniører kan identifisere, jo mer sannsynlig er det at det ferdige produktet vil fungere som det skal. Avhengig av firmaet som utvikler handelsplattformen eller kundens behov, inkluderer testprosessens struktur:
Grunnlaget for funksjonell testing er å skape input og analysere resultatene. Ved bruk av falske kort kjøres økonomiske søknadstestsaker. Disse kortene søker å forbedre påliteligheten, effektiviteten og presisjonen til betalinger.
Å finne ut et systems hastighet, skalerbarhet og stabilitet gjøres gjennom ytelsestesting. Hastigheten til en applikasjon vurderes for å forstå hvor raskt den reagerer, og skalerbarheten indikerer hvor mange brukere den kan støtte samtidig uten å krasje.
I tillegg viser stabilitet om applikasjonen fungerer korrekt under ulike belastninger eller om det er noen potensielle feil.
Det kan være utenfor mulighetene til en enkelt detaljhandler å konstruere et helautomatisert handelssystem. Automatiserte handelssystemer, som tilbys i markedene på abonnementsbasis, er et alternativ for tradere som ønsker å undersøke den algoritmiske teknikken for handel.
Bygg dine egne autonome handelssystemer
Nybegynnere kan utvikle sine egne algoritmiske handelsteknikker og delta i vellykket markedshandel. Som en generell oversikt kan stadiene som er oppført nedenfor brukes til å lage en algoritmisk handelsstrategi:
- Lag et handelskonsept som du tror ville være vellykket i aktive markeder ved å bruke fantasien eller en metode. Konseptet kan utledes fra dine egne markedsobservasjoner, handelsbøker, akademiske artikler, handelsblogger, handelsfora eller andre kilder.
- Samle den nødvendige informasjonen – Du trenger historiske data for å teste hypotesen din. Denne informasjonen er tilgjengelig fra leverandører av betalte data eller nettsteder som Google Finance.
- Å skrive en plan krever bruk av verktøy som Excel, Python eller R-programmering. Når du har dataene, kan du begynne å kode tilnærmingen din.
- Å teste handelskonseptet ditt mot historiske data etter at det er kodet kalles backtesting av tilnærmingen din. Backtesting innebærer inputoptimalisering, etablering av profittmål og stop-loss-ordrer, posisjonsstørrelse og andre relaterte oppgaver.
- Papirhandel med strategien din - Etter backtesting-fasen er papirhandel med strategien din nødvendig. Dette vil inkludere å teste planen din ved hjelp av en markedssimulerende simulator. For papirhandelsmetoden er det meglere som tilbyr en algoritmisk handelsplattform.
- Hvis tilnærmingen din er lukrativ etter papirhandel, kan du implementere den i virkelige situasjoner. Du kan opprette en handelskonto hos en pålitelig megler som tilbyr algoritmisk handel.
For hvert år som går, er det flere børser som tillater algoritmisk handel for både profesjonelle og detaljhandlere, og flere og flere handelsmenn bruker algoritmisk handel.
konklusjonen
Dette var en grundig artikkel om en automatisert handelssystemarkitektur som vi er sikre på ga en svært innsiktsfull forståelse av komponentene som er involvert, så vel som de mange hindringene som arkitekturutviklere må håndtere/overvinne for å designe et sterkt automatisert handelssystem.
Jeg gjorde mitt beste for å gi deg en oversikt over det automatiske handelssystemet, men det er mye mer som skjer under panseret. Jeg håper du finner dette materialet nyttig og bruker det godt.
Legg igjen en kommentar