Napsat AOS není jednoduchá věc

zoufalecSetkal jsem se s řadou traderů, kteří tvrdí, že napsat AOS je jednoduchá věc, a napsat AOS, který obchoduje pouze 1 x denně v závěru seance je extrémně jednoduché. Osobně si to nemyslím; existuje totiž spousta věcí, na které je třeba brát ohled, pokud to se stavbou AOS myslíte opravdu vážně. Níže uvádím bez ladu a skladu ty nejpalčivější problémy, které budete muset řešit.

Problémy s AOS

  1. Data: Pokud budete mít data z jakéhokoliv zdroje, je třeba se ujistit, zda jsou a) aktuální a b) smysluplná. Budou třeba kontroly na několika úrovních.
  2. Automatické opravy a monitorování: Pokud se “něco” rozbije, měl by systém být schopen a) dát Vám vědět (například e-mailem), a b) v ideální případě to sám opravit (např. restartem služby či programu).
  3. Ukládání dat: I ten nejlepší systém bude potřebovat ukládat jak data, tak možná i vypočítané indikátory. Asi si nakonec pořídíte databázi – a to je další věc, která se může porouchat.
  4. Spojení s brokerem: Může vypadávat či selhávat, takže pozor na to.
  5. Letní a zimní čas: V USA mají přechod na letní a zimní čas jindy než my, což může vést k roztomilým chybám při obchodování na konci seance, pokud si nedáváte pozor.
  6. Dny, kdy se neobchoduje: Je třeba otestovat, zda opravdu je či není obchodní den. Nakonec skončíte s tím, že obchodní prázdniny budete muset nějak sledovat a ukládat do svého AOS.
  7. Dny, kdy se obchoduje ve zkrácené seanci. Je jich pár do roka, ale mohou Vám pěkně pomíchat výsledky, pokud je vynecháte nebo nezobchodujete správně.
  8. Splity: Pozor, ne všichni dodavatelé dat reagují stejně, takže můžete skončit se špatně vypočítanými indikátory, pokud si nedáte bacha.
  9. Dividendy: Pozor, ne všichni dodavatelé dat reagují stejně, takže můžete skončit se špatně vypočítanými indikátory, pokud si nedáte bacha.
  10. Indikátory: Některé indikátory (RSI například) mají několik metod výpočtu a je třeba použít tu “správnou”, aby se systém choval tak, jak zamýšlíte.
  11. Výkon: Ono se může zdát, že v dnešní době postačí mít silný počítač a je po problémech, ale není to tak úplně pravda. Počítat 4-5 indikátorů pro např. 500 akcií téměř v reálném čase – to může dát zabrat i nejmodernějším strojům.
  12. Akcie, které se přestaly obchodovat na burze: Váš AOS se může zaseknout ve snaze získat data, která neexistují.
  13. Nové akcie v indexu: Pokud obchodujete nějaký index (jako já) pomocí jeho komponent, je třeba se ujistit, že máte k dispozici aktuální komponenty a obchodujete opravdu to, co chcete.
  14. Spojení do internetu – co dělat, když vypadne, že?
  15. Napájení počítače – co dělat, když vypadne, že?

Přestože poslední dva problémy budete asi schopni vyřešit pomocí virtuálního či dedikovaného serveru, řešení těch zbývajících bude jen ve Vaší režii. A ne, opravdu neexistuje program, který by všechno toto uměl udělat za Vás Mrkající veselý obličej

Příspěvek byl publikován v rubrice Software se štítky , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

12 Responses to Napsat AOS není jednoduchá věc

  1. Pingback: Jak na virtuální server | Akcie

  2. Joystick napsal:

    Pracuji na svém AOSu a jen bych doplnil výše uvedený seznam o nutnost kontrolovat synchronizaci času a případně opravit. Služba W32tm je potvora a stává se, že zamrzne nebo se zastaví. A zpoždění třeba jedné minuty může docela uškodit.

  3. Joystick napsal:

    Určitě, tohle je asi první co udělat. I já jsem to kdysi na svém nb nastavil, vše fungovalo super, denní aktualizace. A ejhle, nyní když jsem testoval kontrolu aktuálnosti pro nový AOS a zavolal jsem při zjištěném rozdílu v čase w32tm /sync, vrátila se mi chyba. tak jsem pátral dál a zjistil jsem, že se mi z neznámého důvodu přepnula služba na ruční spouštění a tedy neběžela. Normálně jsem to v systému nijak nepoznal, čas je víceméně přesný pro běžné použití, ale pro obchodování nepoužitelný. Jen jsem chtěl upozornit, že kontrola je podle mě nutná.

    • admin napsal:

      Jo, tak to může být děsivý. Ještě mě napadlo, že např. IB umí přes API vrátit aktuální čas, to by taky mohlo pomoct. nebo prostě tu službu w32tm o půlnoci restartuj, je to sice naivní přístup, ale slyšel jsem, že to často pomůže.

      Další možnost je napsat si utilitu, která Ti pošle e-mail pokud zjistí, že zadaná služba neběží. Nebo nastavit akci při selhání služby přímo ve Windows.

      Ale máš právdu, je na to potřeba fakt myslet…

  4. Pingback: 10 věcí, které chcete vědět o AOS a báli jste se zeptat | Akcie

  5. Pingback: AOS, mechanizace a skončí analytici?

  6. Tom napsal:

    Zdar,
    posledni dobou me trapi to, ze se mi na serveru odpojuje IB gateway – napise to „Your connection was lost. Do you want to relogin?“. Obvykle se to deje pred pondelni seanci, ale nekdy to spadne i v prubehu tydne. Nastesti nikdy behem obhodnich hodin, takze je cas to zase nahodit.
    Deje se vam to taky? Pokud ano, jak to resite? Pouzivate IB controller?
    Diky

  7. vakov napsal:

    Osobně používám IB GW + https://github.com/IbcAlpha/IBC
    IB GW startuji z AOS a po konci seance z AOS GW ukončím. IBC toto umožňuje. Výpadky mimo obchodní čas AOS tak neřeším a v průběhu obchodování je to minimum případů. Pokud se tak stane, AOS zasílá SMS a řeším to ručně restartem AOS.
    Vašek

  8. nemozny napsal:

    Disclaimer: Nenávidím Windows a Powershell.

    Nicméně za (celé!) jedno odpoledne jsem vyplodil následující 4 řádky (.BAT), které volám v případě, že mi IB začne hlásit chyby spojení. Zabijou TWS nebo Gateway (tím, že zabijou IBController) a nastartují je znovu. Trik je v tom, že powershell dokáže zabít proces podle jeho názvu.

    Je ale nutno změnit 6. řádek od konce v souboru IBControllerStart.bat na
    set TITLE=IBTWS
    a obdobně pro IBControllerGatewayStart.bat

    taskkill /FI „WINDOWTITLE eq IBGateway – C:\IBController\Scripts\DisplayBannerAndLaunch.bat“
    taskkill /FI „WINDOWTITLE eq IBTWS – C:\IBController\Scripts\DisplayBannerAndLaunch.bat“

    timeout /t 5

    call C:\IBController\IBControllerGatewayStart.bat

Napsat komentář

Vaše emailová adresa nebude zveřejněna.