Sisukord[Peida][Näita]
Tööstusharu, mis tööotsijaid väga huvitab, on valuutakauplemine. Tarkvaraettevõtted saavad kogu maailmast kauplejatelt taotlusi kauplemisplatvormi pakkumiseks, mis suudaks kiiresti ja tõhusalt hinnata valuutade sidumise andmeid.
Kauplemisplatvorm on tarkvaraprogramm, mida kauplejatele ja investoritele pakuvad teatud finantsorganisatsioonid, näiteks pangad ja maaklerid.
Kauplemisplatvormid võimaldavad investoritel ja edasimüüjatel teha tehinguid ja hoida oma kontodel silma peal. Kauplemissüsteemides on sageli ka muid funktsioone, mis aitavad investoritel investeerimisotsuseid langetada.
Reaalajas hinnapakkumised, interaktiivsed diagrammid, mitmesugused graafikutööriistad, reaalajas uudistevood ja esmaklassilised uuringud on mõned näited nendest võimalustest.
Platvorme saab kujundada ka teatud turgude jaoks, näiteks aktsiate, valuutade, optsioonide või futuuride jaoks.
Rohkem kui kümme aastat on automatiseeritud kauplemissüsteemid, tuntud ka kui algoritmiline kauplemine, on hõivanud kaubandustööstuse keskpunkti.
"Kauplemissüsteem", mida mõnikord nimetatakse "kauplemisstrateegiaks", pole midagi muud kui reeglite kogum, mida rakendatakse sisendandmetele, et anda ostu/müügi sisenemise ja väljumise signaale. Hoolimata asjaolust, et kauplemisstrateegia loomine võib tunduda lihtne, pole see nii!
Kvantitatiivse kauplemisstrateegia taga olevaid mõtteid nimetatakse algoritmilise kauplemise valdkonnas "kvantideks", kuna hea kauplemisstrateegia väljatöötamine nõuab ulatuslikku kvantitatiivset uuringut.
Automatiseeritud kauplemissüsteemide fundamentaalne ülesehitus on viimase kümne aasta jooksul läbi teinud olulisi muudatusi ja on endiselt muutumises.
Algoritmikaubanduse tööstusest on saanud arvuti- ja võrgutehnoloogia arengu kasvulava, kuna ettevõtetel, eriti nendel, kes kasutavad kõrgsageduskauplemissüsteeme, on muutunud vajalikuks teha uuendusi tehnoloogia vallas, et konkureerida algoritmilise kauplemise maailmas.
Arutame kauplemisplatvormi süsteemi disain selles artiklis. Kauplemisplatvormi põhispetsifikatsioonid hõlmavad selle arhitektuuri, protokolle ja juhiseid oma automatiseeritud kauplemissüsteemi loomiseks.
Automatiseeritud kauplemistarkvara nõuded algtasemel
Parim lahendus on see, mis vastab täielikult tarkvaranõuetele. Automatiseeritud kauplemistarkvara peamised spetsifikatsioonid on järgmised:
- Skaleeritavus (süsteemi suutlikkus tulla toime kasvavate päringute mahu ja töökoormusega);
- Multitöötlus ja suurepärane jõudlus;
- Ohutus ja turvalisus (kuidas see reageerib ootamatult saabuvatele rikkumistele või rünnakutele ning kaitseb ebaseadusliku sisenemise eest);
- Koostalitlusvõime (süsteemi võime suhelda teiste süsteemidega);
- Töökindlus (kuidas see tõrkeid lahendab ja probleemidest hoolimata töötab).
Algoritmilised kauplemissüsteemid nõuavad äärmiselt kvalifitseeritud tööjõudu ja hoolikat tähelepanu. Süsteemi funktsionaalseid nõudeid on lihtsam mõista, kui on olemas selged mittefunktsionaalsed nõuded. Need on tarkvaraarenduse meeskondade jaoks juhtivad standardid toote kvaliteedi kindlaksmääramisel ja määratlemisel.
Kauplemisplatvormi funktsionaalsed omadused hõlmavad järgmist
Erinevate makseviiside edukas tugi, turvalised pilvemajutusteenused, võimsad andmeanalüüsi tööriistad, riskijuhtimine, täpsed noteeringud ja sobivad diagrammitüübid on kõik olulised funktsionaalsed vajadused.
Järgnevalt on toodud mõned automatiseeritud kauplemisplatvormide põhiatribuudid, millele kõik kauplejad suurt tähelepanu pööravad:
Statistikaandmeid kuvav armatuurlaud
Mitme ajavööndi valuutakursside reaalajas ja samaaegseks uurimiseks peab platvorm käivitama pidevaid värskendusi, kasutama andmeid paljudest diagrammidest ja kasutama hinnalehti.
Autentimine
Kiire, kuid usaldusväärne kontrollimeetod loob esmalt turvalise platvormi ja tipptasemel inseneritöö kuvandi.
Kauplemistarkvara võib toetada juurdepääsu mitmelt kontolt, sarnaselt kahefaktorilise autentimisega avatud lähtekoodiga kauplemisplatvormidele (kasutades näiteks SMS-i või Google Authenticatorit), kuid teil võib olla ka süsteem, mille juurdepääs on lubatud e-posti, telefoninumbri või muu kaudu. viise vaid väikesele kauplejate grupile.
Uudisvood
Enne mis tahes rahaliste otsuste tegemist on oluline uurida. Teadmatusest põhjustatud vigade vältimiseks saavad kauplejad kasu mugavatest uudistest, asjakohastest ülevaadetest ja maailma valuutaturgude ülevaatest, mis kõik on nende kauplemisplatvormidel kohe saadaval.
Mugav funktsionaalsus administraatoritele ja kasutajatele
Sellises süsteemis on ülioluline võimalus kõike kiiresti ühe klõpsuga hallata. See hõlmab tehingute haldamist, ootel ja esitatud tellimusi, isiklikke kontosid, tellimuste edenemise märguandeid ja klientide päringuid.
See võimaldab teha otsuseid võimalikult lühikese ajaga ja tagab pideva juurdepääsu olulisele teabele.
Tõukemärguannete kasutamine
Kasutajad eeldavad, et kauplemisplatvormid on ligipääsetavad ööpäevaringselt ja neid teavitatakse kõigist turvaprobleemidest või viimastest muudatustest.
Saate end kursis hoida kohandatavate teadetega, kuna kauplemisplatvorm jälgib majandussündmusi, hinnakõikumisi, turu arengut, tehnilisi näitajaid jne ning saadab värskendusi teie aktsiapositsiooni kohta.
Sularaha väljavõtmine ja maksed
See funktsioon on vajalik kauplemistoimingute tegemiseks, sularaha liikumise jälgimiseks ning krediitkaardi, PayPali või lihtsa pangaülekande abil isiklikult kontolt raha kiireks ja turvaliseks väljavõtmiseks.
Kui teie taganemistaotluse töötlemine on lõpetatud, teavitatakse teid sellest.
Automatiseeritud kauplemissüsteemi arhitektuur
Mootor, mis täidab automatiseeritud kauplemisplatvormis otsuste tegemise loogikat, mida tuntakse ka kui 'Complex Event Processing' mootorit ehk CEP, asub serveri rakenduses.
Rakenduskiht on sisuliselt a kasutajaliides parameetrite jälgimiseks ja CEP-i edastamiseks. Kuigi rakenduskiht on peamiselt vaade, saab mõned riskikontrollid (mis on nüüdseks muutunud mastaabiprobleemi tõttu ressursinäljasteks toiminguteks) rakenduskihti laadida, eriti need, mis on seotud kasutaja sisendite mõistusega, näiteks paksu sõrme vead.
Intrigeeriv olukord tuleneb mastaapsuse probleemist automatiseeritud kauplemissüsteemis.
Kujutagem ette, et ühtse turu andmete sündmust töötleb 100 erinevat loogikat (nagu eelmises näites). Enamiku 100 loogikaühiku puhul, oletame, et greekide arvutamine valikute jaoks, võivad olla keerukate arvutuste ühised komponendid, mida tuleb teha.
Iga üksus teostaks identse täpse arvutuse, kui iga loogika töötaks iseseisvalt, mis raiskaks töötlemisressursse.
Komplekssed üleliigsed arvutused jagatakse sageli erinevateks arvutusmootoriteks, mis edastavad kreeklased automaatse kauplemissüsteemi CEP-i sisendiks, et maksimeerida arvutuste liiasust.
Praegu teostab tellimushalduri (OM) eraldiseisev riskijuhtimissüsteem (RMS) ülejäänud riskihinnangud automatiseeritud kauplemissüsteemis vahetult enne tellimuse väljastamist.
Kuna kõigi loogiliste üksuste/strateegiate riskide haldamiseks on ainult üks RMS-süsteem, kontrollis varem oma riski 100 eraldi kauplejat. See on tingitud mastaabiprobleemist.
Teatud riskihinnangud võivad siiski kehtida konkreetsete strateegiate puhul, samas kui teised tuleb läbi viia kõigi meetoditega.
Järelikult koosneb RMS ise globaalsest RMS-ist (GRMS) ja strateegiataseme RMS-ist (SLRMS). SLRMS-i ja GRMS-i sai näha ka kasutajaliidese (UI) kaudu.
Läheme nüüd serveri komponentide juurde.
Turu adapter
Exchange või mõni muu turuandmete pakkuja edastab andmeid oma vormingus. Teie algoritmiline kauplemissüsteem võib seda keelt mõista või mitte.
Exchange annab teile juurdepääsu API-le (Application Design Interface), mida saate kasutada oma adapteri programmeerimiseks ja ehitamiseks, et muuta andmevorming teie süsteemile arusaadavaks vorminguks.
Keeruline sündmuste töötlemise mootor
Teie lähenemise aju peitub selles jaotises. Kui teil on andmed olemas, peate neid kasutama vastavalt oma plaanile, mis nõuab erinevate statistiliste arvutuste tegemist, võrdluste tegemist varasemate andmetega ja otsuste langetamist, mis viivad tellimuste loomiseni.
See plokk on koostatud kasutades tellimuse tüüpi ja tellimuse summat. Lihtsamalt öeldes on komplekssündmus sissetulevate sündmuste kogum. Need koosnevad uudistest, turu liikumistest, aktsiaturgude trendidest jne.
Arvutustoimingute kiiret lõpetamist keeruliste sündmuste puhul nimetatakse keerukaks sündmuste töötlemiseks. Automatiseeritud kauplemissüsteemi toimingud võivad hõlmata keeruliste mustrite tuvastamist, korrelatsioonide loomist ja seoste loomist, nagu põhjuslik seos ja aeg mis tahes sissetuleva teabe vahel.
Tellimuse marsruutimissüsteem
Börsi antud API-de abil krüpteeritakse tellimus börsile arusaadavas keeles. Vahetus pakub natiivseid API-sid ja FIX API-sid, kahte erinevat tüüpi API-sid.
Natiivsed API-d on loodud spetsiaalselt antud börsi jaoks. Mitmed börsid kasutavad andmevoo hõlbustamiseks ja parandamiseks turvaturgudel FIX-protokolli (Finantsinfo Exchange) nime all tuntud juhiste kogumit.
Sellele järgnevas osas selgitame FIXi kohta rohkem. Kui majandus on avatud, saavad inimesed esitada korraldusi automatiseeritud kauplemissüsteemi kaudu börsidele või mittebörsidele ning ORP peaks suutma käsitleda mitmes suunas liikuvaid korraldusi.
Siinkohal tahame rõhutada, et tellimuse signaali saab läbi viia käsitsi või automaatselt. Viimane osa on see, mida me nimetame "automaatseks kauplemissüsteemiks".
Tellimuste halduri moodul sisaldab mitmeid täitmistehnikaid, mis teostavad ostu-müügikorraldusi vastavalt eelnevalt kehtestatud loogikale.
Riskijuhtimise
Kuna automatiseeritud kauplemissüsteemid töötavad ilma inimeste osaluseta, on kauplemissüsteemide kavandatud toimimise tagamiseks vajalikud ranged riskianalüüsid.
Halb riskijuhtimine või riskikontrolli puudumine kvantitatiivse ettevõtte jaoks võib kaasa tuua märkimisväärseid korvamatuid kahjusid. Sellest tulenevalt peab igal automatiseeritud kauplemissüsteemil olema riskijuhtimissüsteem (RMS).
Protokolliarendus automatiseeritud kauplemissüsteemide jaoks
Ühe serveri kaudu mitme sihtkohaga ühenduse loomiseks, mis sai võimalikuks tänu arhitektuuri võimele skaleerida serveri kohta paljudele strateegiatele, oli vaja.
Tellimuste edastamiseks mitmesse sihtkohta ja andmete vastuvõtmiseks paljudest vahetuskeskustest paigutas tellimuste haldur mitmeid adaptereid.
Iga adapteri roll on olla tõlgiks süsteemi sisemise sideprotokolli ja protokolli vahel, millest vahetuskeskus aru saab. Seega oleks mitmete vahetuste jaoks vaja mitmeid adaptereid.
Kuna igal börsil on selle pakutavatele võimalustele kohandatud protokoll, tuleb automaatsele kauplemissüsteemile uue börsi lisamiseks luua ja arhitektuuriga ühendada uus adapter.
Adapteri sisestamise peavalu vältimiseks on välja töötatud standardprotokollid. FIX-protokoll on neist kõigist tuntuim.
Uue sihtkohaga ühenduse loomiseks kuluv turule mineku aeg lüheneb oluliselt, mis mitte ainult ei muuda liikvel olles ühenduse loomist mitme sihtkohaga.
Automatiseeritud kauplemissüsteem saab tänu ühiste protokollide olemasolule hõlpsasti suhelda teiste tarnijatega analüütika või turuandmete edastamiseks.
Selle tulemusena muutub turg ülimalt efektiivseks, sest ei ole enam piirangut uue asukoha või müüjaga integreerumisel.
Lisaks on simulatsioon tehtud väga lihtsaks, kuna FIX-protokolli kasutava simulaatoriga ühenduse loomiseks piisab tellimuste väljastamisest ja andmete vastuvõtmisest tegelikust turult.
Simulaatorit saab ise luua või osta mõnest muust allikast. Sarnaselt reaalajas turuandmetele saab salvestatud andmekogumeid taasesitada ka tänu andmeallikast sõltumatutele adapteritele.
Tekkivad madala latentsusega arhitektuurid
Tänu automatiseeritud kauplemissüsteemi põhielementidele saavad strateegiad nüüd hinnata tohutuid andmemahtusid reaalajas ja teha kiireid kauplemisvalikuid.
Tööstusstandarditele vastavate sideprotokollide, nagu FIX, väljatöötamise tulemusena on nüüd lihtsam konstrueerida algoritmilist kauplemislauda või automatiseeritud kauplemissüsteemi, mis on suurendanud konkurentsi algoritmilise kauplemise turul.
Rõhk lülitus otsuste langetamise latentsusaja vähendamisele, kuna serverid said rohkem mälu ja kiiremad taktsagedused.
Latentsusaja vähendamine on aja jooksul olnud vajalik mitmel põhjusel, sealhulgas:
- Ainult madala latentsusajaga keskkonnas on tehnikal mõtet.
- Konkurents kõrvaldab teid, kui te ei ole kõige vormistava mängu ellujäämisel piisavalt kiire
Kolokatsioon on muutunud automatiseeritud kauplemissüsteemis absoluutseks hädavajalikuks mis tahes kõrgsagedusmeetodil, mis hõlmab ühte sihtkohta.
Kuid mitme sihtkohaga süsteemid nõuavad põhjalikku ettevalmistust. Enne sellise valiku tegemist tuleb arvesse võtta selliseid muutujaid nagu sihtkoha tellimuse reageerimisaja kestus ja selle võrdlus kahe sihtkoha vahelise pingi kestusega.
Automatiseeritud kauplemissüsteemi kogulatentsuse vähendamiseks on tavaliselt esimene asi, millega tegeleda, võrgu latentsusaeg. Kuid arhitektuuri saab parandada ka mitmel muul viisil.
Võrgu töötlemise latentsus
Võrgu töötlemise latentsus on viivitus, mille ruuterid, kommutaatorid jne sisse viivad. Hüppamiste arv, mis kulub paketi liikumiseks punktist A punkti B, oleks automatiseeritud kauplemissüsteemi disaini optimeerimise järgmine tase.
Hüpet kirjeldatakse kui paketi allika ja sihtkoha vahelise tee lõiku, kus see ei liigu läbi füüsilise seadme, näiteks ruuteri või lüliti.
See, mida me nimetame mikrolaineks, võib samuti mõjutada võrgutoimingute latentsust.
Andmeedastustempo kiiret hüpet, mis võib või ei pruugi mõjutada keskmist andmeedastuskiirust, nimetatakse mikrolaineks.
Kuna automatiseeritud kauplemissüsteemid on reeglipõhised, reageerivad nad kõik ühele ja samale sündmusele. Osalejate ja sihtkoha vaheline andmeedastuse mikropurse võib tekkida mitme osaleva süsteemi korraga käskude saatmise tulemusena.
Rakenduse latentsus
Automatiseeritud kauplemissüsteemi rakenduse latentsus on taotluse töötlemiseks kuluva aja mõõt. See sõltub pakettide arvust, rakendusloogikale pühendatud töötlusest, kasutatava arvutuse keerukusest, programmeerimise efektiivsusest jne.
Süsteemil on tavaliselt vähem rakenduste viivitust, kuna selle protsessorite arv suureneb. Kõrgemate taktsageduste puhul kehtib sama.
Paljud automatiseeritud kauplemissüsteemid saavad kasu CPU tuumade eraldamisest programmi kriitilistele osadele, näiteks strateegia loogikale. Seda tehes ei lisa protseduur viivitust, mis tuleneb tuumade vahetamisest.
Sarnaselt sellele, kui automatiseeritud kauplemissüsteemi lähenemisviis oleks programmeeritud vahemälu suurust ja mälule juurdepääsu lähedust silmas pidades, tekiks mitu mälu vahemälu tabamust, mis vähendab latentsust veelgi.
Paljud süsteemid teevad seda, optimeerides koodi konkreetsele protsessori arhitektuurile, mida tehakse väga madala tasemega programmeerimiskeeli kasutades.
Täielikult programmeeritavate väravamassiivide abil on mõned ettevõtted jõudnud isegi keeruliste arvutuste riistvarale (FPGA) põletamiseni.
Testimine
Testimist, mis on tarkvararakenduste vigade tuvastamise toiming, on võimatu alahinnata, eriti Fintechis. Rahalise kahju võimaluse tõttu ei saa finantstehnoloogia endale lubada vigu.
Mida rohkem defekte suudavad kvaliteeditagamise insenerid tuvastada, seda tõenäolisem on, et valmistoode töötab korralikult. Olenevalt kauplemisplatvormi arendavast ettevõttest või kliendi vajadustest sisaldab testimisprotsessi struktuur järgmist:
Funktsionaalse testimise aluseks on sisendi loomine ja tulemuste analüüsimine. Valekaartide kasutamisel käivitatakse finantsrakenduste testjuhtumid. Nende kaartide eesmärk on parandada maksete usaldusväärsust, tõhusust ja täpsust.
Süsteemi kiiruse, mastaapsuse ja stabiilsuse väljaselgitamine toimub jõudlustesti abil. Rakenduse kiirust hinnatakse, et mõista, kui kiiresti see reageerib, ja selle skaleeritavus näitab, mitut kasutajat see ilma kokkujooksmiseta samaaegselt toetab.
Lisaks näitab stabiilsus, kas rakendus töötab erinevatel koormustel õigesti või on võimalikke vigu.
Täielikult automatiseeritud kauplemissüsteemi loomine ei pruugi ühele jaemüüjale jõuda. Automaatsed kauplemissüsteemid, mida turgudel pakutakse märkimispõhiselt, on võimalus kauplejatele, kes soovivad uurida kauplemise algoritmilist tehnikat.
Oma autonoomse kauplemissüsteemi loomine
Algajad kauplejad saavad välja töötada oma algoritmilised kauplemistehnikad ja tegeleda eduka turuga kauplemisega. Üldiselt saab algoritmilise kauplemisstrateegia loomiseks kasutada allpool loetletud etappe.
- Looge oma kujutlusvõimet või meetodit kasutades kauplemiskontseptsioon, mis teie arvates oleks aktiivsetel turgudel edukas. Kontseptsiooni saab tuletada teie enda turuvaatlustest, kauplemisraamatutest, akadeemilistest dokumentidest, kauplemisblogidest, kauplemisfoorumitest või mis tahes muust allikast.
- Koguge vajalikku teavet – hüpoteesi kontrollimiseks vajate ajaloolisi andmeid. See teave on saadaval tasulistelt andmemüüjatelt või veebisaitidelt, nagu Google Finance.
- Plaani kirjutamiseks on vaja kasutada selliseid tööriistu nagu Excel, Python või R programmeerimine. Kui teil on andmed, võite alustada oma lähenemisviisi kodeerimist.
- Kauplemiskontseptsiooni testimist ajalooliste andmetega pärast nende kodeerimist nimetatakse teie lähenemisviisi tagasitestimiseks. Tagasitestimine hõlmab sisendi optimeerimist, kasumieesmärkide ja kahjumi peatamise korralduste määramist, positsiooni suurust ja muid seotud ülesandeid.
- Paberkauplemine teie strateegiaga – pärast järeltestimise etappi on teie strateegia paberkauplemine vajalik. See hõlmaks teie plaani testimist turgu simuleeriva simulaatori abil. Paberkauplemismeetodi jaoks on maaklerid, kes pakuvad algoritmilist kauplemisplatvormi.
- Kui teie lähenemisviis on pärast paberkauplemist tulus, saate seda rakendada reaalsetes olukordades. Kauplemiskonto saate luua usaldusväärse maakleri juures, kes pakub algoritmilist kauplemist.
Iga aastaga on üha rohkem börse, mis võimaldavad algoritmilist kauplemist nii professionaalsetele kui ka jaekauplejatele, ning üha rohkem kauplejaid kasutab algoritmilist kauplemist.
Järeldus
See oli põhjalik artikkel automatiseeritud kauplemissüsteemi arhitektuuri kohta, milles oleme kindlad, et andis väga põhjaliku ülevaate kaasatud komponentidest ja paljudest takistustest, mida arhitektuuriarendajad peavad tugeva automatiseeritud kauplemissüsteemi kujundamiseks käsitlema/ületama.
Andsin endast parima, et anda teile ülevaade automaatsest kauplemissüsteemist, kuid kapoti all toimub palju muud. Loodan, et leiate sellest materjalist kasu ja kasutate seda hästi.
Jäta vastus