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

Diskuze

  1. 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,2k
      7,2k příspěvků
    2. Trading Room

      Diskuzní skupina v rámci Trading Roomu.

      326
      326 příspěvků
      • petr
    3. 420
      420 příspěvků
    4. 3,4k
      3,4k příspěvků
    5. TSG podpora - Interactive Brokers a TradeStation

      Uzavřená skupina podpory klientů brokera TradeStation Global, kteří si otevřeli účet s podporou serveru Finančník.cz.

      187
      187 příspěvků
    6. 4,2k
      4,2k příspěvků
    7. Základy práce s programem Amibroker

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

      185
      185 příspěvků
      • petr
    8. 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ů
  2. Archiv původních anonymních diskuzích

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

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

    • Dobry den tak je to tak jak uvadite. Vsechny ostatni strategie funguji. Toto mi dela MOB 😞 Mate nejaky napad jak postupovat dale? diky moc
    • Zdravím Petře, uvědomil jsem si, že vystupujte asi na LOC, takže se vám ty příkazy nezrušily, protože jste je neměl zadané. Nicméně, jak si mám vysvětlit to rušení příkazů ze strany IB? Pavel
    • Zdravím Petře dnes se mi stalo to, že mi ráno proběhl Autotrader a poslal mi do TWS příkazy na uzavření pozic v Mean reversion short u několika akcií. U 2 z nich: COIN a ROKU, však TWS zrušilo příkazy. Příkazy byly zadány cca v 6,30 našeho času a v 10,00 je TWS zrušilo. Když se dívám do Audit trailu, tak je u nich uvedeno: Contract is closed for trading. Všiml jsem si, že u stejných akcií jste měl výstup v rámci strategie MR3000 v Trading roomu. Provedly se Vám výstupy nebo Vám příkazy taky TWS zrušilo? Já jsem měl použity příkazy typu MKT při OPG. Vedle těchto 2 příkazů mi TWS zrušilo i další dva příkazy do shortu u strategie Fast short. Když se dívám na ty 2 akcie v TWS nyní, tak jsou shortovatelné, tak nevím, proč byly příkazy zrušeny. Opět to byly příkazy MKT na OPG. Je problém v těch typech příkazů nebo je to něčím jiným? Díky za vysvětlení, Pavel  
    • V SMR USA Short jsou zobrazeny jen vstupní signály. Vidím tam: Tato strategie navíc nemá výstupní signály vůbec v dashboardu zobrazovány, protože ideálně je pozice ukončovat na konci dne. Viz popis: Výstupní pravidla jsou popsány v detailu strategie: https://www.financnik.cz/tradingroom1/app/smr-usa-short/ (dnešní Close je menší než předchozí denní Close). Výstupy je tak ideální řešit právě pomocí LOC příkazu. Pro první den se zadají automaticky se vstupními příkazy, další den je třeba je k otevřeným pozicím přidat ručně. Toto nejde zautomatizovat bez pokročilejšího autotraderu, proto dashboard s jistotou neví, jaké konkrétní pozice jsou otevřeny. 
    • Dobrý den Petře, v dashboardu jsou uvedeny dnešní vstupní a výstupní signály SMR USA Short typu LMT, což vnímám jako vstupní, protože v kurzu jsem se učil, že výstupní signály jsou typu LOC. Prosím o vysvětlení. Děkuji Miloš
    • Zdravím, také jsem si říkal, že v kódech bez CBT budu používat ExRem. Když tedy mám v kódu CBT v režimu backtestRegular, tak je zbytečné používat ještě ExRem? Testuji jednu strategii, mám v ní CBT zahrnut, protože přes něj řeším omezování pozic, metriky, kompozitní ticker,... Výsledky jsou ale rozdílné, pokud použiji či nepoužiji ještě ExRem. Pokud použiji, tak mám menší počet obchodů a horší výsledky. Když nepoužiji ExRem, tak jsou výsledky lepší, větší počet obchodů (ne moc, ale o 1-2%), je větší průměrný obchod, zhodnocení výrazně lepší, nižší DD, vyšší sharpe ratio. Celkově tedy lepší výsledek bez použití ExRem. Hledal jsem nějaké chyby, ale když si kontroluji backtest bez ExRem, tak je dodržen počet maximálně otevřených obchodů, výstupy jsou na správné ceně a vypadá to, že je vše v pořádku. Když např. provedu test za dlouhé období 1995-2023, tak s ExRem mám 8105 obchodů a bez ExRem mám 8188 obchodů. To není velký rozdíl, který nenasvědčuje nějaké chybě. Mám ale obavu, že jsem ještě něco přehlédl, protože ty výsledky bez ExRem jsou o dost lepší. Pokud by tam měla být ještě nějaká chyba, můžete mě nasměrovat, co si mám zkontrolovat? Takže: pokud mám v kódu CBT je potřeba pro vyřazování signálů ještě použít ExRem nebo to není třeba? Používáte s backtestRegular ještě ExRem? Díky, Pavel    
    • Ano v trade history vidíte realizované obchody. Některé řádky jsou vstupy, některé výstupy (ty mají hodnotu PNL) V Pending jsou čekající příkazy - tj ještě nezrealizované. Portfolio - nevím přesně co máte na mysli. Já žádnou záložku Portfolio nemám. V "Mosaic" pohledu Portfolio je a pokud myslíte to, tak tam jsou patrně zobrazené otevřené pozice na účtu (sám Mosaic nepoužívám). Já se na přehled pozic na účtu dívám skrz "Account" - tlačítko v záhlaví TWS. Stav účtu je potřeba průběžně kontrolovat (ideálně každý den). Může totiž nastat situace, že se např. exekuuje limitní příkaz za nějakou velmi dobrou cenu, ale systematické modely nepředpokládají, že k exekuci došlo a nepovažují pozici za otevřenou (a pak k ní negenerují výstupy). Je tak potřeba průběžně sledovat, že máme na účtu otevřené ty pozice, o kterých víme, že je chceme mít otevřené. A pokud je otevřené "něco navíc" tak to hned řešit.
    • Dobrý den, záleží v jaké úrovni backtester pracuje, funkci ExRem používám k vyřazení signálů v kódech bez CBT. ExRem totiž přetřídí signály v první fázi a tedy do druhé fáze backtestu pustí jen vstup a výstup dané pozice, kdežto backtestRegular pracuje se všemi signály a omezuje je až na úrovni druhé fáze backtestu.  B.
    • Zdravím, testuji strategii a řeším vyřazování signálů. Jsou 2 možnosti, kterými se vyřazování signálů řídí: buď pomocí funkce ExRem nebo také nastavením módu backtestu. Není mi úplně jasný vztah těchto dvou cest a jak je vzájemně používat. Funkce ExRem vyřazuje přebytečné signály. Režim backtestRegular také vyřazuje přebytečné signály. Režim backtestRegularRaw přebytečné signály nevyřazuje. Jaký je rozdíl mezi chováním backtestRegular a použitím ExRem? Když použiji jen backtestRegular bez ExRem, tak to vyřazuje jiné signály a jinak než funkce ExRem. Proč? A je nutné pro vyřazování signálů použit oboje současně? Děkuji, Pavel
    • Dobrý večer, prosím potvrzení, nebo vysvětlení k TWS: 1. V "Trade history" se zobrazují:  Otevřené obchody, tj. objednávka vstoupila do trhu, ale není uzavřena. Potom ve sloupci "Realized P&T" není uvedena hodnota  Uzavřené obchody, a potom v "Realized P&L" je uvedena hodnota P, nebo L 2. V "Pending" jsou objednávky, které nesplňují podmínku vstupu do trhu. Po uplynutí platnosti (např. DAY) je objednávka odstraněna. 3. Jak se plní "Portfolio" ? Které objednávky se tu zaznamenávají ? Děkuji, Gubi P. 
    • Dobrý den, skript v původním nastavení je určen pro vložení do složky autotraderu, výsledné csv soubory pak ukládá přímo do podsložky "data" odkud si následně autotrader načítá signály. Jinak ale můžete skript uložit kamkoliv, jen je třeba aby dané umístění obsahovalo podsložku "data", nebo si nastavíte vlastní cestu v řádku filename = 'data/' + s + '.csv' B. 
    • Zdravím, chtělo by zjistit zda se jedná o globální chybu nebo problém s jednou strategií. Jednoznačně předchozí chyba byla způsobená chybějícím klíčem v nastavení strategie. Tedy nyní bych zkusil vypnout zpracování dalších strategií po TMR a pokud vše proběhne správně pak postupně přidávat další strategie abychom zúžili prostor pro hledání příčiny. B. 
    • Ty super výsledky dělá Position score - dívá se dopředu. Je potřeba zapojit Ref( ,-1). Taky bych nedával Ref() k Emax, ale raději bych tuto funkci zapojil u položky kontext na řádku 37.
    • Dobrý den,  obracím se na zkušenější kolegy s následujícím dotazem. Při studiu kurzu první strategie se samozřejmě snažím procvičovat nové znalosti a tak mě napadlo, že zkusím kód, který nakupuje akcii SPY v pondělí na close a ve středu ji prodává na open přepsat tak, aby se akcie nakupovala ve čtvrtek při open a prodávala v pátek na close. Ani jsem neočekával zvláštní výsledky, jen jsem chtěl zkusit úpravu kódu. Zkusil jsem potom přepsaný kód backtestovat na indexu S&P 100. Výsledek by totální ztráta. Potom jsem jen tak ze zvědavosti zkusil změnit parametr PositionScore tak, aby systém vybíral nejvyšší RSI. Chtěl jsem jen vidět, jakým způsobem to ovlivní výsledky. A byl jsem velmi překvapen, že touto jedinou změnou vyšel backtest velmi ziskový s pěknou equity křivkou. Začal jsem tedy experimentovat i s dalšími indexy a výsledky jsou velmi podobné. Ještě jsem změnil počet otevíraných pozic na 20 s přiřazováním 5% kapitálu. Při backtestech jsem však v settings nastavil, aby systém obchodoval s maximální velikostí pozice 2.000 USD.   Parametr MA jsem ponechal na 34, předpokládal jsem však, že je nutné, aby se počítal z close předchozí svíčky, což jsem se pokusil provést  odkazem Ref v definování proměnných. Nevím, jestli je v pořádku, zda to nemá být zapsané v definování nákupních a prodejních podmínek. Také nevím, zda je nutné nastavit SetTradeDelay, když vstupní signály by měly být počítány ze středeční svíčky a vstupuje se ve čtvrtek.  Backtesty jsem dělal za celé období dat, tedy od roku 1990, protože jsem nepředpokládal, že by systém byl přeoptimalizovaný, když jediným indikátorem je MA 34 a RSI je používáno pouze pro filtraci vstupních signálů. Zkusil jsem i nastavit obchodování 30 otevřených pozic a i v tomto případě byl systém velmi ziskový. Chtěl bych se tady poradit se zkušenějšími, protože pořád nemůžu uvěřit tomu, že by tak jednoduchý systém nakoupit ve čtvrtek na open a prodat v pátek na close byl tak úspěšný. Nevím, jestli mám tedy nějakou chybu v kódu nebo něco přehlížím. Zkusil jsem kontrolovat mnoho uskutečněných obchodů na grafu, ale vždy odpovídaly backtestu. V jednom případě jsem našel signál, kdy bylo close středeční svíčky těsně pod MA 34, ale obchod byl přesto otevřen. Proto nevím, zda mám odkaz Ref správně. Sken tohoto vstupu přikládám. Dávám sem kód v té podobě, jaký byl použit při backtestech a grafy několika indexů, na kterých byl backtest proveden. Jak jsem již psal, maximální velikost pozice byla 2.000 USD. K indexu S&P 100 přikládám i statistiku, která byla ve všech backtestech podobná, stejně jako Sharpe ratio. Prosím, zda se zkušenější na tento systém mohou podívat, případně mi poradit, kde mám chybu. Přikládám skeny equity křivek z několika indexů. Také prosím o vyjádření, zda skener by v případě aplikování systému generoval ve středu po skončení obchodní seance obchodní signály, když nemám nastavené SetTradeDelays, případně jak kód upravit, aby skutečně počítal vstupní parametry ze středeční svíčky. Děkuji předem za reakce. Radek
    • Zdravím. Potřebuji vědět kam mám umístit soubor tr_signaly, do jakého adresáře. Jakým způsobem nasměrovat vygenerované csv soubory do adresáře. Haskey jsem umístil viz příloha. Jaromír from ib_insync import * import pandas as pd from datetime import datetime import ssl import os hashkey = "--- 17......................................................................................bf ---" ssl._create_default_https_context = ssl._create_unverified_context url_SMR_USA_Long = 'https://https://tradingroom-test.financnik.cz/system/42/download/SMR_USA_Long/csv/' + hashkey  url_SMR_Short = 'https://tradingroom-test.financnik.cz/download/SMRUSA_S/csv/' + hashkey url_SMR_CA_Long = 'https://tradingroom-test.financnik.cz/download/SMRCA_L/csv/' + hashkey url_MOB = 'https://tradingroom-test.financnik.cz/download/MondayBuyer/csv/' + hashkey strategies = {'SMR_Long': url_SMR_USA_Long, 'SMR_Short': url_SMR_Short, 'SMRCA_long':url_SMR_CA_Long, 'MOB':url_MOB} for s in strategies:     try:         filename = 'data/' + s + '.csv'         if os.path.exists(filename):             os.remove(filename)         sig = pd.DataFrame()         sig = pd.read_csv(strategies[s])         # u systemu MOB vybereme pouze vstupni signaly         if s == 'MOB':             sig = sig[sig.Info != 'Close']         if not sig.empty:             # odstranime oznaceni .ca z kanadskych tickeru             if s == 'SMRCA_long':                 sig['Trh'] = sig['Trh'].replace({'.ca':''}, regex=True)                              # zrusime prebytecne sloupce             sig.drop(['Datum', '% portfolia'], axis=1, inplace=True)                          # prejmenujeme sloupce             sig.rename(columns={"Trh": "Ticker", "Množství": "Shares", "Vstupní cena": "Price", "Cena PT": "ProfitTarget", "Cena SL": "StopLoss"}, inplace=True)             # obsah dataframe vypiseme na obrazovku             print(sig)             # hodnoty SL a PT upravime na 0 pokud neni hodnota definovana z TradingRoom             if s != 'MOB':                       for index, row in sig.iterrows():                     if pd.isna(sig['Připojit PT'][index]):                         sig['ProfitTarget'] = 0                     if pd.isna(sig['Připojit SL'][index]):                         sig['StopLoss'] = 0             # ulozime obsah tabulky do csv                sig.to_csv(filename, index=False)                      else:             print("System " + s + " dnes bez signalu")              except Exception as e:         print(e)         print("Chyba stazeni dat systemu " + s) 
    • Ano, mam tam jeste dve "povolene" strategie MOB a MRS2. U MRS2 tento klic je a presto mi to .csv nenacte u MOB nebyl a po doplneni nastalo nasledujici"
    • Dobrý den Předpokládám, že se můj problém musel už někde řešit, ale nemůžu nic najít. Na paper účtu mám spuštěnou strategii FastShort, která vstupuje do obchodu příkazem MarketOnOpen. Příkazy do TWS posílám v 15:00 před otevřením trhů. Po zadání prvního příkazu se ale autotrader zastaví a zřejmě čeká na odpověď z TWS, kterou nedostane. V TWS příkaz vidím, že je zadaný a aktivní. Řeším to tak, že v TWS kliknu u příkazu na Cancel, příkaz se tím zruší a v tu chvíli autotrader poskočí na další. Tam se zase zastaví, takže opět Cancel, a tak to opakuju až do posledního MOO příkazu. Pak v TWS příkazy zadám znovu ručně. Tohle je moje konfigurace strategie pro autotrader (verze 1.7): #strategie FAST SHORT fas = { 'Enabled' : True,         'Name' : 'FAS',         'Action' : 'SELL',         'OrderType' : 'MKT',         'InputFile' : 'data/FAS.csv',         'MaxOpenTrades' : 5,         'MaxDayTrades' : 15,         'MarketValue' : 1,         'Margin' : False,         'StopLoss' : 0,         'ProfitTarget' : 0,         'ExitStrategy' : 3,         'Period' : 'D',         'ContractType' : 'STK',         'Currency' : 'USD',         'ExitClose' : False } Nasměrujete mě, jestli se tohle někde řešilo? A mimochodem, víte někdo, co znamená zkratka OPG (Time In Force u MOO/LOO příkazů v TWS)? Díky
    • Nevím, kde se stala chyba, bohužel je situace nezměněná.  Kód chyby 2F173/H, 1F176/3 GUBI P.    
    • Pěkně jsem to pomotal. Děkuji Petře. Tím se mi vše vysvětlilo.
×
×
  • Vytvořit...