Jump to content

Deep Reinforcement Learning


Empfohlene Beiträge

vor einer Stunde schrieb PeWi:

Mit Tharp habe ich mich nach den Empfehlungen deiner vorhergehenden Inkarnation eine ganze Weile beschäftigt.
Jetzt ist Deep Learning interessant und dran.

Videos nerven meistens, ich lese viel lieber. Hast du da Tipps für gute Bücher, Paper oder Webseiten?

Alles was Du brauchst, findest Du umsonst bei Matlab. Du musst auch entscheiden, ob Du die Anwendung verstehen willst oder die unterliegenden Techniken. Mich zum Beispiel interessiert es nicht, wie er lernt, sondern wie kann ich bessere Ergebnisse erzielen. Ich finde daher das Matlab Gesamtkonzept am besten, was es zur Zeit gibt, weil ich mir die Netze einfach zusammenklicke und der Umgang mit Big Data (z.B. Preisdaten) wirklich gut ist.

Was Bücher angeht, die wir bisher hatten, waren fast alle Flops. Webseiten, es gibt es paar, die den Prozess der Anwendung gut erklären, aber dann musst Du wieder probieren und bist schnell wieder bei Matlab. Einfach Google nehmen und ein wenig reinforced Learning suchen

Wir arbeiten alle mit Tharp, zur Zeit wollen wir ein Tharpkonzept in Reinforced Learing umsetzen, genau wie eine Roboter Steuerung und dem Computer Risikoverständnis beibringen. Das hat einfach den Vorteil, dass ich wesentlich schneller mehr Instrumente überwachen kann. Ansonsten reichen auch ein paar if then, wir halten das Thema im Trading bisher für überbewertet. Einfache Regeln mit Tharp obendrauf bringt einfach mehr.  

bearbeitet von Männergruppe Monk
Link zum Beitrag
Auf anderen Seiten teilen
1 hour ago, Männergruppe Monk said:

Du musst auch entscheiden, ob Du die Anwendung verstehen willst oder die unterliegenden Techniken. Mich zum Beispiel interessiert es nicht, wie er lernt, sondern wie kann ich bessere Ergebnisse erzielen.

Die allertiefsten Innereien muss man natürlich nicht verstehen, aber man sollte zumindest soviel Grundlagen haben, um das Zusammenspiel der Teile zu verstehen, damit man einzelne Komponenten tunen bzw gegen andere austauschen kann. Meine Erfahrung bisher ist, dass man ohne ein gewisses Basisverständnis einfach leicht in den oberflächlichen Details hängenbleibt und nicht mehr weiterkommt.

Beim momentanen Source aus dem ursprünglichen Paper würde ich z.B. gerne die Reward-Funktionen verändern, kann das aber nicht, weil ich noch nicht verstehe, wie der Reward intern gebildet wird. Ich sehe nur, dass der Reward aus dem Replaybuffer geholt wird bzw hineingeschoben wird, aber ich finde nicht, wo er tatsächlich gebildet wird.

Wer in diesem konkreten Fall mehr Durchblick hat und mir einen Tipp dazu geben - ich würde mich freuen!

bearbeitet von PeWi
Link zum Beitrag
Auf anderen Seiten teilen
vor einer Stunde schrieb PeWi:

Die allertiefsten Innereien muss man natürlich nicht verstehen, aber man sollte zumindest soviel Grundlagen haben, um das Zusammenspiel der Teile zu verstehen, damit man einzelne Komponenten tunen bzw gegen andere austauschen kann. Meine Erfahrung bisher ist, dass man ohne ein gewisses Basisverständnis einfach leicht in den oberflächlichen Details hängenbleibt und nicht mehr weiterkommt.

Beim momentanen Source aus dem ursprünglichen Paper würde ich z.B. gerne die Reward-Funktionen verändern, kann das aber nicht, weil ich noch nicht verstehe, wie der Reward intern gebildet wird. Ich sehe nur, dass der Reward aus dem Replaybuffer geholt wird bzw hineingeschoben wird, aber ich finde nicht, wo er tatsächlich gebildet wird.

Wer in diesem konkreten Fall mehr Durchblick hat und mir einen Tipp dazu geben - ich würde mich freuen!

Das kannstt Du in Matlab im Editor alles per Mouseclick machen. Und deren Dokumentation ist super und umsonst.

Im Prinzip musst Du den Prozess einmal durchleben :

1. Daten grabbing & clearing

2. Data Factorisierung & Mustererkennung

3. Network Design & Optimierung

4. Test & modification

 

Aber, Past Performance gibt keine Aussage von zukünftiger Performance und dann bist Du wieder bei Tharp.

Link zum Beitrag
Auf anderen Seiten teilen
On 11/1/2020 at 5:31 PM, PeWi said:

Beim momentanen Source aus dem ursprünglichen Paper würde ich z.B. gerne die Reward-Funktionen verändern, kann das aber nicht, weil ich noch nicht verstehe, wie der Reward intern gebildet wird. Ich sehe nur, dass der Reward aus dem Replaybuffer geholt wird bzw hineingeschoben wird, aber ich finde nicht, wo er tatsächlich gebildet wird.

Okay, endlich gefunden. In der Methode step() der Klasse TradingEnv in der gleichnamigen Datei tradingEnv.py.

Der Reward ist wie im Paper beschrieben einfach der relative Preisunterschied zwischen dem vorangegangenen Zeitpunkt und dem jetzigen Zeitpunkt. (Falls der Agent gerade short ist, wird das Vorzeichen invertiert.)

 

Link zum Beitrag
Auf anderen Seiten teilen

Wieder ein Update: Ich habe in der Reward-Funktion die "Strafen" für Verluste auf 150% erhöht in der Hoffnung, dass der Agent dann vorsichtiger wird und keine so tiefen Drawdowns mehr zulässt.

Der Reward pro Schritt bezieht sich immer nur auf den Wechsel von einer Candle zur nachfolgenden, insofern kann sich auch eine an sich recht gute Tradingstrategie einen größeren negativen Reward einfangen, wenn sie bei einer großen Candle mal falsch positioniert war.
Insofern wäre es vermutlich besser, wenn ich den relativen Gewinn zum Kaufpreis/Kaufzeitpunkt bewerten würde und nicht jede einzelne Candle. (Edit: Nach längerem Quelltextstudium: Da aber alle Rewards eines Tradingsdurchlaufes (Episode) zusätzlich zu einem Gesamtreward aufsummiert werden, und der ebenfalls in das Verhalten des Agenten eingeht, werden Verläufe mit großen Drawdowns oder vielen kleinen Drawdowns in Summe auch stärker abgestraft als einzelne Ausrutscher einer ansonsten guten Strategie. Sowas ähnliches stand zwar in der Artikelserie zu DRL, die ich gerade lese, aber hier in diesem Projekt stimmt es nicht.)

Das Ergebnis ist auch weniger schlimm als bei meinem vorgestern geposteten Ergebnis. Da mehrere Läufe aber bisher stark variierende Ergebisse gebracht haben, darf man auf dieses aktuelle Ergebnis auch nicht zu sehr bauen. 😉
(Noch ein Hinweis: Da das Programm für Tagescandles gebaut ist, ich momentan aber mit 4h-Daten arbeite, muss man die Zeitangaben (Länge Drawdown) in der Auswertung durch 6 teilen!)
 

$ python main.py -strategy TDQN -stock BTC
checking for file 'Data/BTC_2012-1-1_2019-1-1.csv'
loading data from file 'Data/BTC_2012-1-1_2019-1-1.csv'

checking for file 'Data/BTC_2019-1-1_2020-1-1.csv'
loading data from file 'Data/BTC_2019-1-1_2020-1-1.csv'

Training progression (hardware selected => cuda:0):
100%|███████████████████████████████████████████████████████████████| 40/40 [41:06<00:00, 61.67s/it]
╒═══════════════════════════╤═══════════╕
│   Performance Indicator   │   TDQN    │
╞═══════════════════════════╪═══════════╡
│    Profit & Loss (P&L)    │  4219284  │
├───────────────────────────┼───────────┤
│     Annualized Return     │  60.32%   │
├───────────────────────────┼───────────┤
│   Annualized Volatility   │  29.02%   │
├───────────────────────────┼───────────┤
│       Sharpe Ratio        │   0.533   │
├───────────────────────────┼───────────┤
│       Sortino Ratio       │   0.625   │
├───────────────────────────┼───────────┤
│     Maximum Drawdown      │  59.81%   │
├───────────────────────────┼───────────┤
│ Maximum Drawdown Duration │ 1695 days │
├───────────────────────────┼───────────┤
│       Profitability       │  43.32%   │
├───────────────────────────┼───────────┤
│ Ratio Average Profit/Loss │   1.509   │
├───────────────────────────┼───────────┤
│         Skewness          │  -0.861   │
╘═══════════════════════════╧═══════════╛
checking for file 'Data/BTC_2019-1-1_2020-1-1.csv'
loading data from file 'Data/BTC_2019-1-1_2020-1-1.csv'

╒═══════════════════════════╤═══════════╕
│   Performance Indicator   │   TDQN    │
╞═══════════════════════════╪═══════════╡
│    Profit & Loss (P&L)    │  203806   │
├───────────────────────────┼───────────┤
│     Annualized Return     │  68.13%   │
├───────────────────────────┼───────────┤
│   Annualized Volatility   │  22.02%   │
├───────────────────────────┼───────────┤
│       Sharpe Ratio        │   0.442   │
├───────────────────────────┼───────────┤
│       Sortino Ratio       │   0.557   │
├───────────────────────────┼───────────┤
│     Maximum Drawdown      │  43.84%   │
├───────────────────────────┼───────────┤
│ Maximum Drawdown Duration │ 1366 days │
├───────────────────────────┼───────────┤
│       Profitability       │  41.23%   │
├───────────────────────────┼───────────┤
│ Ratio Average Profit/Loss │   1.701   │
├───────────────────────────┼───────────┤
│         Skewness          │   0.379   │
╘═══════════════════════════╧═══════════╛

Noch der Chart dazu:

 

BTC_Rendering.png

bearbeitet von PeWi
Erkenntnisse aus dem Source
Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Stunde schrieb PeWi:

Wieder ein Update: Ich habe in der Reward-Funktion die "Strafen" für Verluste auf 150% erhöht in der Hoffnung, dass der Agent dann vorsichtiger wird und keine so tiefen Drawdowns mehr zulässt.

Der Reward pro Schritt bezieht sich immer nur auf den Wechsel von einer Candle zur nachfolgenden, insofern kann sich auch eine an sich recht gute Tradingstrategie einen größeren negativen Reward einfangen, wenn sie bei einer großen Candle mal falsch positioniert war.
Insofern wäre es vermutlich besser, wenn ich den relativen Gewinn zum Kaufpreis/Kaufzeitpunkt bewerten würde und nicht jede einzelne Candle. Da aber alle Rewards eines Tradingsdurchlaufes (Episode) zusätzlich zu einem Gesamtreward aufsummiert werden, und der ebenfalls in das Verhalten des Agenten eingeht, werden Verläufe mit großen Drawdowns oder vielen kleinen Drawdowns in Summe auch stärker abgestraft als einzelne Ausrutscher einer ansonsten guten Strategie.

Das Ergebnis ist auch weniger schlimm als bei meinem vorgestern geposteten Ergebnis. Da mehrere Läufe aber bisher stark variierende Ergebisse gebracht haben, darf man auf dieses aktuelle Ergebnis auch nicht zu sehr bauen. 😉
(Noch ein Hinweis: Da das Programm für Tagescandles gebaut ist, ich momentan aber mit 4h-Daten arbeite, muss man die Zeitangaben (Länge Drawdown) in der Auswertung durch 6 teilen!)
 


$ python main.py -strategy TDQN -stock BTC
checking for file 'Data/BTC_2012-1-1_2019-1-1.csv'
loading data from file 'Data/BTC_2012-1-1_2019-1-1.csv'

checking for file 'Data/BTC_2019-1-1_2020-1-1.csv'
loading data from file 'Data/BTC_2019-1-1_2020-1-1.csv'

Training progression (hardware selected => cuda:0):
100%|███████████████████████████████████████████████████████████████| 40/40 [41:06<00:00, 61.67s/it]
╒═══════════════════════════╤═══════════╕
│   Performance Indicator   │   TDQN    │
╞═══════════════════════════╪═══════════╡
│    Profit & Loss (P&L)    │  4219284  │
├───────────────────────────┼───────────┤
│     Annualized Return     │  60.32%   │
├───────────────────────────┼───────────┤
│   Annualized Volatility   │  29.02%   │
├───────────────────────────┼───────────┤
│       Sharpe Ratio        │   0.533   │
├───────────────────────────┼───────────┤
│       Sortino Ratio       │   0.625   │
├───────────────────────────┼───────────┤
│     Maximum Drawdown      │  59.81%   │
├───────────────────────────┼───────────┤
│ Maximum Drawdown Duration │ 1695 days │
├───────────────────────────┼───────────┤
│       Profitability       │  43.32%   │
├───────────────────────────┼───────────┤
│ Ratio Average Profit/Loss │   1.509   │
├───────────────────────────┼───────────┤
│         Skewness          │  -0.861   │
╘═══════════════════════════╧═══════════╛
checking for file 'Data/BTC_2019-1-1_2020-1-1.csv'
loading data from file 'Data/BTC_2019-1-1_2020-1-1.csv'

╒═══════════════════════════╤═══════════╕
│   Performance Indicator   │   TDQN    │
╞═══════════════════════════╪═══════════╡
│    Profit & Loss (P&L)    │  203806   │
├───────────────────────────┼───────────┤
│     Annualized Return     │  68.13%   │
├───────────────────────────┼───────────┤
│   Annualized Volatility   │  22.02%   │
├───────────────────────────┼───────────┤
│       Sharpe Ratio        │   0.442   │
├───────────────────────────┼───────────┤
│       Sortino Ratio       │   0.557   │
├───────────────────────────┼───────────┤
│     Maximum Drawdown      │  43.84%   │
├───────────────────────────┼───────────┤
│ Maximum Drawdown Duration │ 1366 days │
├───────────────────────────┼───────────┤
│       Profitability       │  41.23%   │
├───────────────────────────┼───────────┤
│ Ratio Average Profit/Loss │   1.701   │
├───────────────────────────┼───────────┤
│         Skewness          │   0.379   │
╘═══════════════════════════╧═══════════╛

Noch der Chart dazu:

 

BTC_Rendering.png

Sag mal, was machst Du da eigentlich. Bist Du Dir sicher, dass Du das Konzept den Reinforced Learning verstanden hast ?

 

 

Link zum Beitrag
Auf anderen Seiten teilen
11 minutes ago, Männergruppe Monk said:

Sag mal, was machst Du da eigentlich. Bist Du Dir sicher, dass Du das Konzept den Reinforced Learning verstanden hast ?

Habe ich das denn je behauptet? 😜


Männergruppe Monk, es wäre schön, wenn du irgendwann mal zu einem brauchbareren Diskussionsteilnehmer heranreifen würdest.

Du magst sicherlich viel wissen, aber du kannst - sinnbildlich gesprochen - deine PS einfach nicht vernünftig auf die Strasse bringen.

Link zum Beitrag
Auf anderen Seiten teilen
Am 1.11.2020 um 09:33 schrieb PeWi:

Man sieht schön, wie ca. ab Runde 25 das Overfitting startet

Ich habe leider noch nicht die Zeit gefunden deine Beispiele gleich selber nach zu stellen. Das muss ich leider weiterhin auf später verschieben. Ich finde es aber ganz praktisch, dass du gleich das machst was ich auch ausprobiert hätte :D

Zum Thema Overfitting gab es ein paar interessante Ansätze einige Neuronen zeitweise zufällig zu deaktivieren. Das hat zur Folge, dass die restlichen Neuronen plötzlich gezwungen sind den Ausfall aus zu gleichen. Das soll sich positiv auf das Overfitting Problem auswirken.

Link zum Beitrag
Auf anderen Seiten teilen
5 hours ago, skunk said:

Zum Thema Overfitting gab es ein paar interessante Ansätze einige Neuronen zeitweise zufällig zu deaktivieren. Das hat zur Folge, dass die restlichen Neuronen plötzlich gezwungen sind den Ausfall aus zu gleichen. Das soll sich positiv auf das Overfitting Problem auswirken.

Das nennt sich Dropout-Layer, wird hier u.a. auch verwendet. Zitat aus dem Paper:

"Regularisation techniques: Because a strong tendency to overfit was observed during the first experiments with the DRL trading strategy, three regularisation techniques are implemented: Dropout, L2 regularisation and Early Stopping."

Link zum Beitrag
Auf anderen Seiten teilen
Am 3.11.2020 um 21:35 schrieb PeWi:

Habe ich das denn je behauptet? 😜


Männergruppe Monk, es wäre schön, wenn du irgendwann mal zu einem brauchbareren Diskussionsteilnehmer heranreifen würdest.

Du magst sicherlich viel wissen, aber du kannst - sinnbildlich gesprochen - deine PS einfach nicht vernünftig auf die Strasse bringen.

Schau bei Matlab nach und lese das mal durch auch habe ich Dir den Prozess für sowas auch schon beschrieben. Brauchst Du den Link zu Matlab ?

Also nochmal : 

  • Data Grabbing
  • Data Clearing, Modelling und Factorisation
  • DL Modell definition
  • Learnen und testen, angleichen, lernen und testen.

Bei Matlab gibt es sogar ganz konkrete Beispiele und Code.  Coin Daten bekommst Du bei Strategie Quant, die haben da ein Tool, mit dem man alle Binance Preisdaten runterladen kann.

Data Clearing/Mdelling etc bedeutet, Du musst definieren, was Du lernen willst. Tripple Barrier Method ist ein guter Ansatz.

DL/RL und so, das ist einfach eine Rechenaufgabe. Bei Matlab kann man einfach alles mal eben zusammenklicken und durchrechnen lassen. Ganz einfach.

RL wird bei Deinem Ansatz versagen, weil es dafür nicht gemacht wurden. Das musst Du anders einbinden. Tharp ist einfacher und wesentlich profitabler.

Link zum Beitrag
Auf anderen Seiten teilen

Unter
https://financial-hacker.com/please-send-me-a-trading-system/
gibt es wieder einen interessanten Artikel.

(Der Blog Financial Hacker befasst sich mit diversen Themen beim algorithmischen Traden, von kritischen Besprechungen neu erfundenen Indikatoren bis hin zu Grundlagen der Systemerstellung. (Die Quelltexte der Artikel sind mit dem Tradingsystem Zorro geschrieben.))

Außer dem Vertrieb von Zorro an Leute, die Tradingsysteme selber schreiben wollen, schreiben sie auch komplette Systeme gemäß Kundenvorgaben:

"We do not invent systems, but program them from clients’ specifications. And we do not trade them, except for testing. But after almost 1000 systems, we can see a pattern emerging."


Zur besseren Übersicht werden die Kundensysteme in vier Gruppen eingeteilt:


"Risk premium systems gain higher profits by accepting higher risks. In that category fall many stock portfolio rotation and options trading systems.

Market model systems exploit a particular market inefficiency by detecting anomalies in price curves. Trend following, mean reversion, market cycles, statistical arbitrage, or HFT arbitrage are typical model based trade methods.

Data mining systems predict a price trend by evaluating signals with a machine learning algorithm. Those signals are usually derived from the order book or the price curve, but sometimes also from fundamental data or exotic data sources.

Indicator soups do not target a particular market inefficiency. They generate trade signals from a complex combination of traditional or newly invented and fashionable indicators, with no recognizable concept or idea behind."


Das Fazit ist ganz interessant und gibt der Männergruppe Monk mehr oder weniger recht. Die typischen erfolgreichen Systeme sind keine hochkomplexen, über-raffinierten und hochgezüchteten KI-Systeme, sondern die eher bodenständigen, simplen long-term Tradingsysteme wie z.B. Trendfolger.

Für das Thema unseres Threads hier - Deep Reinforcement Learning - ist dieser Artikel also nicht so ermutigend. 😜


"And the winner is…

The statistics are spoiled by the forex and crypto systems, half of which were losers. This is at least better than most such systems from trading books or trader forums, of which 90% already fail in a proper backtest. We got a surprising result in the ‘Indicator soup’ systems. You would normally expect that they all fail big time, since they are not based on a rational market model or trading method. But in fact almost every third indicator hodgepodge was successful, even in a reality check. Maybe the clients knew more than we did.

It is also a bit surprising that the most complex systems of all, the data mining systems that usually employ deep learning algorithms, did not fare much better. They have an acceptable success rate, but are easily surpassed by a certain sort of much simpler systems.

Of all systems we tested so far, the big winners were the long-term trading systems for ETFs or options. Of the option traders, the simpler systems had often better performance. It’s relatively hard to specify a losing option system, but some still managed it by using short expiration dates, complex entries or fancy rollovers. One of the very simple, but successful option traders was included in the Zorro scripts."
 

Die Ergebnistabelle habe ich als Grafik angehängt.

 

Noch ein interessanter Punkt - langsamere Systeme sind meistens profitabler als recht schnelle (das deckt sich mit meinen eigenen Erfahrungen 😉)

"We found another trend that is not visible in the table: With a few exceptions like HFT or arbitrage, there was an almost linear correlation between time frames and performances. Systems on one, five, or ten minute bars were rarely profitable. The good systems traded mostly on 1-hour, 4-hour, or 24-hour time frames. Faster is not always better."

 

Nicht vergessen sollte man, dass der Kundenkreis, der sich hier ein System programmieren lässt, nicht aus Profis besteht; die könnten es entweder gleich ganz selber oder haben eine eigenen Abteilung dafür.

Aber genau das ist auch das interessante - wir sind ja auch keine Profis, insofern sollten wir uns - wenn wir dem Artikel Glauben schenken wollen - auch eher auf die einfachen Geschichten beschränken und die Basics wie Position Sizing etc beachten. 🤔

 

 

zorro_erfolgreiche_systeme.png

bearbeitet von PeWi
Formatierung
Link zum Beitrag
Auf anderen Seiten teilen
vor 2 Stunden schrieb PeWi:

Unter
https://financial-hacker.com/please-send-me-a-trading-system/
gibt es wieder einen interessanten Artikel.

(Der Blog Financial Hacker befasst sich mit diversen Themen beim algorithmischen Traden, von kritischen Besprechungen neu erfundenen Indikatoren bis hin zu Grundlagen der Systemerstellung. (Die Quelltexte der Artikel sind mit dem Tradingsystem Zorro geschrieben.))

Außer dem Vertrieb von Zorro an Leute, die Tradingsysteme selber schreiben wollen, schreiben sie auch komplette Systeme gemäß Kundenvorgaben:

"We do not invent systems, but program them from clients’ specifications. And we do not trade them, except for testing. But after almost 1000 systems, we can see a pattern emerging."


Zur besseren Übersicht werden die Kundensysteme in vier Gruppen eingeteilt:


"Risk premium systems gain higher profits by accepting higher risks. In that category fall many stock portfolio rotation and options trading systems.

Market model systems exploit a particular market inefficiency by detecting anomalies in price curves. Trend following, mean reversion, market cycles, statistical arbitrage, or HFT arbitrage are typical model based trade methods.

Data mining systems predict a price trend by evaluating signals with a machine learning algorithm. Those signals are usually derived from the order book or the price curve, but sometimes also from fundamental data or exotic data sources.

Indicator soups do not target a particular market inefficiency. They generate trade signals from a complex combination of traditional or newly invented and fashionable indicators, with no recognizable concept or idea behind."


Das Fazit ist ganz interessant und gibt der Männergruppe Monk mehr oder weniger recht. Die typischen erfolgreichen Systeme sind keine hochkomplexen, über-raffinierten und hochgezüchteten KI-Systeme, sondern die eher bodenständigen, simplen long-term Tradingsysteme wie z.B. Trendfolger.

Für das Thema unseres Threads hier - Deep Reinforcement Learning - ist dieser Artikel also nicht so ermutigend. 😜


"And the winner is…

The statistics are spoiled by the forex and crypto systems, half of which were losers. This is at least better than most such systems from trading books or trader forums, of which 90% already fail in a proper backtest. We got a surprising result in the ‘Indicator soup’ systems. You would normally expect that they all fail big time, since they are not based on a rational market model or trading method. But in fact almost every third indicator hodgepodge was successful, even in a reality check. Maybe the clients knew more than we did.

It is also a bit surprising that the most complex systems of all, the data mining systems that usually employ deep learning algorithms, did not fare much better. They have an acceptable success rate, but are easily surpassed by a certain sort of much simpler systems.

Of all systems we tested so far, the big winners were the long-term trading systems for ETFs or options. Of the option traders, the simpler systems had often better performance. It’s relatively hard to specify a losing option system, but some still managed it by using short expiration dates, complex entries or fancy rollovers. One of the very simple, but successful option traders was included in the Zorro scripts."
 

Die Ergebnistabelle habe ich als Grafik angehängt.

 

Noch ein interessanter Punkt - langsamere Systeme sind meistens profitabler als recht schnelle (das deckt sich mit meinen eigenen Erfahrungen 😉)

"We found another trend that is not visible in the table: With a few exceptions like HFT or arbitrage, there was an almost linear correlation between time frames and performances. Systems on one, five, or ten minute bars were rarely profitable. The good systems traded mostly on 1-hour, 4-hour, or 24-hour time frames. Faster is not always better."

 

Nicht vergessen sollte man, dass der Kundenkreis, der sich hier ein System programmieren lässt, nicht aus Profis besteht; die könnten es entweder gleich ganz selber oder haben eine eigenen Abteilung dafür.

Aber genau das ist auch das interessante - wir sind ja auch keine Profis, insofern sollten wir uns - wenn wir dem Artikel Glauben schenken wollen - auch eher auf die einfachen Geschichten beschränken und die Basics wie Position Sizing etc beachten. 🤔

 

 

zorro_erfolgreiche_systeme.png

Sowas ist Standard Business bei Tradestation. Die nehmen 100-500 Euro die Stunde.

Nimm Tharp, das flutsch. Ich habe damit jetzt ca. 97% Treffer. 100 Zeilen Code, bis zu 3% am Tag möglich, aber ich folge Tharp und habe glatte Equitykurve deswegen nur 1%, aber geringes Risiko.

Ich halte Deep Learning im Trading für überbewertet, aber eine Kombination mit Reinforced Learing kann der Knaller sein, wenn RL den Trader und dessen Erfahrung ersetzt. Aber das hängt von der Philosophy ab.

Hier mal ein Konzept, was meine Server gerade berechnen.

1. Preisdaten von Binance runterladen. (Strategy Quant)

2. Tripple Barrier Method berechnen (unterschiedliche Fensterlängen).

3. Faktorisierung (ich nehme 100 Indikatoren und 500 Parameter.)

4. Es geht darum, dem System beizubringen, eine Prediktion von über 55% zu bekommen.

5. Jetzt kann in RL mit dem Risiko einsetzen und einen Casino Ansatz machen. 100x Roulette, 55 für die Bank, 45 für die Spieler, jetzt muss die Bank die Leute nur noch dazu bringen, viel zu spielen. Bei Coins kann man da unendliche Gewinne in Bitcoins machen. Da kann wirklich Resultate bringen.

 

Nach meiner Erfahrung in der Entwicklung von professionellen System, macht es einfach, die bringen am meisten. Diese System funktionieren ne Zeit und ne Zeit nicht, also bau einen Mechanismus, der das managed und verdien Geld. Tharp hat hier funktionierende Rezepte gegeben.

 

Aber, viele Tarder lassen sich ein System programmieren. Das sind Trader und wollen ihre Systeme automatisieren. Das ist alles nichts neues.

Ich kenne auch DL System, die bringen bis zu 20% bessere Trefferaten. Nur man muss verstehen, wie man die einsetzt und wozu das gut ist. Das sehe ich bei den genannten Systementwicklern nicht.

bearbeitet von Männergruppe Monk
Link zum Beitrag
Auf anderen Seiten teilen
45 minutes ago, Männergruppe Monk said:

Nach meiner Erfahrung in der Entwicklung von professionellen System, macht es einfach, die bringen am meisten. Diese System funktionieren ne Zeit und ne Zeit nicht, also bau einen Mechanismus, der das managed und verdien Geld. Tharp hat hier funktionierende Rezepte gegeben.

Ich habe mich aufgrund deiner früheren Empfehlung einige Zeit mit Tharp beschäftigt und bin zu dem Schluss gekommen, dass seine Konzepte im hochvolatilen Kryptomarkt nicht so gut funktionieren wie bei Aktien o.ä.

Auch die beim oben erwähnten System Zorro mitgelieferten Strategie-Module verwenden verschiedene Algorithmen gleichzeitig und schalten jeden einzelnen per Equity Modeling nur ein, wenn er profitabel ist. Trotzdem hat mir die Strategie Z12 (Forex) über den Zeitraum eines Dreivierteljahres Schritt für Schritt 25 % meiner Balance vernichtet.

Hätte eigentlich nicht passieren dürfen, wenn Equity Modeling und risk adjusted Position Sizing so flutschen, wie du schreibst ...?

 

 

Link zum Beitrag
Auf anderen Seiten teilen
vor 15 Minuten schrieb PeWi:

Ich habe mich aufgrund deiner früheren Empfehlung einige Zeit mit Tharp beschäftigt und bin zu dem Schluss gekommen, dass seine Konzepte im hochvolatilen Kryptomarkt nicht so gut funktionieren wie bei Aktien o.ä.

Auch die beim oben erwähnten System Zorro mitgelieferten Strategie-Module verwenden verschiedene Algorithmen gleichzeitig und schalten jeden einzelnen per Equity Modeling nur ein, wenn er profitabel ist. Trotzdem hat mir die Strategie Z12 (Forex) über den Zeitraum eines Dreivierteljahres Schritt für Schritt 25 % meiner Balance vernichtet.

Hätte eigentlich nicht passieren dürfen, wenn Equity Modeling und risk adjusted Position Sizing so flutschen, wie du schreibst ...?

 

 

Doch tun sie, dann musst Du noch mal ran 🙂

Ich kann nicht für andere Modelle sprechen, besonders die ich nicht selber entwickelt habe, ich sehe das nur an meinen eigenen Resultaten. Und ja, Tharp funktioniert auch für Coins, sogar noch besser. Was nicht bei Coins funktioniert ist ein Trend Ansatz. Aber das hat nichts mit Tharp zu tun. Einfach nochmal lesen 🙂

Aber es ist sicherlich verständlich, dass ein erfolgreiches System nicht mal eben Software einspielen und laufen lassen ist. Genau wie bei diesen Programmierern. Wenn die das wirklich selber könnten, würden die einfach 6 Monate Ergebnisse erzeugen und dann ist es sehr einfach 10M Euro zu bekommen. Oder für Banken arbeiten und nicht sowas auf die Webseiten schreiben. Ich schau mir sowas nicht mehr an, verschenkte Zeit.

Nachtrag : In den ersten 5 Jahren habe ich ca. 1-2 tausend System getestet (wollte aufhören),  danach habe ich mit Tharp angefangen. Damit kann ich die meisten Systeme profitabel machen und das über einen längeren Zeitraum. Ohne Tharp sehe ich das nicht, es wird immer Systeme geben, die ne Zeit funktionieren, aber dann irgendwann abschmieren. 

bearbeitet von Männergruppe Monk
Link zum Beitrag
Auf anderen Seiten teilen
39 minutes ago, Männergruppe Monk said:

Und ja, Tharp funktioniert auch für Coins, sogar noch besser.

Warum?

Aufgrund der höheren Volatilität muss der Stop zur Risikobegrenzung merklich weiter weg als üblicherweise bei Aktien. 3 ATR bei Aktien ist prozentual weniger als 3 ATR bei Coins.

43 minutes ago, Männergruppe Monk said:

Doch tun sie, dann musst Du noch mal ran 🙂

Das steht sogar irgendwo noch auf meiner ToDo-Liste, zusammen mit ein paar anderen Büchern. 😉

44 minutes ago, Männergruppe Monk said:

Was nicht bei Coins funktioniert ist ein Trend Ansatz.

Gerade langsame Trendfolge funktioniert bei mir noch am besten. Dann funktioniert aber Equity Modeling nicht so toll.

Was mich grundsätzlich mal reizen würde, wäre sowas wie eine Marketmaker-Strategie. Viele schnelle Trades, dann müsste EM auch gut funktionieren.

Link zum Beitrag
Auf anderen Seiten teilen
vor 1 Minute schrieb PeWi:

Warum?

Aufgrund der höheren Volatilität muss der Stop zur Risikobegrenzung merklich weiter weg als üblicherweise bei Aktien. 3 ATR bei Aktien ist prozentual weniger als 3 ATR bei Coins.

Das steht sogar irgendwo noch auf meiner ToDo-Liste, zusammen mit ein paar anderen Büchern. 😉

Gerade langsame Trendfolge funktioniert bei mir noch am besten. Dann funktioniert aber Equity Modeling nicht so toll.

Was mich grundsätzlich mal reizen würde, wäre sowas wie eine Marketmaker-Strategie. Viele schnelle Trades, dann müsste EM auch gut funktionieren.

 

Nein, wenn du 3ATR nimmst bist Du auf System Ebene. Das ist nicht Tharp. Tharp is Equity Kurve Modelling.

Du solltest bessere Tools nehmen, dann siehst Du das ganz einfach. Früher habe ich Tradestation genommen, heute kann ich Dir so sagen was geht oder nicht.

Doch, Equity Kurve Modelling ist das gleiche wie Money Management, ist egal, was Du da jetzt tradest. Natürlich funktioniert das da, das ist doch die Basis vom Trading. Dann hast Du das Ganze noch nicht verinnerlicht. 

Nicht immer, weil mit vielen Trades erhöhst Du natürlich auch die negative Rate. Das ist eine andere Statistik, da nimmt man am besten Casino Mathe.

Du brauchst nicht viele Bücher, viele sind sowieso nur One Trick Ponies und Zeitverschwendung. Kauf Dir das Buch von Irene Aldride "High frequency Trading", das ist wirklich gut. Irene kennt mich sogar, aber die mag mich nicht 😞

 

Ein Fehler ist übrigens, das Leute immer hin und her springen und nicht fertig werden. Wenn Du das eine nicht zum laufen bringst, ist das andere egal !

 

 

Link zum Beitrag
Auf anderen Seiten teilen
17 hours ago, Männergruppe Monk said:

Nein, wenn du 3ATR nimmst bist Du auf System Ebene. Das ist nicht Tharp. Tharp is Equity Kurve Modelling.

Reden wir nicht über den gleichen Tharp?

Der Tharp, den ich meine, fängt sein Buch "Van Tharp's Definite Guide To Position Sizing" mit der Einführung der R-multiples an. Und darauf baut er sein ganzes System des Position Sizing auf.

17 hours ago, Männergruppe Monk said:

Kauf Dir das Buch von Irene Aldride "High frequency Trading", das ist wirklich gut.

Das habe ich aufgrund einer früheren Empfehlung sogar schon gelesen. Ich gestehe aber, dass ich mit dem Inhalt wenig anfangen konnte.

Link zum Beitrag
Auf anderen Seiten teilen
vor 37 Minuten schrieb PeWi:

Reden wir nicht über den gleichen Tharp?

Der Tharp, den ich meine, fängt sein Buch "Van Tharp's Definite Guide To Position Sizing" mit der Einführung der R-multiples an. Und darauf baut er sein ganzes System des Position Sizing auf.

Das habe ich aufgrund einer früheren Empfehlung sogar schon gelesen. Ich gestehe aber, dass ich mit dem Inhalt wenig anfangen konnte.

Ja, da hast Du seine Philosopie und die Anwendung nicht verstanden, sondern das einfach nur ausprobiert. Das ist ein wesentlicher Unterschied. OK, ich habe auch 1 Jahr gebraucht, bis ich kapiert habe, wie ich das umsetze.

Das gleiche sind die Bücher mit John Ehlers. Der hat geniale Sachen gemacht, aber den Fehler, Code mit seinen Büchern mitzuliefern. Da haben die Leute dann einfach den Code reingeladen, geht nicht und waren enttäuscht. Eine Kombination von beiden lässt die Ergebnisse durch die Decke gehen.

Also, nehmen wir den Trend Trading Ansatz von Tharp. Da braucht Du Trends, ohne dass es Dir um die Ohren fliegt. Auch ist es so, das manche Broker die den offenen P&L gut schreiben und Du damit nachkaufen kannst. Also suchst Du Dir Trends. Die findest Du nicht in den direkten Preisen, sondern in den Preisdifferenzkurven von zwei Werten. Da nimmst Du dann Tharps Trend Trading und baust eine Pyramide auf. Tharp verhindert nur, dass Dir das nicht um die Ohren fliegt.

 Da gibt es wirklich viele Anwendungen, wo Du wirklich was damit verdienen kannst. Und Irene hat wohl eines der besten Bücher überhaupt geschrieben. Der Teil mit dem Z-Score ist Gold wert, wenn man Tharp einsetzt, weil er Gewichtungen zeigt. Das kann z.B. ein Indikator sein, ob Dein Tradingsystem gerade funktioniert. 

bearbeitet von Männergruppe Monk
Link zum Beitrag
Auf anderen Seiten teilen
vor 3 Minuten schrieb PeWi:

Ich habe das Video "Trade like a Casino" geschaut - das war aber ziemlich alter Wein in neuen Schläuchen.

Ja, aber einer der in der AI und RL gut funktioniert. Kennst Du das Buch vom dem Prado ? Sehr schlecht, aber die Tripple Barrier Method ist cool. Hier nochmal einfach dargestellt.

https://www.quantopian.com/posts/labeling-data-for-financial-machine-learning-2#:~:text=The 'Triple-Barrier' refers,time-based sell signals).&text=This method accepts as input,bought on a given date.

 

Wie gesagt, Du musst die Dinge verstehen, nicht einfach durchtesten und die richtigen Tools sind Key. Sonst sitzt Du da wie 100000 andere in 5 Jahren noch. Ich kann nicht mehr tun, als Dich in die richtige Richtung schubsen. Rest musst Du selber machen. 

Link zum Beitrag
Auf anderen Seiten teilen
2 hours ago, Männergruppe Monk said:

Sowas wie diese Tripple Barrier-Methode habe ich vor einiger Zeit bei meinen NN-Experimenten auch genutzt. Ich kann also bestätigen, dass diese Idee nicht un- intuitiv ist. 😉

Dein Artikel dazu ist nicht schlecht, noch interessanter fand ich allerdings Teil 1 mit den Hinweisen auf  fractional differentiation  und  volume bars.

2 hours ago, Männergruppe Monk said:

Wie gesagt, Du musst die Dinge verstehen, nicht einfach durchtesten und die richtigen Tools sind Key. Sonst sitzt Du da wie 100000 andere in 5 Jahren noch. Ich kann nicht mehr tun, als Dich in die richtige Richtung schubsen. Rest musst Du selber machen. 

Das ist leider auch ein zeitliches Problem. Im Gegensatz zu dir kann ich mich mit diesen Themen nicht hauptberuflich beschäftigen, sondern muss mich auf die Zeit und Energie, die abends noch bleibt, beschränken. Da bleibt zwangsweise viel Tiefe auf der Strecke.

Wenn man also mehr Engagement braucht, als ich leisten kann, dann wird's halt nix. 😜

Link zum Beitrag
Auf anderen Seiten teilen
vor einer Stunde schrieb PeWi:

Sowas wie diese Tripple Barrier-Methode habe ich vor einiger Zeit bei meinen NN-Experimenten auch genutzt. Ich kann also bestätigen, dass diese Idee nicht un- intuitiv ist. 😉

Dein Artikel dazu ist nicht schlecht, noch interessanter fand ich allerdings Teil 1 mit den Hinweisen auf  fractional differentiation  und  volume bars.

Das ist leider auch ein zeitliches Problem. Im Gegensatz zu dir kann ich mich mit diesen Themen nicht hauptberuflich beschäftigen, sondern muss mich auf die Zeit und Energie, die abends noch bleibt, beschränken. Da bleibt zwangsweise viel Tiefe auf der Strecke.

Wenn man also mehr Engagement braucht, als ich leisten kann, dann wird's halt nix. 😜

Nein, Du musst einfach bessere Tools haben, dann kann man das sofort sehen. Ich habe das bei mir mal analysiert. 90% meiner Zeit habe ich mit schlechten Tools verbracht. 

Als nächstes kann man 4 Stunden die Woche festlegen und dazwischen rechnen lassen. Wenn man das konzequent macht, geht das gut.

Nur arbeite fokussiert, sonst wird das nichts. Und nein, das ist nicht mein Hauptfocus, ich lasse Recher arbeiten

bearbeitet von Männergruppe Monk
Link zum Beitrag
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...

Wichtige Information

Wir speichern Cookies auf Ihrem Gerät, um diese Seite besser zu machen. Sie können Ihre Cookie-Einstellungen anpassen, ansonsten gehen wir davon aus, dass Sie damit einverstanden sind. In unseren Datenschutzerklärungen finden sie weitere Informationen.