Obsah[Skryť][Šou]
Odvetvie, ktoré veľmi zaujíma tých, ktorí hľadajú prácu, je obchodovanie s menami. Softvérové podniky dostávajú od obchodníkov z celého sveta požiadavky na poskytnutie obchodnej platformy, ktorá dokáže rýchlo a efektívne vyhodnocovať údaje o menových pároch.
Obchodná platforma je softvérový program, ktorý obchodníkom a investorom poskytujú určité finančné organizácie, ako sú banky a makléri.
Obchodné platformy v podstate umožňujú investorom a obchodníkom uzatvárať obchody a sledovať svoje účty. Ďalšie funkcie, ktoré pomáhajú investorom pri rozhodovaní o investíciách, sú často súčasťou obchodných systémov.
Citácie v reálnom čase, interaktívne grafy, rôzne nástroje na tvorbu grafov, živé spravodajské kanály a prémiový prieskum sú len niekoľkými príkladmi týchto schopností.
Platformy môžu byť navrhnuté aj pre určité trhy, napríklad pre akcie, meny, opcie alebo futures.
Už viac ako desať rokov fungujú automatizované obchodné systémy, známe aj ako algoritmické obchodovanie, obsadili centrálnu fázu obchodného priemyslu.
„Obchodný systém“, niekedy známy ako „obchodná stratégia“, nie je nič iné ako súbor pravidiel, ktoré sa aplikujú na vstupné údaje, aby poskytli vstupné a výstupné signály nákupu/predaja. Napriek tomu, že vytvorenie obchodnej stratégie sa môže zdať jednoduché, nie je to tak!
Mysli stojace za kvantitatívnou obchodnou stratégiou sa v oblasti algoritmického obchodovania označujú ako „množstvá“, pretože vytvorenie dobrej obchodnej stratégie si vyžaduje rozsiahlu kvantitatívnu štúdiu.
Základný dizajn automatizovaných obchodných systémov prešiel za posledných desať rokov podstatnými zmenami a stále sa mení.
Odvetvie algoritmického obchodovania sa stalo ohniskom rozvoja počítačových a sieťových technológií, pretože sa stalo nevyhnutným pre podniky, najmä tie, ktoré využívajú vysokofrekvenčné obchodné systémy, inovovať technológiu, aby mohli konkurovať vo svete algoritmického obchodovania.
Budeme diskutovať o obchodnej platforme návrh systému v tomto článku. Základné špecifikácie obchodnej platformy zahŕňajú jej architektúru, protokoly a pokyny na vytvorenie vlastného automatizovaného obchodného systému.
Požiadavky na automatizovaný obchodný softvér na základnej úrovni
Najlepšie riešenie je také, ktoré úplne vyhovuje softvérovým požiadavkám. Hlavné špecifikácie softvéru na automatické obchodovanie sú:
- Škálovateľnosť (schopnosť systému zvládnuť rastúci objem požiadaviek a pracovného zaťaženia);
- Multiprocessing a vynikajúci výkon;
- Bezpečnosť a ochrana (ako reaguje na narušenia alebo útoky, ktoré prídu náhle, a chráni pred nelegálnym vstupom);
- Interoperabilita (schopnosť systému interagovať s inými systémami);
- Spoľahlivosť (ako rieši poruchy a beží napriek problémom).
Algoritmické obchodné systémy vyžadujú mimoriadne kvalifikovanú prácu a starostlivú pozornosť. Je ľahšie pochopiť funkčné požiadavky systému, keď existujú jasné nefunkčné požiadavky. Slúžia ako riadiace štandardy pre tímy vývoja softvéru na stanovenie a definovanie kvality produktu.
Medzi funkčné charakteristiky obchodnej platformy patrí
Úspešná podpora rôznych platobných metód, zabezpečené cloudové hostingové služby, výkonné nástroje na analýzu údajov, riadenie rizík, presné cenové ponuky a vhodné druhy grafov, to všetko sú dôležité funkčné potreby.
Nasledujú niektoré základné atribúty automatizovaných obchodných platforiem, ktorým všetci obchodníci venujú veľkú pozornosť:
Dashboard zobrazujúci štatistické údaje
Na účely vykonávania simultánneho skúmania kurzov mien v niekoľkých časových pásmach v reálnom čase musí platforma vykonávať nepretržité aktualizácie, prevádzkovať údaje z mnohých grafov a prevádzkovať cenníky.
Overovanie
Rýchla, ale dôveryhodná metóda overovania najprv vytvára obraz bezpečnej platformy a elitného inžinierskeho úsilia.
Obchodný softvér môže podporovať prístup z viacerých účtov, podobne ako open source obchodné platformy s dvojfaktorovou autentifikáciou (napríklad pomocou SMS alebo Google Authenticator), ale môžete mať aj systém s povoleným prístupom cez e-mail, telefónne číslo alebo iné spôsoby len pre malú skupinu obchodníkov.
newsfeed
Pred prijatím akýchkoľvek finančných rozhodnutí je dôležité urobiť si prieskum. Aby sa predišlo chybám spôsobeným neznalosťou, obchodníci môžu ťažiť z pohodlných správ, relevantných prehľadov a náhľadov na svetové menové trhy, ktoré sú všetky okamžite dostupné na ich obchodných platformách.
Funkčnosť pre správcov a používateľov, ktorá je pohodlná
V takomto systéme je nevyhnutná schopnosť rýchlo spravovať všetko jediným kliknutím. To zahŕňa správu transakcií, čakajúcich a odoslaných objednávok, osobných účtov, indikácií priebehu objednávky a požiadaviek zákazníkov.
To umožňuje rozhodovanie v čo najkratšom čase a zaručuje nepretržitý prístup k životne dôležitým informáciám.
Používanie upozornení push
Používatelia očakávajú, že obchodné platformy budú prístupné XNUMX hodín denne a budú informované o akýchkoľvek bezpečnostných problémoch alebo o najnovších zmenách.
Môžete byť informovaní pomocou prispôsobiteľných upozornení, pretože obchodná platforma sleduje ekonomické udalosti, kolísanie cien, vývoj trhu, technické ukazovatele atď., a odosiela aktualizácie o vašej pozícii akcií.
Výplaty a platby
Táto funkcia je potrebná na vykonávanie obchodných aktivít, sledovanie pohybu hotovosti a rýchle a bezpečné vyberanie peňazí z vášho osobného účtu pomocou kreditnej karty, služby PayPal alebo jednoduchého bankového prevodu.
Po dokončení spracovania vašej žiadosti o výber budete upozornení.
Architektúra automatizovaného obchodného systému
Motor, ktorý vykonáva logiku rozhodovania v automatizovanej obchodnej platforme, tiež známy ako motor „Complex Event Processing“ alebo CEP, bude v rámci aplikácie na server.
Aplikačná vrstva je v podstate a používateľské rozhranie na pozorovanie a dodávanie parametrov do CEP. Aj keď aplikačná vrstva je primárne pohľad, niektoré kontroly rizika (ktoré sa teraz stali operáciami náročnými na zdroje kvôli problému s rozsahom) môžu byť presunuté na aplikačnú vrstvu, najmä tie, ktoré zahŕňajú zdravý rozum používateľských vstupov, ako sú chyby s hrubými prstami.
Zaujímavá situácia vyplýva z problému škálovateľnosti v automatizovanom obchodnom systéme.
Predstavme si, že jedna udalosť trhových údajov je spracovaná 100 samostatnými logikami (ako bolo uvedené v predchádzajúcom príklade). Pre väčšinu zo 100 logických jednotiek, povedzme výpočet gréckych možností, môžu existovať bežné komponenty zložitých výpočtov, ktoré je potrebné vykonať.
Rovnaký presný výpočet by vykonala každá jednotka, ak by každá logika fungovala nezávisle, čo by plytvalo zdrojmi spracovania.
Komplexné redundantné výpočty sú často rozdelené do rôznych kalkulačných nástrojov, ktoré poskytujú Grékom ako vstup do CEP v automatizovanom obchodnom systéme, aby sa maximalizovala redundancia výpočtov.
V súčasnosti samostatný systém riadenia rizík (RMS) v rámci správcu príkazov (OM) vykonáva zostávajúce hodnotenia rizík v automatizovanom obchodnom systéme krátko pred uvoľnením príkazu.
Keďže existuje len jeden RMS systém na riadenie rizika vo všetkých logických jednotkách/stratégiách, predtým ich riziko kontrolovalo 100 samostatných obchodníkov. Je to spôsobené problémom s mierkou.
Určité hodnotenia rizík sa však môžu vzťahovať výlučne na konkrétne stratégie, zatiaľ čo iné možno bude potrebné vykonať v rámci všetkých metód.
V dôsledku toho samotná RMS pozostáva z globálnej RMS (GRMS) a strategickej úrovne RMS (SLRMS). SLRMS a GRMS bolo možné vidieť aj cez používateľské rozhranie (UI).
Poďme teraz ďalej ku komponentom servera.
Market Adapter
Burza alebo akýkoľvek iný poskytovateľ trhových údajov prenáša údaje vo svojom formáte. Tento jazyk môže alebo nemusí byť zrozumiteľný pre váš algoritmický obchodný systém.
Exchange vám poskytuje prístup k API (Application Design Interface), ktoré môžete použiť na naprogramovanie a zostavenie vlastného adaptéra na transformáciu formátu údajov do formátu, ktorý dokáže váš systém pochopiť.
Komplexný nástroj na spracovanie udalostí
Mozog vášho prístupu spočíva v tejto časti. Akonáhle budete mať údaje, musíte ich použiť v súlade s vaším plánom, ktorý vyžaduje vykonávanie rôznych štatistických výpočtov, porovnávanie s minulými údajmi a prijímanie rozhodnutí, ktoré povedú k vytváraniu objednávok.
Tento blok je vytvorený pomocou typu objednávky a sumy objednávky. Jednoducho povedané, komplexná udalosť je súbor prichádzajúcich udalostí. Tie pozostávajú zo správ, pohybov na trhu, trendov na akciových trhoch atď.
Rýchle dokončenie výpočtových operácií na komplikovaných udalostiach je známe ako komplexné spracovanie udalostí. Operácie automatizovaného obchodného systému môžu zahŕňať odhaľovanie zložitých vzorcov, vytváranie korelácií a vytváranie spojení, ako je príčinná súvislosť a čas medzi akýmikoľvek prichádzajúcimi informáciami.
Systém smerovania objednávok
Pomocou daných API burzy je objednávka zašifrovaná v jazyku, ktorému burza rozumie. Burza ponúka natívne API a FIX API, dva rôzne typy API.
Natívne API sú navrhnuté špeciálne pre danú burzu. Súbor pokynov známych ako protokol FIX (Finančná výmena informácií) používajú viaceré burzy na uľahčenie a zlepšenie toku údajov na trhoch s bezpečnosťou.
V nasledujúcej časti vysvetlíme viac o FIX. Ak je ekonomika otvorená, ľudia môžu zadávať príkazy prostredníctvom automatizovaného obchodného systému na burzy alebo mimo burzy a ORP by mala byť schopná spracovať objednávky v mnohých smeroch.
Tu chceme zdôrazniť, že signál objednávky môže byť vykonaný manuálne osobou alebo automaticky. Posledná časť je to, čo nazývame „automatizovaný obchodný systém“.
Modul správcu objednávok obsahuje niekoľko techník vykonávania, ktoré vykonávajú príkazy na nákup/predaj v súlade s vopred stanovenou logikou.
Riadenie rizík
Keďže automatizované obchodné systémy fungujú bez ľudského zásahu, je potrebná dôkladná analýza rizika, aby sa zabezpečilo, že obchodné systémy fungujú tak, ako majú.
Nedostatočné riadenie rizík alebo nedostatok kontrol rizík pre kvantitatívnu spoločnosť môže viesť k významným stratám, ktoré nie je možné získať späť. V dôsledku toho musí mať každý automatizovaný obchodný systém systém riadenia rizík (RMS).
Vývoj protokolov pre automatizované obchodné systémy
Bolo potrebné pripojiť sa k niekoľkým destináciám z jedného servera, čo bolo možné vďaka schopnosti architektúry škálovať na mnoho stratégií na server.
Na prenos objednávok do niekoľkých destinácií a prijímanie údajov z mnohých búrz preto manažér objednávok umiestnil niekoľko adaptérov.
Úlohou každého adaptéra je slúžiť ako tlmočník medzi interným komunikačným protokolom systému a protokolom, ktorému burza rozumie. Preto by bolo potrebných niekoľko adaptérov pre množstvo výmen.
Keďže každá burza má protokol prispôsobený možnostiam, ktoré ponúka, na pridanie novej burzy do automatizovaného obchodného systému je potrebné vytvoriť nový adaptér a zapojiť ho do architektúry.
Boli vyvinuté štandardné protokoly, aby sa predišlo tejto bolesti hlavy pri vložení adaptéra. Protokol FIX je z nich najznámejší.
Čas uvedenia na trh pre spojenie s novou destináciou sa výrazne skráti, čím sa nielenže dá zvládnuť spojenie s viacerými destináciami za pohybu.
Automatizovaný obchodný systém môže vďaka existencii spoločných protokolov jednoducho interagovať s inými dodávateľmi pri analýze alebo podávaní údajov o trhu.
V dôsledku toho sa trh stáva mimoriadne efektívnym, pretože už neexistujú žiadne obmedzenia týkajúce sa integrácie s novým miestom alebo predajcom.
Simulácia je navyše veľmi jednoduchá, pretože na pripojenie k simulátoru pomocou protokolu FIX stačí zadávať príkazy a prijímať údaje zo skutočného trhu.
Samotný simulátor môže byť vytvorený interne alebo zakúpený z iného zdroja. Podobne ako v prípade živých trhových údajov, aj zaznamenané súbory údajov je možné prehrávať vďaka adaptérom nezávislým od zdroja údajov.
Vznikajúce architektúry s nízkou latenciou
Stratégie teraz dokážu vyhodnocovať obrovské objemy údajov v reálnom čase a robiť rýchle obchodné rozhodnutia vďaka základným prvkom automatizovaného obchodného systému.
V dôsledku vývoja štandardných komunikačných protokolov, ako je FIX, je teraz jednoduchšie vytvoriť algoritmický obchodný stôl alebo automatizovaný obchodný systém, čo zvýšilo konkurenciu na trhu s algoritmickým obchodovaním.
Dôraz sa zmenil na zníženie latencie pri rozhodovaní, pretože servery získali viac pamäte a rýchlejšie takt.
Zníženie latencie bolo v priebehu času potrebné z rôznych dôvodov, vrátane:
- Iba v prostredí s nízkou latenciou má táto technika zmysel.
- Konkurencia vás eliminuje, ak nie ste dostatočne rýchly v prežití najschopnejšej hry
Kolokácia sa stala absolútnou nevyhnutnosťou v automatizovanom obchodnom systéme pre akúkoľvek vysokofrekvenčnú metódu zahŕňajúcu jediné miesto určenia.
Systémy s viacerými destináciami si však vyžadujú dôkladnú prípravu. Pred takouto voľbou je potrebné vziať do úvahy premenné, ako je trvanie času odozvy na objednávku v destinácií a ako sa porovnáva s trvaním pingu medzi týmito dvoma destináciami.
Na zníženie celkovej latencie automatizovaného obchodného systému je latencia siete zvyčajne prvou vecou, ktorú treba riešiť. Ale architektúra sa dá vylepšiť aj mnohými inými spôsobmi.
Latencia sieťového spracovania
Latencia spracovania siete je oneskorenie, ktoré zavádzajú smerovače, prepínače atď. Počet skokov, ktoré sú potrebné na to, aby sa paket presunul z bodu A do bodu B, by predstavoval ďalšiu úroveň optimalizácie v návrhu automatizovaného obchodného systému.
Preskok je opísaný ako časť cesty medzi zdrojom paketu a cieľom, kde neprechádza cez fyzické zariadenie, ako je smerovač alebo prepínač.
To, čo označujeme ako mikrobursty, môže mať vplyv aj na latenciu sieťových operácií.
Rýchly nárast tempa prenosu údajov, ktorý môže alebo nemusí ovplyvniť priemernú rýchlosť prenosu údajov, sa nazýva mikroburst.
Keďže automatizované obchodné systémy sú založené na pravidlách, všetky budú reagovať jednotne na rovnakú udalosť. Mikroburst prenosu dát medzi účastníkmi a cieľom môže nastať v dôsledku toho, že niekoľko zúčastnených systémov posiela príkazy naraz.
Latencia aplikácie
Latencia aplikácie automatizovaného obchodného systému je meradlom času potrebného na spracovanie žiadosti. To závisí od počtu paketov, spracovania venovaného aplikačnej logike, zložitosti použitého výpočtu, efektivity programovania atď.
Systém bude mať zvyčajne menšie oneskorenie aplikácie, keď sa zvýši počet jeho procesorov. Pri vyšších taktovacích frekvenciách platí to isté.
Mnoho automatizovaných obchodných systémov ťaží z prideľovania jadier CPU kritickým častiam programu, ako je napríklad logika stratégie. Týmto postup nepridáva oneskorenie, ktoré je výsledkom prepínania jadier.
Podobne, ak by bol prístup automatizovaného obchodného systému naprogramovaný s ohľadom na veľkosť vyrovnávacej pamäte a blízkosť prístupu do pamäte, došlo by k niekoľkým zásahom do vyrovnávacej pamäte, čo by ešte viac znížilo latenciu.
Mnoho systémov to robí optimalizáciou kódu pre konkrétnu architektúru procesora, čo sa robí pomocou programovacích jazykov na veľmi nízkej úrovni.
Pomocou plne programovateľných hradlových polí zašli niektoré podniky dokonca tak ďaleko, že napálili zložité výpočty na hardvér (FPGA).
testovanie
Testovanie, čo je akt identifikácie nedostatkov softvérovej aplikácie, nie je možné podceniť, najmä vo Fintech. Vzhľadom na možnosť finančnej straty si finančná technológia nemôže dovoliť mať nedostatky.
Čím viac chýb dokážu inžinieri zabezpečenia kvality identifikovať, tým je pravdepodobnejšie, že hotový výrobok bude správne fungovať. V závislosti od firmy, ktorá vyvíja obchodnú platformu alebo potrieb klienta, štruktúra testovacieho procesu zahŕňa:
Základom funkčného testovania je vytváranie vstupov a analýza výsledkov. S použitím falošných kariet sa spúšťajú testovacie prípady finančných aplikácií. Tieto karty sa snažia zlepšiť spoľahlivosť, efektivitu a presnosť platieb.
Zisťovanie rýchlosti, škálovateľnosti a stability systému sa vykonáva testovaním výkonu. Rýchlosť aplikácie sa hodnotí s cieľom pochopiť, ako rýchlo reaguje, a jej škálovateľnosť udáva, koľko používateľov môže súčasne podporovať bez zlyhania.
Stabilita navyše ukazuje, či aplikácia funguje správne pri rôznych zaťaženiach alebo či existujú nejaké potenciálne chyby.
Vybudovanie plne automatizovaného obchodného systému môže byť nad možnosti jedného maloobchodného obchodníka. Automatizované obchodné systémy, ktoré sú ponúkané na trhoch na základe predplatného, sú možnosťou pre obchodníkov, ktorí chcú preskúmať algoritmickú techniku obchodovania.
Budovanie vlastných autonómnych obchodných systémov
Začiatočníci môžu vyvinúť svoje vlastné algoritmické obchodné techniky a zapojiť sa do úspešného obchodovania na trhu. Vo všeobecnosti možno na vytvorenie algoritmickej obchodnej stratégie použiť nasledujúce fázy:
- Vytvorte obchodný koncept, o ktorom si myslíte, že by bol úspešný na aktívnych trhoch pomocou vašej predstavivosti alebo metódy. Tento koncept môže byť odvodený z vašich vlastných pozorovaní trhu, obchodných kníh, akademických prác, obchodných blogov, obchodných fór alebo akéhokoľvek iného zdroja.
- Zhromaždite potrebné informácie – Na otestovanie vašej hypotézy budete potrebovať historické údaje. Tieto informácie sú dostupné od platených predajcov údajov alebo webových stránok, ako je Google Finance.
- Napísanie plánu vyžaduje použitie nástrojov ako Excel, Python alebo R programovanie. Keď máte údaje, môžete začať kódovať svoj prístup.
- Testovanie vášho obchodného konceptu oproti historickým údajom po jeho zakódovaní sa nazýva spätné testovanie vášho prístupu. Spätné testovanie zahŕňa optimalizáciu vstupu, stanovenie cieľov zisku a príkazov stop-loss, veľkosti pozície a ďalších súvisiacich úloh.
- Papierové obchodovanie vašej stratégie – Po fáze spätného testovania je potrebné papierové obchodovanie s vašou stratégiou. To by zahŕňalo testovanie vášho plánu pomocou simulátora trhu. Pre metódu papierového obchodovania existujú makléri, ktorí poskytujú algoritmickú obchodnú platformu.
- Ak je váš prístup po obchodovaní s papierom lukratívny, môžete ho implementovať v reálnych situáciách. Môžete si vytvoriť obchodný účet u spoľahlivého brokera, ktorý ponúka algoritmické obchodovanie.
S každým ďalším rokom existuje viac búrz, ktoré umožňujú algoritmické obchodovanie pre profesionálnych aj maloobchodných obchodníkov, a stále viac obchodníkov používa algoritmické obchodovanie.
záver
Toto bol podrobný článok o architektúre automatizovaného obchodného systému, o ktorom sme si istí, že poskytuje vysoko prenikavé pochopenie príslušných komponentov, ako aj mnohých prekážok, ktoré musia vývojári architektúry zvládnuť/prekonať, aby navrhli silný automatizovaný obchodný systém.
Urobil som, čo bolo v mojich silách, aby som vám poskytol prehľad o systéme automatického obchodovania, ale pod kapotou sa toho deje oveľa viac. Dúfam, že tento materiál považujete za užitočný a dobre ho využijete.
Nechaj odpoveď