V ďalšej časti našej rubriky, Algorithmic Trading Vám prinášame softvérovú platformu tohto algoritmického obchodného systému (al. Black – box trading).
Vychádzame zo vzoru českej spoločnosti RSJ Algorithmic Trading. Jej zakladateľa a zároveň aj generálneho riaditeľa, Karla Janečka sme Vám v našej rubrike už dôkladne priblížili. Pozrime sa spoločne na softvérovú platformu algoritmického obchodovania.
Softvér obchodno – informačného systému Black – Box Trading automatizovane a rýchlosťou v rade jednotiek mili – sekúnd vyhodnocuje nové informácie a na ich základe uskutočňuje nákupné alebo predajné rozhodnutie. Zaujímavosťou celého systému je schopnosť realizovať komplexné matematické výpočty a transformácie dát vo vysokých frekvenciách.
V prípade výpočtov ide až o stovky prepočtov veľkého množstva zložitých vzorcov behom jednej sekundy. V prípade transformácie dát ide o spracovanie a zalogovanie niekoľko 10 000 správ za sekundu. Tzv. logy si niektoré softvéry vytvárajú pre ukladanie informácii o svojej činnosti. Logy tak umožňujú spätný prístup k informáciám a v prípade chýb i určenie ich príčiny.
Informačný systém českej spoločnosti RSJ pre algoritmické obchodovanie je založený na softvérovej platforme od spoločnosti Microsoft. Ide tu o platformu Microsoft .NET Framework. Táto platforma, spolu v kombinácií s využitím Visual Studia 2008, taktiež od spoločnosti Microsoft, sa stala pre daný systém veľmi vhodný. Pri jej použití bola dosiahnutá vysoká stabilita počas obchodovania, kedy dochádza k mnoho výpadkom.
Č predstavuje Microsoft .NET Framework?
Pojem .NET ( „dotnet“) predstavuje súbor technológií v softvérových produktoch, tvoriace celú platformu, ktorá je dostupná nielen pre Web, Windows a Pocket PC. Základným komponentom je Microsoft .NET Framework. Ide o prostredie potrebné pre beh aplikácií, ponúkajúce spúšťacie rozhranie či potrebné knižnice. Pre vývoj týchto .NET aplikácií vydal Microsoft Visual Studio.
Opisovaná softvérová platforma od Microsoftu má dodržať tieto princípy:
1) Umožnenie behu systému na serveroch umiestnených priamo v dátových centrách burzy
2) Umožnenie dobrej škálovosti jednotlivých komponentov systému (t.j. je navrhnutý tak, aby sa ním zabezpečilo pokrytie všetkých či novo pribúdajúcich a rozširujúcich sa oblastí činnosti organizácie) na viacerých serveroch.
3) Minimalizovanie oneskorenia v oblasti spracovania dát až na úroveň stoviek mikrosekund
4) Minimalizovanie výskytu výpadkov obchodovania
5) Umožnenie kvalitného a nepretržitého monitoringu na úrovni výkonu, stability a obchodnej logiky.
6) Umožniť rýchly vývoj, flexibilnú a pružnú integráciu nových modelov, s implementačnou dobou v rade hodín
7) Umožniť nezávislé paralelné prevedenie zložitých matematických výpočtov na základe prichádzajúcich dát v rade stoviek mikrosekund až jednotiek milisekund.
Dôležitou zložkou celého vývoja softvérovej platformy je zaistenie vyváženého využitia prostriedkov serveru a to tak, aby kľúčové komponenty systému v kritických fázach neboli potláčané menej podstatnými komponentami. V prostredí platformy Microsoft .NET Framework túto časť zabezpečuje garbage collection.
Dušan Hruška
Zdroje:
- Prípadová štúdia Microsoft (microsoft.com)
- dynatech.sk