63 - Zvlastnosti vyvoje algoritmickeho automatu

Published: Jan. 19, 2022, 1:58 p.m.

b'V tomto d\\xedlu se s Franti\\u0161kem soust\\u0159ed\\xedme p\\u0159edev\\u0161\\xedm na z\\xe1sadn\\xed rozd\\xedly v p\\u0159\\xedstupu k v\\xfdvoji aplikace pro algoritmick\\xe9 obchodov\\xe1n\\xed a b\\u011b\\u017en\\xfdmi enterprise aplikacemi, kter\\xe9 pravd\\u011bpodobn\\u011b vytv\\xe1\\u0159\\xed \\u0159ada z n\\xe1s. Franti\\u0161kova p\\u0159edchoz\\xed kari\\xe9ra se odehr\\xe1vala p\\u0159edev\\u0161\\xedm v bankovn\\xedm sektoru v oblasti elektronick\\xe9ho bankovnictv\\xed. V\\xfdvoj podobn\\xfdch webov\\xfdch aplikac\\xed si ka\\u017ed\\xfd z n\\xe1s v dne\\u0161n\\xed dob\\u011b u\\u017e asi um\\xed p\\u0159edstavit, v p\\u0159\\xedpad\\u011b bankovnictv\\xed je pr\\xe1ce oko\\u0159en\\u011bn\\xe1 nav\\xedc jen v\\u011bt\\u0161\\xedm d\\u016frazem na kvalitu v\\xfdstupu a bezpe\\u010dnost. Co je tedy tak odli\\u0161n\\xe9ho p\\u0159i psan\\xed obchodovac\\xedho automatu?!\\n\\nJednou ze zaj\\xedmavost\\xed je to, \\u017ee pokud optimalizujete obchodovac\\xed algoritmus na rychlost (latenci), vyplat\\xed se v tomto segmentu znovu vynal\\xe9zat kolo. Vym\\xfd\\u0161len\\xed vlastn\\xedch optimalizovan\\xfdch \\u0159e\\u0161en\\xed, m\\xedsto pou\\u017eit\\xed generick\\xfdch knihoven, m\\u016f\\u017ee ve sv\\xe9m v\\xfdsledku p\\u0159in\\xe9st v kritick\\xfdch momentech n\\u011bkolik mikrosekund n\\xe1skoku, kter\\xfd umo\\u017en\\xed algoritmu vyhr\\xe1t v konkurenci ostatn\\xedch. Franti\\u0161ek tak\\xe9 bez uzard\\u011bn\\xed p\\u0159izn\\xe1v\\xe1, \\u017ee teprve p\\u0159i psan\\xed algotradingov\\xe9 aplikace se nau\\u010dil re\\xe1ln\\u011b programovat. Teprve tady si skute\\u010dn\\u011b s\\xe1hnul na vlastn\\xed implementaci B-strom\\u016f a \\u0159adu dal\\u0161\\xedch low-level datov\\xfdch struktur a algoritm\\u016f, kter\\xe9 my ostatn\\xed pou\\u017e\\xedv\\xe1me zaobalen\\xe9 do high-level knihoven ani\\u017e bychom o tom leckdy sami v\\u011bd\\u011bli.\\n\\nDal\\u0161\\xed z p\\u0159ekvapiv\\xfdch moment\\u016f je ten, \\u017ee chyba aplikace s potenci\\xe1ln\\xed finan\\u010dn\\xed ztr\\xe1tou, m\\u016f\\u017ee b\\xfdt pro zadavatele \\u2013 obchodn\\xedky bez probl\\xe9m\\u016f akceptovateln\\xe1. Pokud na druh\\xe9 stran\\u011b dostanou novou verzi aplikace s \\xfapravami, kter\\xe9 jim umo\\u017en\\xed obchodovat s n\\xe1skokem oproti ostatn\\xedm a potenci\\xe1ln\\u011b vyd\\u011blat n\\xe1sobn\\u011b v\\xedc.\\n\\nDozv\\xedme se, \\u017ee na prvn\\xed pohled slo\\u017eit\\xe9 optimalizace nemus\\xed v Jav\\u011b ve v\\xfdsledku a\\u017e tak bolet. Jednou formou zpomalen\\xed v aplikac\\xedch obecn\\u011b jsou syst\\xe9mov\\xe1 vol\\xe1n\\xed kernelu (context switch). P\\u0159i psan\\xed aplikac\\xed, kter\\xe9 vy\\u017eaduj\\xed nekompromisn\\xed v\\xfdkon (jak\\xfdmi jsou nap\\u0159. i datab\\xe1ze) se doporu\\u010duje minimalizovat po\\u010det syst\\xe9mov\\xfdch vol\\xe1n\\xed kernelu a co lze si spravovat aplika\\u010dn\\u011b sami. Franti\\u0161ek zmi\\u0148uje existenci s\\xed\\u0165ov\\xfdch karet, kter\\xe9 si um\\xed samy generovat \\u010dasov\\xfd otisk (dotaz na aktu\\xe1ln\\xed \\u010das toti\\u017e obvykle vy\\u017eaduje pr\\xe1v\\u011b syst\\xe9mov\\xe9 vol\\xe1n\\xed) a mo\\u017enost vyjmout s\\xed\\u0165ovou kartou ze spr\\xe1vy kernelem a spravovat si ji nativn\\u011b aplikac\\xed p\\u0159es C knihovnu implementuj\\xedc\\xed TCP/IP stack. T\\xedmto zp\\u016fsobem je mo\\u017en\\xe9 se dostat i na \\u0159\\xe1dov\\u011b lep\\u0161\\xed rychlosti.\\n\\nV\\u011b\\u0159\\xedme, \\u017ee tento druh\\xfd d\\xedl, pohlad\\xed na du\\u0161i v\\u0161echny tech-geeky mezi na\\u0161imi poslucha\\u010di.\\n\\nTento d\\xedl v\\xe1m p\\u0159in\\xe1\\u0161\\xed Luha\\u010dovick\\xe1 pra\\u017e\\xedrna k\\xe1vy. K\\xe1vov\\xe9 p\\u0159edplatn\\xe9 m\\u016f\\u017eete spolu s Fer\\u0161em a Novojem vychutn\\xe1vat spole\\u010dn\\u011b. P\\u0159i zad\\xe1n\\xed slevov\\xe9ho k\\xf3du \\u201ckafemlejnek\\u201d v ko\\u0161\\xedku dostanou na\\u0161i poslucha\\u010di exklusivn\\xed slevu 15%.'