RSJ používá pro vývoj algoritmického obchodního systému platformu Microsoft. NET

Datum poslední aktualizace: 06. 11. 2009

RSJ je jedním z největších obchodníků na světových finančních trzích s ročním obratem přes 2.6 biliardy korun. Obchodování probíhá plně automatizovaně pomocí vlastního softwaru a technologií, se zaměřením na vysoký výkon. Dříve se o obchodování staral software implementovaný v prostředí Borland Delphi, vyvíjený ve formě jednoho monolitického systému provozovaného na stanicích umístěných v Praze. Díky stále rostoucím požadavkům byl systém neudržitelný jak z pohledu latence komunikace s burzou, tak z pohledu výkonu na dostupném hardwaru.

Z těchto důvodů RSJ přešlo na automatizované obchodování prováděné systémem implementovaným na platformě Microsoft .NET v jazyce C#. Systém je provozován na serverech, které jsou umístěné v datových centrech jednotlivých burz, a skládá se z několika modulů běžících na různých serverech. Běh systému je monitorován z Prahy.

Situace
Obchodní cíle
Řešení
Přínosy

Situace

RSJ je největším obchodníkem s cennými papíry se sídlem v České republice. Je významným obchodníkem finančních derivátů na světových derivátových burzách s ročním obratem přesahujícím 2 biliardy (2 milióny miliard) korun. Zároveň je největším obchodníkem na londýnské derivátové burze NYSE Liffe, kde obchoduje od roku 2000 a v roce 2004 byla jmenována oficiálním tvůrcem trhu. RSJ patří také k významným obchodníkům na chicagské CME Group.

Moderní finanční trhy jsou prostředím, které posuzuje nejmodernější technologie těmi nejpřísnějšími měřítky a je motorem jejich rychlého rozvoje. Algoritmické obchodování RSJ je elektronické obchodování dovedené k dokonalosti. Software automatizovaně a rychlostí v řádech jednotek milisekund vyhodnocuje nové informace a na základě nich činí nákupní či prodejní rozhodnutí. RSJ umisťuje své servery přímo do datových center burz za účelem minimalizace komunikační prodlevy. Původní obchodní systém byl vytvořen v prostředí Borland Delphi. Sloužil k obchodování na londýnské burze, ke které se připojoval přímo z Prahy. Jednalo se o monilitický, jednovrstvý systém, který využíval nejvýkonnější pracovní stanice v dané době na trhu dostupné.

Postupný růst konkurence v oblasti algoritmického obchodování a s ním spojený růst množství zpráv přicházejících z burzy přinášely dva nezávislé problémy. První problém byla latence vznikající umístěním obchodního systému v Praze, druhý problém byl výkon systému, který bylo možné provozovat pouze na jednom stroji.

Obchodní cíle

Nový obchodní systém měl splňovat několik základních požadavků:

  • Umožnit běh obchodního systému na serverech umístěných přímo v datových centrech burz,
  • Umožnit dobrou škálovatelnost jednotlivých komponent systému na více serverů,
  • Minimalizovat zpoždění na vrstvě zpracování dat na úroveň stovek mikrosekund,
  • Umožnit nezávislé paralelní provádění složitých matematických výpočtů na základě příchozích dat v řádech stovek mikrosekund až jednotek milisekund,
  • Minimalizovat výskyt výpadků obchodování,
  • Umožnit flexibilní a rychlý vývoj a pružnou integraci nových modelů, s implementační dobou v řádu hodin,
  • Umožnit kvalitní nepřetržitý monitoring na úrovni výkonu, stability a obchodní logiky.

Řešení

Nový obchodní systém ve společnosti RSJ představuje sada win32 aplikací běžících na řadě serverů, které spolu vzájemně komunikují a zajišťují zadávání pokynů na burzy v reakci na příchozí data.

Výběr platformy Microsoft .NET frameworku v kombinaci s využitím Visual Studia se ukázal jako velice vhodný v několika aspektech. Prvním z nich je vysoká stabilita výsledného řešení bez nutnosti dlouhého testování a ladění. Dalším pak dostačující výkon již při prvotních přímých implementacích.

Na místech určených monitorováním a profilováním lze následně výkon poměrně snadno a rychle vylepšovat. Pro monitorování se ukazuje jako velice výhodné použít systém ETW (Events Tracing for Windows) zabudovaný přímo v operačním systému, stejně jako pak pro následné profilování použít nástroje obsažené ve vývojovém prostředí Visual Studia.

Využití Microsoft Team Foundation Serveru během vývoje umožnilo velice efektivní a bezproblémové sdílení kódu mezi všemi členy vývojového týmu, kteří po celou dobu pracovali paralelně na vývoji všech částí systému.

První verzi systému se včetně analýz a návrhů podařilo nasadit již po půl roce vývoje. Poté následovala fáze optimalizací a postupného rozšiřování o nové matematické modely, jejichž implementace byla umožněna právě díky vysokému výkonu a vzájemnému efektivnímu propojení jednotlivých částí obchodního systému.

Po dvou letech bylo rozhodnuto o kompletní revizi a reimplementaci obchodního systému, který bude postaven na stejných technologiích, pouze ve vyšších verzích. Systém je kompletně znovu navrhován tak, aby odpovídal současným charakteristikám finančních trhů. Opakovaná volba stejných technologií dokládá vysokou spokojenost, která s původním výběrem panuje.

Z pohledu použitých technologií je velice přínosné, že v nových verzích jazyka a knihoven .NET se často objevuje funkcionalita, kterou do té doby bylo nutno pokrývat vlastní implementací.

Zajímavostí celého systému je jeho schopnost realizovat komplexní matematické výpočty a transformace dat ve vysoké frekvenci, v případě výpočtů jde o stovky přepočtů velkého množství složitých vzorců během vteřiny, v případně transformací dat jde o zpracování a zalogování několika desítek tisíc zpráv za vteřinu.

Netriviální složkou celého vývoje je zajištění vyváženého využití prostředků serveru tak, aby klíčové komponenty systému nebyly potlačeny v kritických fázích méně podstatnými komponentami, případně aby nebyly potlačeny nutnou údržbou prostředků systému, v prostředí .NET frameworku například díky garbage collection.

Dalším velice významným aspektem, který pomáhal vývoji, byla ochota a spolupráce expertů společnosti Microsoft, kteří se svými radami a názory podíleli, a nadále podílejí, na řadě optimalizací a vylepšení celého systému.

Přínosy

Nová implementace obchodního systému přinesla očekávaná vylepšení ve všech klíčových oblastech.

*Nový systém pro RSJ přinesl kvalitativní skok srovnatelný s přechodem od kazety VHS ke kvalitní blue-ray technologii.*
Karel Janeček, Ph.D.
CFO, Member of the Board of Directors

Odezva systému jak na úrovni zpracování dat, tak i na úrovni matematických výpočtů se podařila realizovat v řádech jednotek milisekund a i nadále se daří průběžně vylepšovat díky propracovanému systému monitorování a měření a následnému detailnímu profilování.

Umístěním serverů v datových centrech burz je zajištěna nejnižší možná latence na úrovni komunikace s burzou.

Díky použití .NET frameworku bylo dosaženo vysoké stability systému v průběhu obchodování, kdy dochází k minimálnímu množství výpadků v jeho průběhu i přesto, že pokročilé testovací prostředí bude vyvinuto až v dalších fázích projektu.

Díky vývoji na .NET frameworkem a využití Team Foundation Serveru došlo k nasazení první verze obchodního systému již po půl roce vývoje v týmu 4 vývojářů a i v současné době probíhá vývoj v rámci týmu 6 vývojářů.

*Volba .NET Frameworku a Microsoft Visual Studia přinesla rychlý a komfortní vývoj a vysokou stabilitu celého algoritmického obchodního systému.*
Martin Ducháček
Head of Software Development
 
Hodnocení:

RSJ Invest, a.s.

Přehled řešení

Země: Česká republika
Odvětví: Algoritmické obchodování na burze

Studie ke stažení:
CZ dokument PDF, 183 KB
CZ dokument XPS, 197 KB

RSJ Invest, a.s.
Wratislavský palác
Tržiště 13, 11800 Praha 1
tel.: +420 736 483 688
Web: ww.rsj.cz
E-mail md@rsj.cz

RSJ se zabývá algoritmickým obchodováním na světových finančních burzách. Je největším derivátovým obchodníkem v Londýně a v Chicagu a významným hráčem na dalších burzách.