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.
Dobrý den,
skript je třeba spouštět před otevřením trhů, v režimu offline (hodnota True). Režim online Signaltrader prozatím nepodporuje.
U MR3S výstup provádíme na základě splnění výstupní podmínky dvěma způsoby:
buď skript spouštíme pouze jednou denně před open, pak se v případě splnění výstupní podmínky na základě cen předchozího dne odešlou do trhu výstupy jako OPG příkazy. To se stalo v připojené ukázce, jenže z důvodu spuštění skriptu až 16:58 IB příkazy zahodil jako neplatné.
další možností je ukončit pozice MOC příkazem, to zajistíte druhým spuštěním skriptu nejlépe pět minut před zavřením trhů s parametrem CLOSE. V tomto případě se testují pouze výstupy a pokud bude splněná podmínka pro výstup, tak se odešlou MOC příkazy.
B.
tak to bohužel netuším jediné co mě napadlo, jestli máte strategi přidanou do portfolia ke sledování. Pokud jdu na její detail, tak jsem si také odkazu nevšiml. Případně zkusit dashboard v jiném prohlížeči. Já jsem to zkoušel v Chrome.
Dobrý den,
automatizovaný deník by měl fungovat s novou verzí autotraderu bez omezení. Bude třeba jen do služky Signaltraderu doplnit příslušné skripty pro provoz deníku.
B.
pak to bude patrně nějaká nekompatibilita ve verzi pythonu a pandas.
Já používám:
python 3.11.5
pandas==2.2.3
Pokud máte nějaké staré verze, zkuste vytvořit virtuální prostředí s novými verzemi knihoven. Důležitý je i novější Python.
ad TradeStation. Jdou tam také dělat nějak pole, ale upřímně si taky neumím představit, jak konkrétně dát kód dohromady. Ale zvládnutelné je všechno. Můj plán je nicméně začít s Pythonem, což mi přijde nejjednodušší. Mám představu, že bych zde nasdílel aktuální minutová data jak ETF, tak futures + python backtester, který s daty bude pracovat. Tak se budeme schopni do backtestování pustit společně. Až budeme mít přesnou představu o pravidlech systému, tak vyřešíme autotrading.
ad bezplatná data z Aplaca - jde o data z burzy IEX (https://www.iexexchange.io). Podrobně jsem to neporovnával, protože používám SIP data, což je standard agregující všechna ticková US ticková data. IEX data jsou jen z jedné burzy, kde jsou výrazně nižší objemy. Na vyšším timeframe (např. 30 minut) bych se to nebál použít, na nižších timeframe budou pravděpodobně rozdíly. Plus určitě nelze pracovat s volume.
ad další studie - super, mrknu na to.
Děkuji za rychlou reakci. Mě se ale tento csv odkaz nezobrazuje. Nevím zda nemám špatně něco nastavené. Vím, že dříve se mi tento odkaz ukazoval.
Jaromír
Dobrý den,
zkoušel jsem si nastavit výstup z trhu na MOC, při splnění podmínek z 12: exitstrategy.SMR_short.
Po spuštění skriptu se správně vyhodnotilo, jaké trhy splňují podmínku, ale v platformě tws k ničemu nedošlo.
2025-03-25 16:58:59: MR3S - Test vystupu ROOT (True) - close:170.69(IB), vcerejsi close:177.69, vstup:2025-03-24
2025-03-25 16:58:59: MR3S - Test vystupu PLTR (True) - close:95.86(IB), vcerejsi close:96.75, vstup:2025-03-24
2025-03-25 16:58:59: MR3S - Vystupni signaly: ['ROOT', 'PLTR']
2025-03-25 16:58:59: MR3S - Odeslán příkaz pro výstup z pozice ROOT
2025-03-25 16:58:59: MR3S - Odeslán příkaz pro výstup z pozice PLTR
2025-03-25 16:58:59: MR3S - Po prodejich otevrene 0 pozice: []
když jsem si zkoušel skript odkrokovat, zjistil jsem, že příkazy se mi vytvořily s těmito parametry:
2025-03-25 17:15:23: MR3S - Vytvořen příkaz: MKT, BUY, 20.0, OPG
2025-03-25 17:15:23: MR3S - Vytvořen příkaz: MKT, BUY, 40.0, OPG
Skript jsem pouště v době, kdy byl trh otevřen takže předpokládám, že z tohoto důvodu nemohl být příkaz vytvořen?
Mým cílem ale bylo, že se vytvoří MOC příkaz a prosil bych poradit, jestli nemám něco chybně nastavené v config souborech a jak provést kdyžtak úpravu:
Strategies:
MR3S = {'Enabled' : True,
'Name' : 'MR3S',
'Desc' : 'MR3000S',
'Action' : 'SELL',
'OrderType' : 'LMT',
'InputFile' : 'data/mr3000s.csv',
'InputFileExits' : False,
'MaxOpenTrades' : 10,
'MaxDayTrades' : 10,
'CapitalType' : '$',
'CapitalValue' : 40000,
'Margin' : False,
'StopLoss' : 0,
'ProfitTaker' : False,
'ProfitTargetValue' : 0,
'ProfitType' : 'MOC',
'ProfitTif' : 'DAY',
'ExitStrategy' : 12,
'Period' : 'D',
'SignalSource' : 'Tradingroom',
'ContractType' : 'STK',
'Currency' : 'USD',
'ExitClose' : True
}
Settings:
# rezim spusteni
mode = {
'offline' : True
}
edit: Když jsem si zkusil upravit mode offline: False. a spustil skript, výstup se provedl za ihned za MKT bez nastaveného MOC
2025-03-25 17:26:33: MR3S - Vytvořen příkaz: MKT, BUY, 20.0, DAY
2025-03-25 17:26:33: MR3S - Vytvořen příkaz: MKT, BUY, 40.0, DAY
Zdravím,
rozmýšlaľ som ako by som sa mohol dostať ku vlastným backtestom tejto stratégie. Ako prvé som sa to rozhodol vyskúšať v TS no bohužial som sa zasekol už na tom že v TS si neviem zobraziť a teda asi ani vypočítať noise area😑. Možno niekto to zvládne ale zatiaľ ja s chatGPT sme to nezvladli. Čiže druhá možnosť bol python. Ten som ešte neskúšal, takže som rád že sa to tu začína preberať.
Ku skriptu backtesteru by som sa opýtal či sa to dá urobiť aj s dátami z TS, štílom že si napriklad stiahneme 1 minútové alebo 5 minútove a potom daily data a tie použijeme v backtestere ? Keď nie tak ako veľmi nekvalitné sú tie free data od Alpaca ?
K dokumentu týkajúcemu sa stratégie, našiel som na X post od Concretum Research kde odpovedajú na otázky ktoré sa ich ľudia pýtali, možno nám to trochu pomôže si stratégiu lepšie predstaviť. Tu je link: https://x.com/ConcretumR/status/1791507148398096725 .
Do budúcna ako možnú inšpiraciu som našiel SSRN dokument zaoberajúci sa vylepšením tejto stratégie. Link:https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5095349
Prajem vám pekný deň.🙂
Dobrý den.
Signál MPL viz log se stáhnou z dashbordu, ale nikam se mi neuloží. CSV soubory by se měly ukládat do adresáře data, ale tam nejsou. Ještě přemýšlím jestli na to nemá vliv, že jsem si přejmenoval adresář na AUTO_signaltrader.
Jaromír
2025-03-25 11:04:11: GEN - Strategii Monday Buyer dnes neobchodujeme: perioda W1
2025-03-25 11:04:11: GEN - Strategii SMO NDX dnes neobchodujeme: perioda M2
2025-03-25 11:04:11: GEN - Strategie Mopull Limit s periodou D predana k dalsimu zpracovani.
2025-03-25 11:04:11: GEN - Dnes budou obchodovat strategie ['MPL']
2025-03-25 11:04:11: GEN - Filtr earnings signalu: ZAPNUTO
2025-03-25 11:04:11: GEN - Signaly pro strategii Mopull Limit stahujeme z dashboardu TechLab.
2025-03-25 11:04:17: SENDER - Na email jaromirk@k2p.cz uspesne odeslan log o prubehu skriptu.
2025-03-25 11:04:17: SENDER - Na email jaromirk@k2p.cz uspesne odeslan log o prubeh
Autoři studie zde: https://www.concretumgroup.com/backtesting-7-years-of-free-data-beat-the-market-an-effective-intraday-momentum-strategy-for-the-sp500-etf-spy/ publikovali python backtester, ze kterého můžeme ověřit rámcovou OOS funkcionalitu (za poslední cca rok, studie byla publikována v polovině 2024).
Python kód používá jako datový zdroj brokera Alpaca.
Sám jej také využívám a to kvůli dvěma důvodům:
1) Platím 9 dolarů měsíčně za realtime data ke všem akciím a opcím (plus několika letou historii tiskových dat). Toto využívá řada z vás na základě toho, že jsem to v TechLabu prezentoval před cca 3 roky jako službu, která se opravdu vyplatí. Bohužel dnes je již cena 99 dolarů měsíčně, což je nicméně vůči konkurenčním službám stále slušné. Ovšem pokud si zde uděláte paper trading, budete mít zdarma IEX data. Ta nejsou tak kvalitní, ale na základní testování stačí.
2) I z EU zde lze obchodovat trhy jako SPY, QQQ - prostě to neřeší.
Jelikož tedy používám stejný datový zdroj jako autoři kódu, stačilo jej trochu aktualizovat a zde jsou výsledky:
SPY s aplikovanými komisemi dle Interactive Brokers:
Total Return (%): 353.0
Annualized Return (%): 33.6
Annualized Volatility (%): 15.0
Sharpe Ratio: 2.03
Maximum Drawdown (%): 10.0
Je vidět, že strategie slušně zafungovala i v OOS (od poloviny roku 2024)
QQQ s aplikovanými komisemi dle Interactive Brokers:
Total Return (%): 309.0
Annualized Return (%): 31.0
Annualized Volatility (%): 13.8
Sharpe Ratio: 2.04
Maximum Drawdown (%): 8.0
Dělal jsem testy i na další trhy, ale tam už výsledky nebyly nic moc (IWM, DIA, GLD atd).
Našim cílem bude každopádně strategii pořádně prozkoumat, vytvořit si vlastní nuance a vše začít obchodovat s micro futures.
V tradingu musí vše vycházet z podrobných a dlouhodobých testů. Ty ukazují, že u mean reversion blízké stop-lossy nefungují - vesměs budete vystupovat těsně předtím, než se trh nakonec otočí.
V případě akciových mean reversion strategií vás stop-loss navíc neochrání před nočním gapem.
Obecně tak je lepší v mean reversion strategiích řídit risk skrz position sizing - riskovat na jednu pozici spíše menší kapitál.
Jakmile si začnete vytvářet strategie sám, tak samozřejmě můžete dělat různé kombinace - včetně zahrnutí stop-lossů a profit targetů. Sám například obchoduji pro lepší pocit short mean reversion se vzdáleným stop-lossem, byť v konečném důsledku mám výsledky horší, než kdybych ho nepoužíval.
Upozornění: Všechny informace poskytované na Financnik.cz jsou určeny výhradně ke studijním účelům témat týkajících se obchodování na burze a neslouží v žádném případě coby konkrétní investiční či obchodní doporučení. Provozovatel serveru ani jednotliví autoři nejsou registrovanými brokery či investičním poradcem ani makléřem. Jsou-li na stránkách zmiňovány konkrétní finanční produkty, komodity, akcie, forex či opce, vždy a pouze za účelem studia obchodování na burze. Vydavatel serveru není zodpovědný za konkrétní rozhodnutí jednotlivých uživatelů. Burzovní obchodování a investování s finančními instrumenty (a komoditami obzvláště) je vysoce rizikové. Rozhodnutí obchodovat komodity a akcie je odpovědností každého jednotlivce a jedině on sám nese za svá rozhodnutí plnou odpovědnost. Nikdy se nepouštějte do obchodů, jejichž podstatě plně nerozumíte. Pamatujte, že burza má svá pravidla, kterým je třeba porozumět, než začnu riskovat své vlastní peníze!