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

Diskuze k článku: Automatická stavba super-robustních systémů


Doporučené příspěvky

Zajímavý článek. Jen mě trošku přepadá skepse jako toho nejdrobnějšího tradera, který neumí programovat v potřebném programovacím jazyce a nemůže si dovolit poměrně drahý software na stavbu AOS.
Máme vůbec ještě šanci s obyčejnou technickou analýzou grafu, se zakreslováním SR zón a vstupy na patterny 2V, 0V a výstupy dle diskréčního rozhodování proti traderům, kteří v mžiku otestují své nové nápady? :)

Řekněte někdo "že máme šanci"....

Honza

Link to comment
Sdílet pomocí služby

petr

Petře dík za podporu. Není to tak, že bych úplně naříkal nad dnešním článkem.
Spíš je to tak, že mě by nejvíce vyhovoval právě mechanický přístup k tradingu. Svým způsobem se vlastně 3 roky "trápím" nad diskréčním přístupem, protože nejsem schopen si dát jasné podmínky na všechny proměnné, které mne před vstupem do obchodu a před výstupem zněho potkávají.
Toto se mi z velké části podařilo u jednoho patternu z Vašeho portfolia (0/100 Long), kde si držím solidní %Win. A vlastně by se dalo říct, že tento pattern obchoduji mechanicky. Když se mi toto konečně podařilo, tak se mi neuvěřitelně při tradingu ulevilo. Emoce jsou pryč. Mohu vstoupit do obchodu, zadat všechny potřebné příkazy a PC opustit. Nebolí ztráta, nebolí BE...
Ale ostatní patterny jsou pro mne průšvih. (při LIVE obchodování). Vždycky je něco, na co nemám jasnou odpověď. HOD, LOD moc blízko, malé momentum, nízká nebo vysoká svíce atd..
Proto si myslím, že by AOS asi byly dobrou volbou...ale vše chce určitě svůj čas.

Honza :)

Link to comment
Sdílet pomocí služby

Zdravim, mam otazku ktora dufam nebude mimo tema, ale myslim ze nie.
Pokial mam vlastny system s jasnymi pravidlami ale jedna sa skor o diskrecny system ako uplne mechanicky, mozem nejaky program naucit rozmyslat ako ja ked obchodujem? Mozem naprogramovat nejake AOS system ktory bude obchodovat presne podla mojich pravidiel podla ktorych obchodujem?
Tj napriklad da sa povedat programu adaptrade build ze ked sa stane to, cakam za tamtym, ked sa stane aj tamto, zacinam casovat vstup kde cakam na tamto a ked sa to stane tak vstupim do obchodu a dalej ho riadim podla rovnakych pravidiel, hento, tamto, ono a toto a potom vystup?
Tj da sa naucit program napriklad ten adaptrade build aby obchodoval ako ja, alebo to mozne vobecc nieje a preto je to jednoducho diskrecne obchodovanie ?

Dik

Link to comment
Sdílet pomocí služby

Stranger,

AdaptradeBuilder není program, do kterého se píšou podmínka - právě naopak, AB podmínky "vyrábí" a pak testuje, aby našel nějaké nové, které fungují. Obecně ale platí, že pokud máte jasná pravidla, která se dají napsat naprosto konkrétně, pak v principu vše je možné naprogramovat, například do programu typu MultiCharts, TS, atd.

Honzasek,

ono jde asi o toto: Kódy, které obchoduji, jsou nezřídka až trapně jednoduché. Takže není třeba mít tři vysoké, abychom takové podmínky dokázali zadat do počítače. Problém je, jak takové jednoduché, funkční podmínky najít. Jedna šance je sednout k počítači, vzít nějaký program, kde se dají nastavovat podmínky jednoduše, takže je to program pro "neprogramátory" - což je ale velmi zdlouhavé, protože musíte ručně zadávat podmínku po podmínce. Na to já bohužel nemám čas ani náladu, proto jsem přešel k náročným technologiím, které však umí postavit a otestovat za hodinu až 10.000 krát více systémů, než já zvládnu "ručně".
Ono vše má pro a proti, vše je otázka času, investic a očekávání. Můj kamarád, se kterým spolupracuji, používá pro ryze mechanické systémy jen NinjaTrader a Excel a staví s tím špičkové systémy. Takže možné je vše.

Link to comment
Sdílet pomocí služby

Díky za zajímavý článek. Osobně jsem trochu skeptický k programům jako je tento, i když musím uznat, že se mi líbí, z hlediska stráveného času a práce nad ním tedy fakt klobouk dolů, nápad je to skvělý a možnosti opravdu výjimečné. Rozhodl jsem se ho tedy trochu otestovat a takříkajíc "dát mu trochu do těla". Nechal jsem mu načíst kompletní ticková data pro EMDH12 a nyní mi to chroustá v procesu "build". je to cca 1.1 mil. ticků a zdá se, že by ho to mělo na nějakou dobu zaměstnat. Některé operace (načítání dat a jakési inicializace) zatíží všechna jádra procesorů na cca 35%, generování jednotlivých popuplací už pak jede na 100%.
Takže první výsledky - CPU i5-2500K taktovaný na 4.1 GHz, cca 7 minut a vidím už build report a tabulku s performance jednotlivých instancí v 1. generaci. Odezvy jsou pomalejší, protože běží další generace. Nechám to běžet do rána a pak se pustím do vlastního testování.

Link to comment
Sdílet pomocí služby

Tak jsem dostal nějaké doufám rozumné výsledky. Předem upozorňuji, že vše je děláno bez hlubší znalosti systému Adaptrade B., prakticky jsem jenom nahodil data, intuitivně jsem vyplnil příslušné hodnoty, většinu věcí nechal jinak implicitně a ať se to snaží. Výsledek nedopadl zrovna dobře a proto zřejmě nemá moc cenu výsledky komentovat. Adaptrade vykreslil výsledky a kód pro Tradestation. Ten jsem tedy převedl a strategii aplikoval na stejná data se stejnými parametry. Oba obrázky jsou přiloženy a jak je vidět, výsledky se liší a to výrazně. Prosím tedy Tomáše něbo někoho, zda by nemohl objasnit, kde by mohl být problém. Soudím, že by mohlo jít: 1. Zapomenutý/opomenutý/chybně určený parametr, např. bar type = tick a bar size = 60 předpokládám, že bude pracovat s tickovým grafem s intervalem 60 tick. To je první a hlavní možná příčina pokud to tak není. 2. Program si správně nenačetl moje ticková data, i když sloupce jsem určil správně. Data jsou v pořádku a ověřená. 3. V programu je nějaká systémová/programátorská chyba/bug. to by mělo jít lehce zjistit, pokud někdo další vygeneruje strategii a pokusí se jí replikovat v TS na stejných datech. 4. Něco dalšího, co mě teď takhle pozdě už nenapadá :-) Jinak po shlédnutí kódu, který builder generuje, bych chtěl všechny varovat alespoň ohledně jedné věci, kterou je mít na zřeteli - z principu je tento a podobné programy zaměřen na hledání jednoduchých kombinací lehce definovaných situací na trhu a těžko to bude něco, co je schopno se aktivně učit rozpoznávat "typické" situace, složitější patterny, hledat nějaký "edge" apod. Dá se říci, že se zkrátka scítá, odečítá, násobí, porovnává a dělí tak dlouho, dokud se nenajde nějaká kombinace, která "funguje". Nicméně osobně bych to nazval "extrémní curve fitting", což může být velmi nebezpečné. Sice si můžete určit OOS periody, které vám program také "projede" a otestuje, nicméně nezapomeňte být v každém případě nedůvěřiví a nechejte takto vygenerované strategie obchodovat nanečisto na ŽIVÝCH DATECH V REÁLU, tj. např. na SIM účtu nebo si nechte pouze generovat obchody v platformě na grafu/do tabulek apod. Aby se dala posoudit rubustnost takového systému, je třeba mít podle mého názoru min. 200 takových obchodů, abyste z toho vůbec mohli něco vyčíst. Na druhou stranu práce s programem a výstupy mohou pro vás být velmi užitečné, může vám pomoct s aplikováním position sizingu, naučit se trochu programovat v EL a zjišťovat, jak který paramert funguje, jaké existují závislosti mezi komponentami strategie apod.

20531

20532

Link to comment
Sdílet pomocí služby

Honza K.,

dovolím si doplnit, že v podstatě [bold] jakýkoliv [/bold] proces stavby strategie je v podstatě optimalizace. Pokud hledáme edge, zkoušíme různé přístupy na historických trzích a tím neděláme nic jiného, než že optimalizujeme. Dokonce i pokud bych vzal v potaz umělou inteligenci, která má za cíl napodobovat lidský mozek, tak je to opět jen optimalizace, protože lidský mozek pracuje kognitivně, tj. sám vyhledává určité "patterny" (navíc ke snaze replikovat lidský mozek jsem skeptický, protože i ten je plný "chyb" v podobě různých kognitivních iluzí). Takže defacto jakákoliv snaha tvořit strategii, bude vždy jen (pře)optimalizací. Je jen otázka, jak hodně vysoká ta přeoptimalizace byla, proto je nezbytné, jak zcela souhlasím, nejprve strategii nechat vždy papertradovat, ale k tomu ještě dříve projít širokým testování robustnosti. Vzorek obchodů bych raději preferoval nejméně 1000, dále bych nevynechal právě ověření na co největší škále trhů, WFA, stress-test parametrů, atd. Proto také testování robustnosti věnuji nejvíce času - a z tohoto pohledu je samozřejmě AB jen "jednoduchý" nástroj, kterým rozhodně vše pouze začíná, v žádném případě nekončí. I tak je ale úspora času neměřitelná.
Btw., pro zajímavost, zajímal by mě váš pohled na proces tvorby strategie a testován robustnosti, tj. co shledáváte vůči jednoduchému postupu AdaptradeBuilderu jako postup komplexnější / sofistikovanější, co považujete za spolehlivé testování robustnosti? Vím, že v tomto ohledu také máte mnoho zkušeností, takže vítám nové obzory a možnosti.. ;)


PetrPavel,

ano, mohu něco takového do budoucna připravit....

Link to comment
Sdílet pomocí služby

Ahoj, chtěl jsem se zeptat jak je to s diskréčním obchodováním.
Vím, jedna otázka tu byla podobná, ale není to přesně to co hledám.
Jendá se mi o to, že mám obchodní plán, ale je hodně založen na mechanickém typu obchodování. ( Určování swingů částěčně pomocí metody Larryho Williamse, prvky systému finwin atd). Chtěl jsem se zeptat, jak program konkrétně pracuje s možností testování OP na jiných trzích. Jestli bere časy, hodnoty vstupů, výstupů, SL a PT(upraveny podle konkrétního trhu) atd, a aplikuje vše na jiný námi zvolený trh, a nebo pracuje s přesně nadefinovanými pravidly OP, a ty aplikuje zcela odznova na nový trh. Moc díky za odpověď

Link to comment
Sdílet pomocí služby

Jak už jsem se pokusil vysvětlit, AdaptradeBuilder NENÍ program, do kterého zapisujete vlastní podmínky (OP) a ty pak testujete. Je to pravý opak - pokud nemáte žádný systém/OP, AdaptradeBuilder se snaží pomoci v hledání. Pro testování již hotových pravidel a OP je tu MultiCharts, TradeStation, NinjaTrader, atd. Je třeba podmínky nadefinovat a zadat do příslušného programovacího jazyku.

Link to comment
Sdílet pomocí služby

Tomáši - nejsem typ, který by se nějak zvlášť zamýšlel nad teoretickými otázkami v oblasti obchodování a stanovováním definic toho či onoho:) Ale v podstatě se to dá brát, jak píšete, ano všechno, o co se snažíme, je vlastně vybírání nějakého pro nás OPTIMÁLNÍHO řešení a tudíž optimalizujeme. Nicméně si myslím, že my a SW na to jdeme z úplně odlišného konce a jiným způsobem.
Zatímco my jdeme do stavby strategie s nějakým nápadem a víme, co chceme, víme kde a jak zhruba chceme vstoupit a vystoupit (na základě studia chování trhů, praktických zkušeností apod.), tak SW na to jde z druhého konce - ví akorát, že chceme dosáhnout nějakého PF nebo zisku, poměrů win/loss, počtu obchodů atd. a je mu úplně jedno, co se v trhu odehrává. Chybí mu tedy nějaká původní idea, kterou by rozvíjel.
Který z těchto dvou postupů má větší šance a potenciál, to fakt nevím, to by asi ukázal čas, ale mě osobně je bližší vidět "růst svoje děti" za cenu vlastního potu než mít něco, co třeba skutečně bude nějakou dobu fungovat, ale nebudu mít radost z toho, že se mi něco povedlo :)
Pokud tedy máte nějakou ideu, kterou zanesete do kódu, většinou na vás nevyplivne překrásná equity křivka s malými drawdowny, ale nějaká zubatice a pokud míří na velkém vzorku obchodů vzhůru, můžete si říct "jo tohle by mohlo mít šanci". A pak už nastupuje to, co bych nazýval curve fittingem, totiž úpravy logiky strategie tak, aby vychytala potenciálně nebezpečné situace, minimalizovala ztráty a maximalizovala zisky NA ZÁKLADĚ UŽ NĚJAKÝCH VÝSLEDKŮ, NA ZÁKLADĚ HISTORICKY VYGENEROVANÝCH OBCHODŮ. A to je to, co odlišuje první přístup od přístupu SW, tam podle mne toto víceméně chybí a jde jen o vyzkoušení mnoha různých kombinací bez nějaké ideje a jejich statistických vyhodnocení. Čili SW dělá rovnou curve fitting, kdežto vy alespoň zpočátku ne, jdete s nějakou ideou a netušíte, jak ta křivka bude vypadat.
A tady podle mě právě spočívá ono nebezpečí, před kterým jsem chtěl varovat. Možná se mýlím, ale už jsem věnoval různým věcem kolem budování AOS dost času a zažil jsem leccos.

K robustnosti a můj pohled na proces tvobry strategií... Uff no to je fakt těžké, nevím kde začít a co zdůraznit, protože toho je opravdu hodně. Kdybych to měl shrnout do jedné nebo několika vět, tak asi tak, že zásadní je mít základní ideu (viz výše), při budování strategie se snažit držet věci co nejjednodušší, podmínky nenastavovat příliš restriktivně, podmínek dávat co možno nejméně a snažit se omezit množství parametrů a detailního nastavování proměnných a vstupních hodnot. Omezit fixní hodnoty (PT, SL), protože na to při změně volatility dojedete a je to jeden ze základních poznávacích znaků nízké robustnosti systému. Skoro by se dalo říct že systém je natolik robustní, nakolik dokáže držet krok s trhem při změně volatility a nakolik se jí dokáže přizpůsobit. Takové systémy mají největší šance.

Je mraky důvodů všem výsledkům nevěřit, je lehké narazit na chyby, nesprávně zvolené parametry, špatně pochopenou logiku toho, co napsaný kód skutečně dělá, narazit na chyby v datech, spousta záludností číhá v Monte Carlo, walk-forward analýzách, při SIM tradingu, že nakonec JEDINÝ SPOLEHLIVÝ TEST každé strategie nastane až při ŽIVÉM OBCHODOVÁNÍ. Pokud tedy dospějete až k tomuto kroku, nejdříve strategii jeďte na nejnižším možném množství kontraktů/akcií a až později, když je vše podle předpokladů, začněte zvyšovat/aplikovat metody pos. sizingu.

Link to comment
Sdílet pomocí služby

×
×
  • Vytvořit...