Turinys[Slėpti][Rodyti]
Pramonė, kuri labai domina ieškančius darbo, yra prekyba valiutomis. Programinės įrangos įmonės gauna prekiautojų visame pasaulyje užklausas sukurti prekybos platformą, kuri galėtų greitai ir efektyviai įvertinti duomenis apie valiutų susiejimą.
Prekybos platforma yra programinė įranga, kurią prekybininkams ir investuotojams teikia tam tikros finansinės organizacijos, tokios kaip bankai ir brokeriai.
Prekybos platformos iš esmės leidžia investuotojams ir prekiautojams sudaryti sandorius ir stebėti savo sąskaitas. Kitos funkcijos, padedančios investuotojams priimti investicinius sprendimus, dažnai įtraukiamos į prekybos sistemas.
Citatos realiuoju laiku, interaktyvios diagramos, įvairūs grafiniai įrankiai, tiesioginiai naujienų kanalai ir aukščiausios kokybės tyrimai yra keletas šių galimybių pavyzdžių.
Platformos taip pat gali būti skirtos tam tikroms rinkoms, pvz., akcijų, valiutų, opcionų ar ateities sandorių rinkoms.
Jau daugiau nei dešimtmetį automatizuotos prekybos sistemos, dar žinomos kaip algoritminė prekyba, užėmė centrinę prekybos pramonės vietą.
„Prekybos sistema“, kartais vadinama „prekybos strategija“, yra ne kas kita, kaip taisyklių rinkinys, taikomas įvesties duomenims, siekiant pateikti pirkimo/pardavimo įėjimo ir išėjimo signalus. Nepaisant to, kad sukurti prekybos strategiją gali atrodyti paprasta, taip nėra!
Kiekybinės prekybos strategijos mintys algoritminės prekybos srityje vadinamos „Kvantais“, nes norint sukurti gerą prekybos strategiją, būtina atlikti išsamų kiekybinį tyrimą.
Per pastaruosius dešimt metų esminis automatizuotų prekybos sistemų dizainas buvo gerokai pakeistas ir vis dar keičiasi.
Algoritminės prekybos pramonė tapo kompiuterinių ir tinklų technologijų plėtros židiniu, nes įmonėms, ypač toms, kurios naudoja aukšto dažnio prekybos sistemas, tapo būtina diegti technologijų naujoves, kad galėtų konkuruoti algoritminės prekybos pasaulyje.
Aptarsime prekybos platformą sistemos projektavimas šiame straipsnyje. Pagrindinės prekybos platformos specifikacijos apima jos architektūrą, protokolus ir instrukcijas, kaip sukurti savo automatizuotą prekybos sistemą.
Pagrindinio lygio automatizuotos prekybos programinės įrangos reikalavimai
Geriausias sprendimas yra tas, kuris visiškai atitinka programinės įrangos reikalavimus. Pagrindinės automatizuotos prekybos programinės įrangos specifikacijos yra šios:
- Mastelio keitimas (sistemos pajėgumas tvarkyti didėjantį užklausų kiekį ir darbo krūvį);
- Daugiafunkcis apdorojimas ir puikus našumas;
- Sauga ir saugumas (kaip ji reaguoja į netikėtus pažeidimus ar užpuolimus ir apsaugo nuo nelegalaus patekimo);
- Sąveika (sistemos gebėjimas sąveikauti su kitomis sistemomis);
- Patikimumas (kaip išsprendžia gedimus ir veikia nepaisant problemų).
Algoritminės prekybos sistemos reikalauja itin kvalifikuoto darbo ir kruopštaus dėmesio. Sistemos funkcinius reikalavimus lengviau suvokti, kai yra aiškūs nefunkciniai reikalavimai. Jie naudojami kaip pagrindiniai standartai programinės įrangos kūrimo komandoms nustatyti ir apibrėžti produkto kokybę.
Prekybos platformos funkcinės charakteristikos apima
Sėkmingas įvairių mokėjimo būdų palaikymas, saugios debesų prieglobos paslaugos, galingi duomenų analizės įrankiai, rizikos valdymas, tikslios citatos ir atitinkamos diagramų rūšys yra svarbūs funkciniai poreikiai.
Toliau pateikiami keli pagrindiniai automatizuotų prekybos platformų atributai, į kuriuos visi prekybininkai atkreipia ypatingą dėmesį:
Prietaisų skydelis, kuriame rodomi statistiniai duomenys
Tam, kad realiuoju laiku vienu metu būtų galima tirti valiutų kursus keliose laiko juostose, platforma turi vykdyti nuolatinius atnaujinimus, valdyti duomenis iš daugelio diagramų ir valdyti kainų žiniaraščius.
Atpažinimas
Greitas, bet patikimas patikrinimo metodas pirmiausia sukuria saugios platformos ir elito inžinerinių pastangų įvaizdį.
Prekybos programinė įranga gali palaikyti prieigą iš kelių paskyrų, panašiai kaip atvirojo kodo prekybos platformos su dviejų veiksnių autentifikavimu (pvz., naudojant SMS arba „Google Authenticator“), tačiau taip pat galite turėti sistemą su įjungta prieiga el. paštu, telefono numeriu ar kitu būdu. būdai tik nedidelei prekybininkų grupei.
Newsfeed
Prieš priimdami bet kokius finansinius sprendimus, labai svarbu atlikti savo tyrimą. Kad išvengtumėte klaidų, kurias sukelia nežinojimas, prekybininkai gali pasinaudoti patogiomis naujienomis, aktualiomis apžvalgomis ir pasaulio valiutų rinkų įžvalgomis – visa tai iš karto pasiekiama jų prekybos platformose.
Patogus funkcionalumas administratoriams ir vartotojams
Tokioje sistemoje būtina galimybė greitai viską valdyti vienu spustelėjimu. Tai apima operacijų valdymą, laukiančius ir pateiktus užsakymus, asmenines sąskaitas, užsakymų eigos indikacijas ir klientų užklausas.
Tai leidžia priimti sprendimus per trumpiausią laiką ir garantuoja nuolatinę prieigą prie svarbios informacijos.
Naudojant tiesioginius pranešimus
Vartotojai tikisi, kad prekybos platformos bus prieinamos visą parą ir bus informuotos apie visas saugumo problemas arba apie naujausius pokyčius.
Galite būti informuoti naudodami pritaikomus pranešimus, nes prekybos platforma seka ekonominius įvykius, kainų svyravimus, rinkos raidą, techninius rodiklius ir t.t. ir siunčia naujienas apie jūsų akcijų padėtį.
Grynųjų pinigų išėmimas ir mokėjimai
Ši funkcija reikalinga norint vykdyti prekybos veiklą, sekti grynųjų pinigų judėjimą ir greitai bei saugiai išsiimti pinigus iš asmeninės sąskaitos naudojant kredito kortelę, PayPal ar paprastą banko pavedimą.
Kai baigsis jūsų prašymo dėl išėmimo apdorojimas, jums bus pranešta.
Automatizuotos prekybos sistemos architektūra
Variklis, kuris atlieka sprendimų priėmimo logiką automatizuotoje prekybos platformoje, taip pat žinomas kaip „Complex Event Processing“ variklis arba CEP, bus serverio programoje.
Taikymo sluoksnis iš esmės yra a vartotojo sąsaja už parametrų stebėjimą ir pateikimą CEP. Nors programos sluoksnis visų pirma yra vaizdas, kai kurios rizikos patikros (kurios dabar tapo resursų reikalaujančiomis operacijomis dėl masto problemos) gali būti perkeltos į taikomąjį lygmenį, ypač tuos, kurie susiję su vartotojo įvesties protingumu, pvz., storojo piršto klaidomis.
Intriguojanti situacija atsiranda dėl mastelio problemos automatizuotoje prekybos sistemoje.
Įsivaizduokime, kad vienos rinkos duomenų įvykis apdorojamas 100 atskirų logikų (kaip aptarta ankstesniame pavyzdyje). Daugumoje iš 100 loginių vienetų, tarkime, greikų skaičiavimas opcionams, gali būti bendrų sudėtingų skaičiavimų komponentų, kuriuos reikia atlikti.
Identišką tikslų skaičiavimą atliktų kiekvienas blokas, jei kiekviena logika veiktų nepriklausomai, o tai eikvotų apdorojimo išteklius.
Sudėtingi pertekliniai skaičiavimai dažnai skirstomi į skirtingus skaičiavimo variklius, kurie pateikia graikus kaip įvestį į CEP automatizuotoje prekybos sistemoje, kad būtų maksimaliai padidintas skaičiavimo perteklius.
Šiuo metu pavedimų valdytojo (OM) atskira rizikos valdymo sistema (RMS) atlieka likusius rizikos vertinimus automatizuotoje prekybos sistemoje prieš pat pavedimo paskelbimą.
Kadangi yra tik viena RMS sistema, skirta valdyti riziką visuose loginiuose vienetuose / strategijose, anksčiau savo riziką kontroliavo 100 atskirų prekiautojų. Taip yra dėl masto problemos.
Tačiau tam tikri rizikos vertinimai gali būti taikomi tik konkrečioms strategijoms, o kitus gali tekti atlikti taikant visus metodus.
Vadinasi, pati RMS susideda iš globalių RMS (GRMS) ir strategijos lygio RMS (SLRMS). SLRMS ir GRMS taip pat galima matyti per vartotojo sąsają (UI).
Dabar pereikime prie serverio komponentų.
Rinkos adapteris
Exchange ar bet kuris kitas rinkos duomenų teikėjas perduoda duomenis savo formatu. Ta kalba gali būti suprantama arba nesuprantama jūsų algoritminės prekybos sistemoje.
„Exchange“ suteikia prieigą prie API (Application Design Interface), kurią galite naudoti programuodami ir kurdami savo adapterį, kad paverstumėte duomenų formatą į formatą, kurį gali suprasti jūsų sistema.
Sudėtingas įvykių apdorojimo variklis
Jūsų požiūrio smegenys slypi šiame skyriuje. Kai turėsite duomenis, turite juos naudoti pagal savo planą, pagal kurį reikia atlikti įvairius statistinius skaičiavimus, palyginti su ankstesniais duomenimis ir priimti sprendimus, kurie paskatins kurti užsakymus.
Šis blokas sudarytas naudojant užsakymo tipą ir užsakymo sumą. Paprasčiau tariant, sudėtingas įvykis yra gaunamų įvykių rinkinys. Tai naujienos, rinkos judėjimai, akcijų rinkos tendencijos ir kt.
Greitas sudėtingų įvykių skaičiavimo operacijų užbaigimas yra žinomas kaip sudėtingas įvykių apdorojimas. Automatizuotos prekybos sistemos operacijos gali apimti sudėtingų modelių aptikimą, koreliacijų kūrimą ir ryšių, pvz., priežastinio ryšio ir laiko tarp bet kokios gaunamos informacijos, nustatymą.
Užsakymo maršruto sistema
Naudojant biržos suteiktas API, užsakymas užšifruojamas ta kalba, kurią birža gali suprasti. Mainai siūlo savąsias API ir FIX API, dviejų skirtingų tipų API.
Native API yra specialiai sukurtos tam tikram mainui. Gairių rinkinys, žinomas kaip FIX (finansinės informacijos mainų) protokolas, naudojamas keliose biržose, kad palengvintų ir pagerintų duomenų srautą saugumo rinkose.
Po šios dalies daugiau paaiškinsime apie FIX. Jei ekonomika yra atvira, žmonės per automatizuotą prekybos sistemą gali pateikti pavedimus biržoms arba ne biržoms, o ORP turėtų sugebėti apdoroti pavedimus įvairiomis kryptimis.
Čia norime pabrėžti, kad užsakymo signalą gali atlikti žmogus rankiniu būdu arba automatiškai. Paskutinė dalis yra tai, ką vadiname „automatizuota prekybos sistema“.
Užsakymų tvarkyklės modulyje yra keletas vykdymo būdų, kurie atlieka pirkimo/pardavimo pavedimus pagal iš anksto nustatytą logiką.
Rizikos valdymas
Kadangi automatizuotos prekybos sistemos veikia be žmogaus įsikišimo, būtina atlikti griežtą rizikos analizę, siekiant užtikrinti, kad prekybos sistemos veiktų taip, kaip numatyta.
Prastas rizikos valdymas arba rizikos patikrinimų trūkumas kiekybinei įmonei gali sukelti didelių neatgautinų nuostolių. Dėl to bet kuri automatizuota prekybos sistema turi turėti rizikos valdymo sistemą (RMS).
Automatizuotų prekybos sistemų protokolų kūrimas
Norint prisijungti prie kelių paskirties vietų iš vieno serverio, o tai buvo įmanoma dėl architektūros gebėjimo pritaikyti daugybę strategijų kiekviename serveryje.
Norėdami perduoti užsakymus į kelias paskirties vietas ir gauti duomenis iš daugybės mainų, užsakymų vadybininkas įrengė daugybę adapterių.
Kiekvieno adapterio vaidmuo yra būti sistemos vidinio ryšio protokolo ir keitiklio suprantamo protokolo vertėju. Taigi, norint atlikti keletą mainų, reikės kelių adapterių.
Kadangi kiekviena birža turi protokolą, pritaikytą jos siūlomoms galimybėms, reikia sukurti naują adapterį ir jį prijungti prie architektūros, kad į automatizuotą prekybos sistemą būtų įtraukta nauja birža.
Standartiniai protokolai buvo sukurti, kad būtų išvengta galvos skausmo dėl adapterio įdėjimo. FIX protokolas yra labiausiai žinomas iš visų.
Prisijungimo prie naujos paskirties vietos pateikimo į rinką laikas žymiai sutrumpėja, o tai leidžia ne tik valdyti kelias kelionės paskirties vietas.
Dėl bendrų protokolų automatizuota prekybos sistema gali lengvai bendrauti su kitais tiekėjais analizei arba rinkos duomenų tiekimui.
Dėl to rinka tampa itin efektyvi, nes nebėra apribojimų integruotis su nauja vieta ar pardavėju.
Be to, modeliavimas yra labai paprastas, nes norint prisijungti prie treniruoklio naudojant FIX protokolą tereikia pateikti užsakymus ir gauti duomenis iš realios rinkos.
Pats treniruoklis gali būti sukurtas viduje arba įsigytas iš kito šaltinio. Panašiai kaip ir tiesioginiai rinkos duomenys, įrašytus duomenų rinkinius taip pat galima atkurti naudojant adapterius, nepriklausančius nuo duomenų šaltinio.
Naujos mažos delsos architektūros
Dėl pagrindinių automatizuotos prekybos sistemos elementų strategijos dabar gali įvertinti didžiulius duomenų kiekius realiuoju laiku ir greitai priimti prekybos sprendimus.
Sukūrus pramonės standartinius komunikacijos protokolus, tokius kaip FIX, dabar lengviau sukurti algoritminės prekybos stalą arba automatizuotą prekybos sistemą, o tai padidino konkurenciją algoritminės prekybos rinkoje.
Dėmesys buvo perkeltas į sprendimų priėmimo delsos mažinimą, nes serveriai įgijo daugiau atminties ir greitesnį taktinį dažnį.
Sumažinti delsą ilgainiui reikėjo dėl įvairių priežasčių, įskaitant:
- Technika prasminga tik mažos delsos aplinkoje.
- Konkurencija pašalina jus, jei nesate pakankamai greitas, kad išgyventumėte stipriausią žaidimą
Kolokacija tapo absoliučia būtinybe automatizuotoje prekybos sistemoje bet kokiam aukšto dažnio metodui, apimančiam vieną paskirties vietą.
Tačiau kelių paskirties vietų sistemos reikalauja kruopštaus pasiruošimo. Prieš pasirenkant, reikia atsižvelgti į tokius kintamuosius, kaip paskirties vietos užsakymo atsakymo trukmė ir į tai, kaip jis lyginamas su ping tarp dviejų paskirties vietų trukme.
Norint sumažinti bendrą automatinės prekybos sistemos delsą, tinklo delsa paprastai yra pirmiausiai. Tačiau architektūrą galima patobulinti ir daugeliu kitų būdų.
Tinklo apdorojimo delsa
Tinklo apdorojimo delsa yra delsa, kurią įveda maršrutizatoriai, jungikliai ir kt. Apynių skaičius, kurio reikia paketui perkelti iš taško A į tašką B, būtų kitas optimizavimo lygis kuriant automatizuotą prekybos sistemą.
Peršokimas apibūdinamas kaip kelio dalis tarp paketo šaltinio ir paskirties vietos, kur jis neperduodamas per fizinį įrenginį, pvz., maršrutizatorių ar jungiklį.
Tai, ką vadiname mikrosparniais, taip pat gali turėti įtakos tinklo operacijų delsai.
Spartus duomenų perdavimo tempo šuolis, kuris gali turėti įtakos vidutiniam duomenų perdavimo greičiui arba jo nedaro, vadinamas mikrosparniu.
Kadangi automatizuotos prekybos sistemos yra pagrįstos taisyklėmis, jos visos vienodai reaguos į tą patį įvykį. Duomenų perdavimo tarp dalyvių ir paskirties vietos mikroskopas gali įvykti, kai kelios dalyvaujančios sistemos vienu metu siunčia komandas.
Programos delsa
Automatizuotos prekybos sistemos taikymo delsa yra laiko, kurio reikia paraiškai apdoroti, matas. Tai priklauso nuo paketų skaičiaus, apdorojimo, skirto taikymo logikai, naudojamo skaičiavimo sudėtingumo, programavimo efektyvumo ir kt.
Sistema paprastai turės mažesnę taikymo delsą, nes jos procesorių skaičius padidėtų. Tas pats pasakytina ir apie aukštesnius laikrodžio dažnius.
Daugelis automatizuotų prekybos sistemų gauna naudos iš procesoriaus branduolių skyrimo svarbioms programos dalims, pavyzdžiui, strategijos logikai. Tai darant, procedūra neprideda delsos, atsirandančios dėl branduolių perjungimo.
Panašiai, jei automatizuotos prekybos sistemos metodas būtų užprogramuotas atsižvelgiant į talpyklos dydį ir prieigos prie atminties artumą, būtų keletas atminties talpyklos smūgių, o tai dar labiau sumažintų delsą.
Daugelis sistemų tai daro optimizuodamos kodą pagal tam tikrą procesoriaus architektūrą, o tai daroma naudojant labai žemo lygio programavimo kalbas.
Naudodamos visiškai programuojamus vartų matricas, kai kurios įmonės netgi nuėjo iki sudėtingų skaičiavimų įrašymo į aparatinę įrangą (FPGA).
Testavimas
Testavimo, kuris yra programinės įrangos trūkumų nustatymo veiksmas, neįmanoma nuvertinti, ypač „Fintech“. Dėl finansinių nuostolių galimybės finansinės technologijos negali sau leisti turėti trūkumų.
Kuo daugiau defektų gali nustatyti kokybės užtikrinimo inžinieriai, tuo didesnė tikimybė, kad gatavas produktas veiks tinkamai. Priklausomai nuo įmonės, kuriančios prekybos platformą ar kliento poreikių, testavimo proceso struktūra apima:
Funkcinio testavimo pagrindas yra įvesties kūrimas ir rezultatų analizė. Naudojant netikras korteles, vykdomi finansinio pritaikymo bandymai. Šiomis kortelėmis siekiama pagerinti mokėjimų patikimumą, efektyvumą ir tikslumą.
Sistemos greitis, mastelio keitimas ir stabilumas nustatomas atliekant našumo testavimą. Programos greitis įvertinamas siekiant suprasti, kaip greitai ji reaguoja, o jos mastelio keitimas rodo, kiek vartotojų ji gali palaikyti vienu metu be strigčių.
Be to, stabilumas parodo, ar programa tinkamai veikia esant įvairioms apkrovoms, ar yra galimų trūkumų.
Sukurti visiškai automatizuotą prekybos sistemą gali viršyti vieno mažmeninio prekybininko galimybių. Prekybininkams, norintiems ištirti algoritminę prekybos techniką, yra galimybė prekiauti automatizuotos prekybos sistemos, kurios rinkose siūlomos prenumeratos pagrindu.
Kurkite savo autonomines prekybos sistemas
Pradedantieji prekiautojai gali sukurti savo algoritminės prekybos būdus ir sėkmingai prekiauti rinkoje. Toliau išvardyti etapai gali būti naudojami kuriant algoritminę prekybos strategiją:
- Sukurkite prekybos koncepciją, kuri, jūsų manymu, būtų sėkminga aktyviose rinkose, pasitelkus jūsų vaizduotę ar metodą. Sąvoka gali būti gauta iš jūsų pačių rinkos stebėjimų, prekybos knygų, akademinių darbų, prekybos tinklaraščių, prekybos forumų ar bet kurio kito šaltinio.
- Surinkite reikiamą informaciją – jums reikės istorinių duomenų, kad patikrintumėte savo hipotezę. Šią informaciją galite gauti iš mokamų duomenų tiekėjų arba svetainių, tokių kaip „Google Finance“.
- Norint rašyti planą, reikia naudoti tokius įrankius kaip „Excel“, „Python“ ar R programavimas. Kai turėsite duomenis, galite pradėti koduoti savo metodą.
- Prekybos koncepcijos patikrinimas pagal istorinius duomenis po to, kai jis buvo užkoduotas, vadinamas jūsų požiūrio atgaliniu patikrinimu. Atgalinis patikrinimas apima įvesties optimizavimą, pelno tikslų ir nuostolių sustabdymo įsakymų, pozicijos dydžio ir kitų susijusių užduočių nustatymą.
- Popieriaus prekyba jūsų strategija – Pasibaigus grįžtamojo patikrinimo etapui, jūsų strategija būtina prekiauti popieriumi. Tai apimtų plano išbandymą naudojant rinką imituojančią simuliatorių. Popieriaus prekybos metodui yra brokeriai, kurie teikia algoritminę prekybos platformą.
- Jei jūsų požiūris yra pelningas po prekybos popieriumi, galite jį įgyvendinti realiose situacijose. Galite susikurti prekybos sąskaitą pas patikimą brokerį, kuris siūlo algoritminę prekybą.
Su kiekvienais metais atsiranda vis daugiau biržų, leidžiančių algoritminę prekybą tiek profesionaliems, tiek mažmeniniams prekiautojams, ir vis daugiau prekiautojų naudoja algoritminę prekybą.
Išvada
Tai buvo išsamus straipsnis apie automatizuotos prekybos sistemos architektūrą, kuris, mūsų įsitikinimu, suteikė labai įžvalgų supratimą apie susijusius komponentus ir daugybę kliūčių, kurias architektūros kūrėjai turi įveikti/įveikti norėdami sukurti stiprią automatizuotą prekybos sistemą.
Dariau viską, kad galėčiau pateikti jums automatinės prekybos sistemos apžvalgą, tačiau po gaubtu vyksta daug daugiau. Tikiuosi, kad ši medžiaga jums bus naudinga ir tinkamai panaudosite.
Palikti atsakymą