63 - Zvláštnosti vývoje algoritmického automatu
01:07:44

63 - Zvláštnosti vývoje algoritmického automatu

19.01.2022
V tomto dílu se s Františkem soustředíme především na zásadní rozdíly v přístupu k vývoji aplikace pro algoritmické obchodování a běžnými enterprise aplikacemi, které pravděpodobně vytváří řada z nás. Františkova předchozí kariéra se odehrávala především v bankovním sektoru v oblasti elektronického bankovnictví. Vývoj podobných webových aplikací si každý z nás v dnešní době už asi umí představit, v případě bankovnictví je práce okořeněná navíc jen větším důrazem na kvalitu výstupu a bezpečnost. Co je tedy tak odlišného při psaní obchodovacího automatu?! Jednou ze zajímavostí je to, že pokud optimalizujete obchodovací algoritmus na rychlost (latenci), vyplatí se v tomto segmentu znovu vynalézat kolo. Vymýšlení vlastních optimalizovaných řešení, místo použití generických knihoven, může ve svém výsledku přinést v kritických momentech několik mikrosekund náskoku, který umožní algoritmu vyhrát v konkurenci ostatních. František také bez uzardění přiznává, že teprve při psaní algotradingové aplikace se naučil reálně programovat. Teprve tady si skutečně sáhnul na vlastní implementaci B-stromů a řadu dalších low-level datových struktur a algoritmů, které my ostatní používáme zaobalené do high-level knihoven aniž bychom o tom leckdy sami věděli. Další z překvapivých momentů je ten, že chyba aplikace s potenciální finanční ztrátou, může být pro zadavatele – obchodníky bez problémů akceptovatelná. Pokud na druhé straně dostanou novou verzi aplikace s úpravami, které jim umožní obchodovat s náskokem oproti ostatním a potenciálně vydělat násobně víc. Dozvíme se, že na první pohled složité optimalizace nemusí v Javě ve výsledku až tak bolet. Jednou formou zpomalení v aplikacích obecně jsou systémová volání kernelu (context switch). Při psaní aplikací, které vyžadují nekompromisní výkon (jakými jsou např. i databáze) se doporučuje minimalizovat počet systémových volání kernelu a co lze si spravovat aplikačně sami. František zmiňuje existenci síťových karet, které si umí samy generovat časový otisk (dotaz na aktuální čas totiž obvykle vyžaduje právě systémové volání) a možnost vyjmout síťovou kartou ze správy kernelem a spravovat si ji nativně aplikací přes C knihovnu implementující TCP/IP stack. Tímto způsobem je možné se dostat i na řádově lepší rychlosti. Věříme, že tento druhý díl, pohladí na duši všechny tech-geeky mezi našimi posluchači. Tento díl vám přináší Luhačovická pražírna kávy. Kávové předplatné můžete spolu s Feršem a Novojem vychutnávat společně. Při zadání slevového kódu “kafemlejnek” v košíku dostanou naši posluchači exklusivní slevu 15%.

Podcast Kafemlejnek.TV je vložený na túto stránku z otvoreného informačného zdroja RSS. Všetky informácie, texty, predmety ochrany a ďalšie metadáta z informačného zdroja RSS sú majetkom autora podcastu a nie sú vlastníctvom prevádzkovateľa Podmaz, ktorý ani nevytvára ani nezodpovedá za ich obsah podcastov. Ak máš za to, že podcast porušuje práva iných osôb alebo pravidlá Podmaz, môžeš nahlásiť obsah. Ak je toto tvoj podcast a chceš získať kontrolu nad týmto profilom klikni sem.

Kategórie: Technológia
Táto webová stránka používa súbory cookies, ktoré sú potrebné pre správne fungovanie a skvalitňovanie webovej stránky. Ďalšie informácie o tom, ako používame súbory cookies, nájdete tu.
Bližšie informácie o spracúvaní osobných údajov ako aj o súboroch cookies nájdete tu.

Technické cookies

Vždy aktívne cookies sú nevyhnutne potrebné na základné fungovanie. Bez týchto súborov by sme nemohli poskytovať služby, ktoré umožňujú tejto stránke fungovať.

Funkčné cookies

Funkčné cookies vylepšujú fungovanie webových stránok, nakoľko si môžu pamätať napríklad informácie ako používateľské meno, jazyk alebo preferovanú polohu. Vďaka zapamätaniu si Vašich volieb môže stránka poskytovať vylepšené a osobnejšie služby.

Analytické cookies

Tieto cookies zhromažďujú anonymné informácie o tom, ako používatelia využívajú webové stránky. Z týchto dát sa dozvieme, ako používatelia reagujú na stránku poskytnutím informácií o tom, aké oblasti navštívili, aký čas na našej stránke strávili, a či sa pri tom vyskytli nejaké problémy, napríklad chybové hlásenia, čo nám pomáha vylepšovať webovú stránku.

Marketingové cookies

Marketingové cookies pomáhajú sledovať Vaše online návštevy a aktivitu na našich webových stránkach. Uvedené pomáha poskytovať a zobrazovať Vám relevantnejšie reklamy alebo obmedzujú počet zobrazení reklamy. Tieto súbory cookie môžu zdieľať tieto informácie s inými organizáciami alebo inzerentmi. Ide o trvalé súbory cookie a takmer vždy pochádzajú od tretích strán.