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

    1. 15
      15 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.

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

      Diskuzní skupina v rámci Trading Roomu.

      554
      554 příspěvků
    3. 422
      422 příspěvků
    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 239
    Celkem uživatelů
    467
    Nejvíce online
    RobinF
    Nejnovější uživatel
    RobinF
    Registrace
  • Všechny poslední příspěvky

    • Dobrý den, pro filtrování záznamů je třeba nejdříve uložit obsah tabulky do proměnné denik = diary.getDiary() denik[denik.strategy == 'IMR'] Uvedený zápis umožňuje výběr dat pouze jednoho systému. B.
    • ano, mel jsem na mysli PDT. Super, jestli je to jak pisete. Zkousel jsem to nejak dohledat na IB strankach, ale je to tam matouci. Dekuji za odpoved, Petre.
    • To netuším, ale moc se mi to nezdá. Opce lze obchodovat s malým kapitálem, netuším proč by byl vyžadován účet 25000. Pokud myslíte kvůli "pattern daytrader" - omezení daytradovat akcie, tak ten se na rezidenty EU už delší dobu nevztahuje.
    • Dobry den, otazka na Petra nebo jine zkusenejsi kolegy. Predpokladam, ze pokud bych chtel vyhledove obchodovat ODTE opce, tak u interactive brokers budu muset prepnout na cash type ucet (pokud nebudu mit 25000 USD). Je muj predpoklad spravny? dekuji. Pavel
    • S jsou Soybeans - také trh používaný často pro breakouty. Celý balík dat jsem aktualizoval a doplnil jak ETF, tak NQ. P
    • Zdravím, funkce vrací obchody za daný den. Pro uvedený nebyl v databázi nalezen žádný obchod, tedy zkuste si změnit datum.  B.
    • Petře, prosím, v tomto příspěvku jste dával k dispozici ke stažení 5 minutová data různých futures pro testování edge Mezi nimi je soubor @S-5min-UTC.csv - o jaký trh se prosím jedná? A neměl byste prosím i 5 minutová data na e-mini NASDAQ 100? Ta jsem tam bohužel nenašel. Děkuji.
    • IZM měla FEERATE 9.4. na hodně 113,.9. Osobně shortuji tuším do 15, ale práh jsem nastavil pocitově. Přikládám hodnoty FEERATE pro 9.4. z IB: ibFees20240409.csv Takto lze soubor stahovat od IB z jejich FTP. @illk ukládám si je sám, z IB podle mě stahovat nejdou.  
    • V této buňce jsou pak zahashovane jiné názvy než diary: diary.getDiary().tail()                                                               #  nacteni vsech zaznamu diary[diary.strategy == 'PS','PL']                                                      #  omezeni zaznamu na konkretni strategii # denik[denik.exitDate >= '2024-01-01'].tail()                                        #  zobrazi zaznamy od data # denik[(denik.exitDate >= '2024-01-01') & (denik.exitDate < '2024-01-29')]           #  zobrazit zaznamu v rozmezi od-do   a když chci pustit omezení na vybrané strategie, tak dostanu následující chybu: --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[19], line 2 1 diary.getDiary().tail() # nacteni vsech zaznamu ----> 2 diary[diary.strategy == 'PS','PL'] # omezeni zaznamu na konkretni strategii 3 # denik[denik.exitDate >= '2024-01-01'].tail() # zobrazi zaznamy od data 4 # denik[(denik.exitDate >= '2024-01-01') & (denik.exitDate < '2024-01-29')] # zobrazit zaznamu v rozmezi od-do AttributeError: 'Diary' object has no attribute 'strategy'
    • Jen dodávám info pro ostatní, fundoval jsem 50 $  a bylo to postačující. Nyní už jde aplikace stáhnout.
    • Dobrý den, děkuji za update Deníku. Při načtení celé databáze je to OK, ale když načtu fills a diary skrze "getFills('2024-01-01').tail()", tak dostanu chybu (v databázi mám za letošek desítky obchodů): NOTICE: SQL query >SELECT * FROM fills WHERE substr(datetime,1,10)="2024-01-01" ORDER BY datetime< returned no data --------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Cell In[6], line 2 1 # diary.getFills().tail() # nacteni vsech zaznamu ----> 2 diary.getFills('2024-01-01').tail() # nacte zaznamy od uvedeneho data (format datumu '2024-01-16') AttributeError: 'bool' object has no attribute 'tail'  
    • Hezlý den Petře, ještě otázka, dá se short fee backtestovat? Resp. jsou někde uloženy historické hodnoty?
    • Zdravím Petře, jakou hodnotu pro short fee používáte, do 1% nebo raději ještě méně? Nevíte, jaká hodnota short fee byla v IZM v den vstupu 9.4.? Díky, Pavel
    • Dobrý deň Petře,  vďaka za ďalšie super video. K samotnému testovaniu a práci na vylepšovaní systému som sa však ešte nedostal, lebo čakám kým mi dorazia peniaze na účet Tradestation. Momentálne totiž nie je možné platformu stiahnuť, kým na účte nie sú aspoň nejaké peniaze. Celý proces založenia účtu, kým si človek môže stiahnuť platformu, tak trvá trošku dlhšie. 
    • Dobrý den, připravili jsme novou verzi deníku, která zjednodušuje používání a zužuje způsob zobrazení všech grafů do jednoho pohledu. Soubory verze 1.5 jsou připravené ke stažení v úvodním příspěvku. B.
    • Dobrý den, publikovali jsme čtvrtou lekci minikurzu. B.
    • V intradenním obchodování čelíme coby obchodníci mnoha výzvám. Musíme najít edge, který přihraje pravděpodobnosti na naši stranu, současně ale musí být edge dostatečně výrazný, abychom pokryli náklady a ještě vydělali.  Jeden z klíčových parametrů, který u intradenních systémů zkoumám před jejich nasazením živě je hodnota průměrného obchodu. Například při obchodování e-mini S&P 500 chci určitě vidět hodnotu průměrného obchodu mezi 50 - 100 dolary na kontrakt. Často se stane, že nalezneme systém, který bez komisí vytváří krásné rostoucí equity křivky, ale průměrný obchod je příliš malý na to, aby se takový systém dal nasadit živě. To je příklad ukázkového kódu, na kterém jsem ukazoval práci s gapem: https://www.financnik.cz/forum/topic/5064-hledani-edge/?do=findComment&comment=319149 Systém v publikované podobě jednoznačně disponuje solidním edge, ale v dané podobě jej nelze díky příliš malému průměrnému obchodu reálně obchodovat. Z mé zkušenosti je potřeba v systému ještě přijít na nějaké drobné filtry, které pomohou průměrný obchod zvýšit. Dnešní kód představuje systém, který patří mezi několik systémů, se ktreými pracuji živě. A solidně ilustruje, jak jsem šel na zvýšení průměrného obchodu. Obchod pracuje s edge, kdy vyšší volatilitu v trhu můžeme podle testů očekávat v momentě, kdy v trhu volatilita roste. V níže uvedeném kódu jde o podmínku HL_MAD1>HL_MAD2 (průměrný rozkmit úsečky H-L za posledních 5 dnů je vyšší než průměrný rozkmit předchozí den). Tato podmínka sama o sobě vydělává, ale průměrný zisk je nízký. Při testování na akcii QQQ  (ETF na Nasdaq 100) a risku 300 dolarů na obchod vypadají při započítání komisí výsledky od roku 2010 následovně: Strategie vydělává long i short, oběma směry má solidní počet obchodů (564 a 617), ale průměrná velikost obchodu je na můj vkus příliš nízká. Testoval jsem tak edge dál a přišel na to, že volatilnější dny přicházejí v momentě, kdy jde trh proti předcházejícímu pohybu. Tj. shorty po rostoucím dni a nákupy po klesajících dnech (defacto tedy obchoduji mean reversion na denních grafech kombinovaný s intradenním breakoutem). S druhoutnou podmínku, kdy vyhledávám normalizovanou volatilitu ATR(5)/C alespoň 0.008 vypadají výsledky následovně: Equity křivka: Časování intradenního breakoutu do kontextu reverzu jednoznačně pomáhá zvyšovat hodnotu průměrného obchodu. Celý kód systému: Vars: BuyPrice(0), BuyStopPrice(0),YesterdaysATR(0),YesterdayClose(0),YesterdayOpen(0), HL(0),HL_MAD(0),HL_MAD1(0),HL_MAD2(0),ShortPrice(0),ShortStopPrice(0),tradeTakenToday(False),VolCond(True),ATRC(0); If Date <> Date[1] Then Begin tradeTakenToday = False; End; YesterdaysATR = AvgTrueRange( 5 ) of Data2; HL_MAD1 = Average((High-Low),5) of data2; HL_MAD2 = Average((High-Low),5)[1] of data2; YesterdayClose = Close of data2; YesterdayOpen = Open of data2; If Time = 0935 then begin BuyPrice = OpenD(0) + 0.5*YesterdaysATR; BuyStopPrice = BuyPrice - 0.4*YesterdaysATR; ShortPrice = OpenD(0) - 0.5*YesterdaysATR; ShortStopPrice = ShortPrice + 0.4*YesterdaysATR; If BuyPrice>0 then begin ATRC = YesterdaysATR / BuyPrice; end Else begin ATRC=0; end; VolCond = ATRC>0.008; end; If Time > 0940 and time<1530 and MarketPosition = 0 and YesterdayClose<YesterdayOpen and HL_MAD1>HL_MAD2 and not tradeTakenToday and VolCond and YesterdaysATR>0 then begin Buy ("LongOR") (300 / (0.4*YesterdaysATR)) shares next bar at BuyPrice stop; end; If MarketPosition = 1 then begin Sell ("ORL SL2") next bar at BuyStopPrice stop; tradeTakenToday = True; end; If Time > 0940 and time<1530 and MarketPosition = 0 and YesterdayClose>YesterdayOpen and HL_MAD1>HL_MAD2 and not tradeTakenToday and VolCond and YesterdaysATR>0 then begin Sellshort ("ShortOR")(300 / (0.4*YesterdaysATR)) shares next bar at ShortPrice stop; end; If MarketPosition = -1 then begin Buytocover ("ORS") next bar at ShortStopPrice stop; tradeTakenToday = True; end; SetExitOnClose; Podobnými úpravami jsem se dostal i k podobě mého živého intradenního systému, který vychází se sdílené šablony obchodující gap. Tím si myslím, že můžeme uzavřít kapitolu samotného skládání intradenních systémů. Máme konkrétní edge, na který se můžeme pokusit aplikovat obchodování opcí. To budeme provádět na dnes sdíleném systému. Pokud to s intradenním obchodování breakoutů myslíte vážně, je ale určitě dobré, abyste vyšli ze sdílených šablon a postupně testoval své vlastní myšlenky v podobném duchu, jako to dělám já.  
    • Aktualizovaná tabulka výkonnosti strategií dashboardu: Modelový MR3000 short v dashboardu odevzdal část svých zisků a to hlavně skrz short akcie IZM. Ve starém dashboardu, napojený na můj živý účet, bylo vidět, že tento short jsem sám na svém účtu neotevíral. Bylo to z důvodu příliš vysokého short fee. Pokud je hodnota vysoká, reflektuje to z mé zkušenosti nadstandardně vysoký risk a takové akcie neshortuji. Z mé zkušenosti je tak short fee (který je vidět v TWS) jedním z hodně dobrých filtrů, které se mi osvědčilo při shortování využívat. Osobně mám na účtu duben zatím stále solidně profitabilní, byť jsem část profitů poslední dny odevzdal. Obecně mi letos stále ztrácejí hlavně short strategie, což pokračovalo i v dubnu. Ze sdílených strategií mi lehce vydělal NDX SMO, MicroBreakout mám v dubnu cca na nule, ziskový je Finwin, MR3000 mám v dubnu v opravdu lehkém mínusu (vydělal MR3000L a velmi podobnou částku ztratil MR3000S).    
    • Petře, díky za vysvětlení, rozumím. Pavel
    • Zdravím, jen pro info: já mám verzi 3.16.2 a vše OK i na VPS. Jen si pamatuji, že každá novější verze TWS je trochu náročnější a tudíž pomalejší a než se stihne rozběhnout, tak se mi IBC ukončilo s tím, že TWS neběží. Takže jsem modifikoval nějaké timeouty v /IBC/config.ini, např. SecondFactorAuthenticationTimeout nebo LoginDialogDisplayTimeout. P.
×
×
  • Vytvořit...