Jump to content
Co nového? Mé kurzy
Komunita:
Všude
Diskuze Sledované příspěvky Žebříčky
  1. Otevřená sekce

    1. 44
      44 příspěvků
  2. Uzavřené diskuze pro absolventy kurzů Finančníka

    1. TechLab

      Pracovní skupina poskytovaná tradery pro tradery. Naleznete v ní odpovědi na své technické otázky týkající se programů Amibroker, Python, InteractiveBrokers TWS a TradeStation Global.

      8,1k
      8,1k příspěvků
      • 4fx
    2. Trading Room

      Diskuzní skupina v rámci Trading Roomu.

      2k
      2k příspěvků
    3. 422
      422 příspěvků
      • petr
    4. Základy práce s programem Amibroker

      Uzavřená diskuze pro účastníky online kurzu Základy práce s programem Amibroker.

      189
      189 příspěvků
      • petr
    5. FIMS A–Z: Profesionální daytrading orderflow

      Diskuze o intradenním obchodování v rámci informací prezentovaných v kurzu FIMS A–Z: Profesionální daytrading orderflow.

      29,3k
      29,3k příspěvků
      • Jack
  3. Archiv původních anonymních diskuzích

    1. 201,1k
      201,1k příspěvků
  • Statistiky uživatelů

    31 453
    Celkem uživatelů
    467
    Nejvíce online
    Drak23
    Nejnovější uživatel
    Drak23
    Registrace
  • Všechny poslední příspěvky

    • Přikládám kód pro Tradestation. Při programování jsem vycházel z této studie Swiss Finance Institute. Pokud si studii přečtete, měli byste se v kódu orientovat, je do něj zapracovaná kapitola 3 (základ) a 4.4 (Volatility Multiplier).  Noise Area je počítaná tak, že jak kód prochází dny od počátku, načítá průběžně data do pole. Obchodovat může až v okamžiku, kdy pole naplní. Nechtěl jsem to zbytečně komplikovat, proto jsem tento moment nastavil jako 1,3 násobek délky (look_back), ze které se Noise Area počítá. Je to proto, že se můžou vyskytnout dny, které končí dříve. Např. načítám hodnoty pro úsečku 14:00, ale daný den burza zavře dříve a hodnota pro tuto úsečku je 0. Což by Noise Area rozhodilo na několik dalších dnů.  Vykreslení Noise Area a VWAP do grafu probíhá tak, že se vykreslují trendline mezi jednotlivými svíčkami. TS umožňuje vykreslit jen určitý počet trendline, proto se musí nastavit dny, které chcete vykreslit. Nastavuje se úplně na konci kódu a defaultně je to nastaveno tak, aby se vykreslilo posledních 80 dnů. Můžete ale nastavit i konkrétní den nebo od - do. Position sizing jsem vyřešil tak, že se nastaví výchozí počet kontraktů které chci obchodovat (default_shares_qt), nastavím cílovou volatilitu (vol_target), maximální páku (max_paka) a na počátku každého dne vypočtu anualizovanou volatilitu (AnnVol). Pokud AnnVol = vol_target, odpovídá počet kontraktů default_shares_qt. Při snižující se volatilitě počet kontraktů roste (max. na hodnotu default_shares_qt * max_paka) a při zvyšující naopak klesá (min. 1). Cílovou volatilitu jsem určil podle histogramu volatility, kdy jsem vzal prostě tu nejčastější. V kódu je příkaz "print(AnnVol)", který do Print Logu vypíše anualizovanou volatilitu pro každý den. Označil jsem, zkopíroval, vložil do excelu, hodil na to histogram a odečetl nejčastější výskyt. Pro každý trh je jiný, pro MES jsem nastavil na 0.08. Nastavení kódu - pokud nechcete vyloženě upravovat kód, tak pro jeho nastavení stačí měnit hodnoty v částech "NASTAVENÍ", "Array" a "Vykreslení Noise area a VWAP do grafu", kde se nastavují dny, pro které se má vykreslit Noise Area a VWAP. V NASTAVENÍ lze separátně nastavit, na close jakého timeframe se má vstupovat a vystupovat (5 / 10 / 15 / 30) a taky lze omezit max počet obchodů long, short i celkově. Nastavení grafu pro backtest musí obsahovat dvě datové řady Nastavení první řady Nasatvení druhé datové řady Výsledná Equity na MES za posledních 5 let (bez provizí a skluzů) potom vypadá takto Mít to včera nasazené, tak bych se pěkně napakoval, včerejší obchod na MNQ byl ještě brutálnější než na MES 🤦‍♂️. Budu rád za jekékoli připomínky. Doufám, že ten koncept nastavení position sizingu, včetně určování cílové volatility, je v pořádku. Kód vypadá jak vypadá, protože je prostě od neprogramátora.     IMSFI Financnik 10.4.2025.txt
    • Dobrý den, to vypadá jako by jste mezitím nainstaloval nějakou novou knihovnu Functions. Generátor pak místo importu pomocných skriptů z podsložky functions načítá stejnojmennou knihovnu. B.
    • Zdravím. Při spuštění generatoru mi to vyhazuje chybu viz níže. Ještě v úterý osmého bylo vše v pořádku. Pak jsem při nastavování musel udělat špatný krok a nevím kde.  Jaromír C:\X_signaltrader>generator.py Traceback (most recent call last):   File "C:\X_signaltrader\generator.py", line 39, in <module>     from functions.logger import Systemlog   File "C:\Python\Python_3_12_9\Lib\site-packages\functions.py", line 68     nodes = tuple(map(lambda (k, v): process_node(inner, k, v),                              ^^^^^^ SyntaxError: Lambda expression parameters cannot be parenthesized
    • Uvažujete správně. Potřebujete software + data. S tím, že tato kombinace může mít řadu podob a může být bezplatná i placená. Záleží jakou kvalitu a komfort práce potřebujete. Jednodušší situace je u dat. Hodně obchodníků začíná s bezplatnými daty z yahoo. Ty jsou relativně ok, ale nejsou zde delistované akcie a historické konstituenty. Data se dají poměrně snadno zdarma stahovat, občas jsou v nich nějaké nepřesnosti, ale pro pomalejší strategie jsou ok. Kdo to myslí s tradingem vážně, měl by podle mě sáhnout pro Norgate Datech. Pro delistované akcie a historické konstituenty je nutné Platinum předplatné. Při roční platbě vychází US akcie na 52,5 dolarů a je to skutečně super služba. Pro akcie reálně podle mě není lepší řešení. Software existuje neomezeně. Pokud budete využívat Norgate Data, vybíral bych takový nástroj, který s těmito daty nativně pracuje. Viz https://norgatedata.com/accessibility.php. Osobně dnes asi nejvíce využívám Python + Norgate data, ovšem to rozhodně vyžaduje určitou znalost Pythonu. Ambiroker + Norgate data je určitě snazší řešení a za pár dnů budete mít otestované první systémy. Ale i pokud sáhnete po některém z dalších software, tak dosáhnete cíle - sám kombinuji nakonec různé software pro různé úkoly. Někde je snazší naskriptovat jednoduchou strategii, jinde se lépe pracuje s portfolii atd.. S Norgate daty umí pracovat i Excel skrz XLQ2 - https://norgatedata.com/accessibility.php#xlq2
    • Dekuji za rychlou odpoved. Jak uz jsem zde na foru nekolikrat cetli, hlavni je zacit obchodovat a zkusenosti postupne prijdou. A to bych take chtel udelat. A jestli to spravne chapu, at uz se rozhodnu pro jakoukoliv s pomalejsich strategii (vhodne pro zacatek) je treba ji otestovat na historickych datech. K tomu tedy jsou potreba adekvatni nastroje (jako treba Excel, Python nebo Amibroker) a zakoupit si adekvatni data (minimalne na dobu backtestu). Spravne? Me uvahy se vztahuji na ty jednodussi strategie, ktere mame ve cvicnem portfoliu a s kterymi lze zacit jako  NDX SMO nebo MONDAY BUYER. Historicka data bude tedy  treba k backtestovani zakoupit tak jako tak? At uz budou pouzita ruznymi nastroji. Take se testuje delsi obdobi do historie a jak jsem se dival, ne kazda firma nabizi data tak daleko dozadu. Kdyz uvazuji jak dal po prakticke casti, nektere souvislosti me nenapadly a potrebuji si je potvrdit jestli to spravne chapu. Kazdopadne dekuji za odpovedi. Ales
    • Je potřeba použít zdroj dat, které obsahuje konstituenty a delistované akcie. Jeden z nejdostupnějších, které také používám jsou Norgate data - https://norgatedata.com/.  Ad vliv na výsledky. Hodně záleží na typu strategie. Pokud budete testovat strategie obchodující momentum s delší dobou držení - například typu NDX SMO, tak to bude mít poměrně vysoký dopad. Jde o to, že index sám o sobě je defacto momentum strategie. V dnešním indexu, například Nasdaq 100, jsou společnosti, kterým se v minulém období dařilo (pokud ne, tak se do indexu nedostaly, nebo z něj vypadly). Pokud byste tak historicky nakoupil jakoukoliv akcii, která je dnes v indexu a držel, tak byste pravděpodobně vydělával. Potíž je ale s v tom, že před lety vypadal index úplně jinak a nikdo nevěděl, jak bude index vypadat dnes. Proto bychom při testování měli respektovat historické složení indexu ke dni otevírání obchodu.
    • Dobry den. V některých článcích zde na internetu zmiňujete důležitost historického složení indexu - Tedy backtestovat pro dané období ty firmy, které v té době v indexu byly.  Zmínka třeba tady: https://www.financnik.cz/clanky/praxe/vytvoreni-momemtum-portfolio-systemu-obchodujiciho-akcie-r1774/ Pokud chci zkusit backestovat třeba právě rotační strategii na nasdaqu nebo jiném indexu. Jak bych se mohl nejlépe dostat k složení indexu v historii? Napadla by mě otázka, jestli to má velký vliv na výsledky. A když o tom přemýšlím, řekl bych, že čím dál do historii se testuje, tím větší vliv to bude mít. Dva roky zpět asi nebudou tak velké změny jako testovat deset let zpátky. Diky předem. Ales
    • Nějak nechápu proč. Ale asi to bude souviset s restartem kapitálu na paper účtu. Zkusím restartovat data a uvidím jak zítra.
    • Nestahují se vám z TWS pro daný symbol vůbec žádná data - proto to hází tu chybu (tu samotnou chybouvou hlášku to bude chtít určitě lépe ošetřit).
    • Zdravím, tak jsem si dnes říkal, že už mám vše odladěné a začne mi skript běžet a pro změnu se mi objevila chyba viz. níže. Něco asi timezone. Pro jistotu jsem použil původní nastavení, které je zde. Ale stejný problém. Díky za pomoc. T.  
    • Připojení už jsem vyřešil. Je to v settings " Allow connections from localhost only. Příkazy by mohly být jak radíte, zkusím......děkuji.
    • V TWS bych čekal že to bude otázka nějakého tohoto nastavení. To máte stejné?
    • Dobrá otázka. Na kterou ale není snadná odpověď. Hrozně záleží co a jak obchodujete, jaké máte zkušenosti. Pokud máte menší zkušenosti a obchodujete s přiměřenými váhami malý kapitál, tak bych nic neměnil. Některé strategie (Monday Buyer, MR3000L atd) pravděpodobně budou mít drawdown, ale to v tradingu není nic, co bychom nečekali. To že si drawdowdem projdete, vás pak posílí do dalších let a ukáže vám, jaký typ strategií je vám příjemnější atd.  Pokud cítíte, že máte váhy přepálené, tak bych pravděpodobně stáhnul váhy long mean reversion - minimálně do doby, než se v trzích uklidní volatilita a věci si trochu sednou. Ale upřímně vnímám, že diskréční zásahy do portfolií u méně zkušených obchodníků mohou vytvořit více škody než užitku. Můžete trochu ušetřit, ale můžete současně zanést do hlavy nechtěné vzorce toho, že zasahovat do systémů je normální. A to v budoucnu spíše povede ke ztrátám. Osobně mám váhy pro long mean reversion stažené, ale z toho důvodu, že kapitál se mi automaticky začal alokovat do short swing breakout systémů, které jsem vyvinul po covidu. Ty zde zatím nesdílím, protože například minulý rok tyto systémy prakticky jen prodělávaly a už sem s nimi pomalu přestával mít trpělivost. Tak uvidíme, jak zafungují nyní. Nicméně právě to, že jsem je do portfolia nasadil bylo výsledkem zkušenosti s MR3000L v covidu, kdy jsem žádné váhy neměnil (a taky situaci nakonec přežil ok).
    • Hm, děkuji. Nemá někdo stejný problém s potvrzováním jak připojení, tak odeslání příkazů?
    • Zdravím Petře, budete nějak upravovat své obchodování vzhledem k tomu, co se nyní děje na trzích? Nebo obchodování necháváte běžet pořád stejně?  Nevím, jak k obchodování v této situaci přistupovat, jelikož jsem to nezažil. Mají se strategie dále obchodovat tak, jak jsme si je na základě testu nastavili, nebo by zde měli nastat nějaké úpravy? např. úprava jednotlivých vah strategie. Děkuji
    • Ad otevírací cena - praxe ukazuje, že je lepší skript spouštět například v 15:31:15. Mám pocit, že TWS bývá v první minutě nějak přehlcená a ne vždy vrátí to, na co se jí ptáme. Spouštím po těch 15:31 a zcela bez problémů. Ad ta potvrzení - určitě je to nějaká otázka toho, jak si můžete nastavit TWS. Já spouštím zcela automaticky a nic potvrzovat nemusím.
    • Dobrý den, u mně verze 0.0.62 funguje dobře, ale musím používat vlastní výpočet benchmarku. portfolio.index = pd.to_datetime(portfolio.index) portfolio = portfolio.sort_index() benchmark_price = yf.download('^GSPC', start=portfolio.index.min(), end=portfolio.index.max())['Close'] benchmark_returns = benchmark_price.pct_change().dropna() benchmark_returns = benchmark_returns.reindex(portfolio.index).fillna(0) pak u řádku reportu nahradím benchmark uvedený titulem na obsah načtený z proměnné benchmark_returns. qs.reports.metrics(portfolio["Total_chg"], benchmark=benchmark_returns) B.
    • Zdravím, mám nějaké menší problémy: 1) 15:31 se mi nenačte otevírací cena, tím pádem se ukončí script. Někdy se mi podaří 15:32 - 15:35.Potom Ok. 2) U simu se mi příkazy vyplní bez potvrzení, ale u live musím odeslat "Transmit". ( asi je potřeba někde zrušit v TWS. 3) Musím potvrzovat propojení "connect" a to dvakrát. Chtěl bych spouštět dávkou a nevím jak na to.
    • Diky za reakci I ja k tomu nakonec pristoupim stejne.  Tzn. kazdy report je samostatny a dividendy jsou za me jeden report (od noveho uctu) pro oba ucty Hezky vikend
    • Aktualizovaná výkonnost strategií dashboardu k 5.4.2025: V akciových trzích vládnou opravdu silné výprodeje díky ohlášeným Trumpovým clům. Od minulého týdne už se toho u mě ale na systematickém účtu tolik nedělo. SMO NDX je bez pozic, v intradenním breakoutu jsem měl jen několik obchodů (zlato a bitcoin) a ve swingových strategiích příliš živo nebylo (až na pátek, kdy se mi otevřely nové pozice). Byť mám za sebou v prvním čtvrtletní na účtu desítky, ne-li stovky obchodů (nepočítal jsem), jsem na svém účtu u IB prakticky "na nule". Což z pohledu toho, co předvádí trhy jako celek je vlastně docela dobrý průběžný výsledek: Equity mého obchodování intradenního breakoutu u IB (jde o součást výše uvedeného screenu z IB): Takto vypadají mé denní zisky/ztráty (vztaženo ke kapitálu 100K dolarů): V dubnu jsem zatím se strategií neměl mnoho ziskových dnů, tak věřím, že brzy přijde opět plodnější období. Dlouho jsem neměl například signál na QQQ/SPY a tudíž se mi neobchodovaly ani opce. Jejich živá equity vs SPX ovšem vypadá nyní docela působivě: Zelená křivka stav opčního účtu, modrá index S&P 500. Pro zajímavost - takto vypadá letošního backtestová výkonnost trhu QQQ skrz základní podobu vyvíjeného momentum intradenního systému: Zisk cca 7,5% - je patrné, že tento přístup může solidně diverzifikovat stávající breakout.
×
×
  • Vytvořit...