Jump to content

Bot Trading mit genetischen Algorithmen


PeWi
 Share

Recommended Posts

Hat schon jemand mal versucht, einen Bot auf Basis Genetischen Programmierens zu entwickeln, und Interesse, sich darüber auszutauschen?

Zur Begriffsklärung, soweit ich das nach Lesen diverser Artikel verstanden zu haben glaube:

Genetische Optimierung bezieht sich auf die Optimierung von Parametern, also vereinfacht: welche Einstellungen für welchen Indikator-Parameter oder welchen Bot-Parameter. Man muss also weiterhin die Strategie vorgeben, kann aber mit den genetischen Algorithmen die Suche nach brauchbaren Einstellungen für die Schräubchen der eigenen Strategie unterstützen.

Genetische Programmierung bedeutet im Gegensatz dazu, dass die genetischen Algorithmen die Regeln (plus die Einstellungen) der Trading-Strategie selber finden. Dazu werden die Regeln der Strategie meist als veränderbarer Baum aufgebaut, und die genetischen Algorithmen können Knoten zu diesem Baum dazufügen, verändern oder löschen. Letztendlich wird es also der künstlichen Evolution überlassen, welche Preise und welche Indikatoren wie zur Entscheidungsfindung miteinander verknüpft werden.


Mit dem ersten, der genetischen Optimierung, habe ich mich schon beschäftigt und sie in meinen aktuellen Backtest eingebaut. Ich verwende die NSGA II-Methode (*) und bin damit recht zufrieden. Die Parameter, die in weniger als einem Fünftel der bisherigen Rechenzeit gefunden werden, sind mindestens genauso gut wie die meiner bisherigen Backtestmethode, die einfach zufallsgesteuert Stichproben aus dem ganzen Parameterraum zieht.


Mit der genetischen Programmierung möchte ich anfangen. Dazu muss ich in meinen Bot noch sowas wie einen Regel-Interpreter einbauen, denn bisher hatte ich ja nur hart-kodierte Strategien. Wenn der steht und funktioniert, dann kann ich die Strategieregeln zukünftig aus einer Textdatei in einem Baum einlesen und den dann durch die GAs verändern und optimieren lassen.
Dazu gibt es eine schöne Artikelserie, die ich im Thread "Deep Reinforcement Lerarning" schon mal gepostet habe:
https://fabian-kostadinov.github.io/2014/09/01/evolving-trading-strategies-with-genetic-programming-an-overview/

 

Ich würde mich freuen, wenn sich auch jemand anders dafür interessiert, und ggfs ein reger Erfahrungsaustausch entsteht ...?

 

*:  "Non dominated Sorting Genetic Algorithm"

 

Edited by PeWi
Tippfehler
Link to comment
Share on other sites

Guest Longbrearh

Wenn mir einer zeigt wie man programmiert, mach ich das 😂 

wobei ich kann programmieren, Siemens und Fanuc 

Link to comment
Share on other sites

42 minutes ago, Longbrearh said:

wobei ich kann programmieren, Siemens und Fanuc

Dann ist der Weg doch nicht mehr weit ...? 😉

Um den Bogen von der Programmierung einer Siemens zur Programmierung eines Bots zu schlagen, könnte @fjvbit ein guter Ansprechpartner sein. 🙄

Edited by PeWi
Tippfehler
Link to comment
Share on other sites

Ich hoffe ich grätsch nicht zu sehr rein, aber mir stellt sich direkt die Frage: Wieso nicht direkt zum Stand der Forschung (auch in dem Bereich sicherlich KNNs) springen?

GP ist mir nicht im Detail genannt, ist offenbar ein sehr allgemeiner Ansatz. Deine Ausführungen deuten darauf hin, dass dich Algorithmen interessieren könnten, die auf Entscheidungsbäumen aufbauen, bekannte viel genutzte Vertreter sind Random Forest oder XGBoost.
Ein anderen Stichwort, falls dir noch nicht bekannt, ist Meta-Learning, da geht es darum die sogenannten Hyperparameter zu optimieren (das sind die Parameter, für die du eigentlich sonst gar nicht weißt außer durch Erfahrung, wie du sie am besten setzt).

  • Like 1
Link to comment
Share on other sites

1 hour ago, Arther said:

Wieso nicht direkt zum Stand der Forschung (auch in dem Bereich sicherlich KNNs) springen?

Mit kleinen NNs spiele ich seit Jahren herum, diverse Artikel zu diversen anderen Methoden (wie z.B. Random Forests oder Deep Reinforcement Learning)  habe ich gelesen.

Gerade bei den NNs oder dem DRL ist doch recht viel Hintergrundwissen sinnvoll, weil es teilweise auch viel Gespür bzw einiges an Erfahrung braucht, da gute Ergebnisse zu bekommen.

Gerade bei NNs muss man die Daten gut und sinnvoll transformieren. Random Forests würden im Gegensatz zu den meisten anderen ML-Verfahren die Candle-Daten auch roh und untransformiert vertragen, steigen dann aber aus, wenn die Preise Höhen (oder Tiefen) erreichen, die im Trainingsmaterial nicht enthalten waren.
Sprich, da muss man schon einiges an Hirnschmalz und Erfahrungen reinstecken. So fit bin ich einfach noch nicht.

GP ist mir leichter zugänglich, weil man da weiterhin mit Preisen und Indikatoren auf die vertraute Art hantiert.

Und es ist einfach sehr interessant. 😉

1 hour ago, Arther said:

GP ist mir nicht im Detail genannt, ist offenbar ein sehr allgemeiner Ansatz

GA/GP ist eine Methodik, die man um sein Projekt außen rum "stülpen" kann. Insofern ein weicherer Übergang von konventieoneller Bot-Programmierung als die von dir genannten ML-Methoden.

IMHO auch recht modern, geht aber im aktuellen Hype um Deep NNs und ihre beeindruckenden Klassifizierungsfähigkeiten vielleicht etwas unter?

1 hour ago, Männergruppe Monk said:

Ja, habe ich. Geht nicht. Lass ich.

Wundert mich. Sind doch eigentlich letztendlich alles Verfahren zum Identifizieren von Mustern in verrauschten Daten. Sollten somit letztendlich alle ähnlich gut oder schlecht performen.

Vielleicht fehlt in deinem Matlab nur eine vernünftige Toolbox für genetische Programmierung? 😁

  • Like 1
Link to comment
Share on other sites

3 minutes ago, Männergruppe Monk said:

Ich glaube deswegen nicht daran, weil es ein paar Grundsätze im Trading widerspricht und deswegen nicht funktionieren kann.

Sicher?

Kannst du das detaillieren? Würde mich interessieren.

Link to comment
Share on other sites

9 minutes ago, Männergruppe Monk said:

Jeder Algorithmus, egal welcher, wird immer eine Phase haben, wo er funktioniert und eine, wo er nicht funktioniert.

Korrekt. Und deshalb setzt man da das Equity Kurve Modelling noch obendrauf.

Aber was hat das mit der Methode unterdrunter zu tun?

Link to comment
Share on other sites

8 minutes ago, Männergruppe Monk said:

Random Forest hat sich als sehr gut erwiesen.

Skalierst du da die Candle-Daten vorher auf relative Größen um? Oder schiebst du sie und die diversen Indikatoren unverändert rein?

Link to comment
Share on other sites

17 hours ago, Männergruppe Monk said:

Ich habe noch eine Tradingliste von einem Forex Contest, da hat einer 4500% in einem Monat gemacht. Sobald ich die mit den Preisdaten abgeglichen haben, versuche ich mal rauszufinden, wie die Regeln von dem aussahen 🙂

Könnte schwierig werden. 😉

a) Es war ein Glücksritter, der zufällig den oder die Jackpot-Trades gemacht hat.

b) Es war ein absoluter Profi mit perfekter Intuition durch jahre- bis jahrzehntelange Übung. Ob du dessen Feinheiten mit deinem System überhaupt abbilden kannst?

  • Love it 1
Link to comment
Share on other sites

Um mal zum eigentlichen Thema dieses Threads zurückzukommen ...

Aus einem Paper ("Genetic Programming and Financial Trading: How Much about 'What we Know'?", IMHO von 2008):

"The relevance of genetic programming (GP) to technical analysis is quite obvious. Technical analysis is mainly built upon some mathematical manipulations of the historical data of prices and volumes. [...] The interest in using GP to study technical analysis is, therefore, motivated by the two following concerns.

First, technical analysis generally does not refer to a fixed set of trading rules. They are evolving and changing over time. Many of them are still not even known to the public. However, for some time academic studies seem to have overlooked this property, and have tended to study them as if they are fixed over time. It is, therefore, not surprising to see the diversity of the results: they are profitable in some markets some of the time, while they fail in other markets at other times, and so they are very inconclusive. A more systematic way to study this evolving subject is to place it in a dynamic and evolving environment. Genetic programming, as a tool for simulating the evolution of trading rules in response to the changing environment, can then serve this purpose well.
    
Second, technical analysis usually involves quite complicated transformations and combinations of price and volume signals, which is too demanding to be harnessed by the human mind. GP, as a rules-generating machine, can better facilitate us to travel trough this jungle.

Given these two concerns, the financial application of GP to trading rules is distinguished from the use of other computational intelligence tools. The point of interest here is to see how well we are able to simulate the rule-discovery process without assuming the size and the shape of trading rules. Needless to say, other computational intelligence tools can help us with the market-timing decision, but they either do not provide us with trading rules, such as the linear perceptron neural networks and support vector machine, or they assume a fixed size or shape of trading rules, such as the decision trees, selforganizing maps and genetic algorithms. In fact, GP allows us to work with an issue of academic interest similar to automatic-theorem proofing, which is not shared by other competing tools."

  • Like 1
Link to comment
Share on other sites

Ein interessantes Paper zum Thema:

A real-time adaptive trading system using Genetic Programming

https://www.researchgate.net/publication/227623866_A_real-time_adaptive_trading_system_using_Genetic_Programming

Ein Nachteil dieses Papers ist das relative hohe Alter (von 2001) und die dadurch bedingte schwache Rechenkraft der damaligen PCs im Vergleich zu heute (vermutlich Pentium III oder weniger).

(Edit: Getradet wird in diesem Paper auf dem Forex-Markt. Hier gibt es einen großen Unterschied zum Aktien- oder Kryptomarkt: Der langfristige Erwartungswert bei Forex liegt bei Null, d.h. es gibt bei Forex kein langfristiges Wachstum, weswegen Buy-and-Hold-Strategien hier sinnlos sind. Bei Aktien und Kryptos laufen Optimierungen von Strategien u.U. in die Buy-and-Hold-Falle, d.h. sie kaufen einmalig und halten.)


Nichtsdestotrotz ist vieles aus dem Paper interessant:

Der hier verwendete Ansatz ist - im Gegensatz zu den üblichen Papers über maschinelles Traden - stark am Vorgehen menschlicher Trader orientiert, nicht an theoretisch-akademischen Grundmodellen.

Als Erfolgskriterium wird nicht einfach ein möglichst hoher Profit angestrebt, sondern die Stirling Ratio (Profit geteilt durch maximalen Drawdown), was laut Paper von menschlichen Tradern bevorzugt würde (kann ich nicht beurteilen).

Es wird keine einzelne Strategie benutzt, sondern es werden im Portfolio parallel die besten 20 Strategien gleichzeitig ausgeführt.

Über den von durch GP festgelegten Strategien steht noch ein "Cash Management", das eigenständig einen Stoploss führt und aktive Trades in zu großem Verlust schließt, bevor die GP-Strategie das ggfs selbst merkt.

Interessant ist auch, dass im ersten Ansatz auch die Verwendung mehrerer Candlegrößen gleichzeitig innerhalb jeder Strategie geplant wurde. Aufgrund der damals extrem hohen Rechenzeiten und Schwierigkeiten mit Overfitting wurde das im weiteren Verlauf leider wieder fallen gelassen.

Die Tradingregeln werden nicht beliebig "erfunden", sondern basieren auf ein paar Standardmethoden (MA-Kreuzungen, RSI-Schwellwerte, Channel-Breakout u.ä.), die über AND, OR und XOR miteinander verknüpft werden.
(Abschreckendes Beispiel: In einem anderen Paper durfte das GP Trading-Regeln auf der Basis des Preises und der vier Grundrechenarten erfinden - da kamen dann so einleuchtende Sachen heraus wie: wenn das Quadrat des Preises minus Preis plus 95 ...)


Zu ihren Ergebnissen - ihre Resultate sind leider nicht so überzeugend:

Die Out-of-Sample-Performance ihres Strategie-Portfolios sank ziemlich schnell ab.

Verschiedene Versuche mit periodischem Retraining oder adaptivem Retraining (d.h. nach Überschreitung gewisser Verluste) ergaben schlechtere Werte als bei Beibehalten der ursprünglich ermittelten Strategien.
Sie vermuten, dass ihr Retraining lediglich zur Anpassung an die letzten lokalen Markterhältnisse führt, d.h. Reduzierung der globalen Anteile zugunsten von Overfitting an die gerade erlebte Marktsituation.

 

Generell, so schreiben sie, war ihr Hauptproblem, das sie an der Verbesserung/Erweiterung ihrer Methodik gehindert habe, aber die arg begrenzte Rechenkraft. Ihr Modell nutzte nur 50 Individuen und 6 Generationen, brauchte aber pro Iteration schon 2h bis 4h Rechenzeit.

Edited by PeWi
Ergänzung
  • Thanks 1
Link to comment
Share on other sites

Am 25.5.2021 um 21:31 schrieb PeWi:

Abschreckendes Beispiel: In einem anderen Paper durfte das GP Trading-Regeln auf der Basis des Preises und der vier Grundrechenarten erfinden - da kamen dann so einleuchtende Sachen heraus wie: wenn das Quadrat des Preises minus Preis plus 95 ...)

 

Auswahl der Features ist natürlich Recht entscheidend, die Idee liegt aber natürlich immer erst einmal nahe, ob man einen Algo dazu bringen kann, High Level Features aus simplen Funktionen selber zusammen zu bauen. Bei NN ist das dann ja auch in der Tat gelungen.

Wird/Wurde den Regularisierung bei GP gemacht? Dürfte ja ähnlich funktionieren wie bei Baum-basierten Verfahren. Ka, ob das in der Form schon vor 20 Jahren üblich war.

Link to comment
Share on other sites

15 hours ago, coinflipper said:

Habt ihr oder habt ihr kein Modell gefunden, was man in Krypto anwenden kann?

Auf Github und Co habe ich schon gestöbert, aber bisher sieht es so aus, als müsste man das alles selber programmieren. 😉

Insofern stecken wir noch in der Theorie.

8 hours ago, Arther said:

Wird/Wurde den Regularisierung bei GP gemacht?

Üblicherweise begrenzt man die Baumtiefe, um Overfitting zu vermeiden.

Link to comment
Share on other sites

10 hours ago, Arther said:

die Idee liegt aber natürlich immer erst einmal nahe, ob man einen Algo dazu bringen kann, High Level Features aus simplen Funktionen selber zusammen zu bauen. Bei NN ist das dann ja auch in der Tat gelungen.

Das empfinde ich auch ein bisschen als Einschränkung. Wenn man sieht, wie aufwendig in "Elementarschritten"  alleine schon sowas wie RSI ist, dann halte ich die Chance für recht gering, dass GP einen sinnvollen neuen Indikator erfinden kann. Zumindest für ein GP in dem Umfang, den ein interessierter Amateur noch handlen kann. 😉

Würde es für GP ebenfalls so professionelle Bibliotheken wie für NNs geben - samt der entsprechenden Beschleunigung durch passende Hardware - wäre sicherlich auch etwas mehr möglich.

Aber unter den gegebenen Umständen finde ich den Ansatz aus dem letzten Paper sehr sinnvoll, Basiskonzepte wie MAs, MA-Kreuzungen, Channelausbrüche und ähnliches als basisbausteine zur Verfügung zu stellen und über GP "nur" passende Kombinationen davon zu finden.

Link to comment
Share on other sites

vor 4 Stunden schrieb PeWi:

Das empfinde ich auch ein bisschen als Einschränkung. Wenn man sieht, wie aufwendig in "Elementarschritten"  alleine schon sowas wie RSI ist, dann halte ich die Chance für recht gering, dass GP einen sinnvollen neuen Indikator erfinden kann. Zumindest für ein GP in dem Umfang, den ein interessierter Amateur noch handlen kann. 😉

Würde es für GP ebenfalls so professionelle Bibliotheken wie für NNs geben - samt der entsprechenden Beschleunigung durch passende Hardware - wäre sicherlich auch etwas mehr möglich.

Aber unter den gegebenen Umständen finde ich den Ansatz aus dem letzten Paper sehr sinnvoll, Basiskonzepte wie MAs, MA-Kreuzungen, Channelausbrüche und ähnliches als basisbausteine zur Verfügung zu stellen und über GP "nur" passende Kombinationen davon zu finden.

Ich finde eure Ansätze interessant, aber ich glaube, ihr macht das zu theoretisch und kompliziert. Mein Hausverstand sagt mir folgendes: Wenn ich als Mensch nicht fähig bin, zu erfassen, was andere tun, um erfolgreich zu traden, wie soll ich einer Maschine dann beibringen dies nachzuahmen?

Ich meine, erkennt ihr was gute Trader eigentlich ausmacht?

Link to comment
Share on other sites

14 minutes ago, coinflipper said:

Ich meine, erkennt ihr was gute Trader eigentlich ausmacht?

Das ist vermutlich mein größtes Handicap. Ich bin selber kein Trader und habe nur Theoriewissen aus Büchern. Theoriewissen hat aber noch nix mit Können zu tun. Insofern probiere ich notgedrungen viel über Backtests aus. Und ich erlebe es dauernd, dass mir toll und einleuchtend erscheinende Ideen im Backtest um die Ohren fliegen.

15 minutes ago, coinflipper said:

Wenn ich als Mensch nicht fähig bin, zu erfassen, was andere tun, um erfolgreich zu traden, wie soll ich einer Maschine dann beibringen dies nachzuahmen?

Das ist aber gerade der Witz an maschinellem Lernen - die Maschine leitet aus dem Datenmaterial selber eigene Regeln ab. (Damit das überhaupt funktionieren kann, muss man im Gegenzug aber einiges an Mühe reinstecken, um Overfitting zu vermeiden und zu "generellen" Regeln zu kommen.)

Und zumindest auf dem Gebiet des maschinellen Lernens hat es sich schon oft als Irrweg herausgestellt, wenn ein menschlicher Experte Vorgaben an die Maschine macht. Nach ersten Anfangserfolgen fährt das ganze normalerweise recht schnell in eine Stagnation - trotz guter Experten - und erreicht erst dann weitere Verbesserungen, wenn man auf die Experten-Vorgaben verzichtet und die Maschine frei und selber lernen lässt.

Literatur dazu: "The Bitter Lesson"

http://www.incompleteideas.net/IncIdeas/BitterLesson.html

  • Like 1
Link to comment
Share on other sites

vor 48 Minuten schrieb PeWi:

Das ist aber gerade der Witz an maschinellem Lernen - die Maschine leitet aus dem Datenmaterial selber eigene Regeln ab. (Damit das überhaupt funktionieren kann, muss man im Gegenzug aber einiges an Mühe reinstecken, um Overfitting zu vermeiden und zu "generellen" Regeln zu kommen.)

Witzig ist, dass mein Ansatz genau dieses Overfitting wäre. Ich habe ja einiger Maßen ein System, nachdem ich trade und was ich versuche, ist, dass die Maschine mein Können kopiert, nicht so tut, wie wenn sie es besser können soll. 

Wenn ich mir mein Trading anschaue, und auch das anderer, von denen ich glaube, sie sind erfolgreich darin, dann beläuft es sich immer darauf hinaus, dass man ein System hat, als "Basis" und grundsätzlich hält man sich an diesem. (z.B. rudimentäre MA-Crosses, Ableitungen aus RSI, Stochastic, oder andere Idikatoren. Manche trader schwören auf Price-Action, andere zählen Kerzen und interpretieren Elliot-Waves.) Dennoch hat jeder Trader so sein Lieblingsset an Methoden, die er eventuell intuitiv am besten liest. 

Dann kommen aber Momente, wo andere Dinge einfach eklatant wichtiger sind und in diesem Moment klarer als die eigene Methode. z.B. könnte der eigene Indikator unschlüssig sein, aber die Kerzenformation so klar sein, dass man sich auf die Kerzenformation verlässt, oder price-action-retests, oder sowas. Diese Fälle lernt man durch Erfahrung, die Methode hingegen ist schon fast maschinell daily business. 

Wenn man sich das nun gesamtheitlich durchüberlegt, kann ich mir nicht vorstellen, dass eine Maschine das begreift. Sie kann sämtliche Formationen, Methoden etc. kennen, aber der Kurs bildet immer wieder widersprüchliche Situationen ab, die einfach unklar sind. Und hier zu entscheiden, ob und was man tut, ist schwer zu programmieren. Auch oft gibt es noch andere facts, die interessant sind: z.B. der Markt an sich, nicht nur der eine Chart, oder das Sentiment der Menschen, oder andere Faktoren wie Future-Expiring-Dates, Funding, Option-Expiring, etc. (z.B. aktuell laufen Optionen aus auf BTC. Wenn der Kurs an die 50k kommt, verdienen viele Menschen nichts mehr mit ihrer Option-Wette. Unter der Haube munkelt man, dass Optionen und expirey Dates wichtiger sind als Future-Expiry-Dates und ein wichtiger Faktor sein werden für Volatility und Kurssprünge. Das hätte eine Maschine nicht aus dem Chart lesen können. Die damit verbundenen Verflechtungen zu Altcoins und den dahinterliegenden Derivaten auch nicht.)

Ebenso wie fundamentale Ereignisse bei Coins (halving > wie gewichtet man das? Anstehende News, leaks, etc.). Ich trade zwar den Chart, aber je länger man sich mit dem Markt an sich auch befasst, den Projekten, Zielen und Erfolgen dahinter, schätzt man Eigenheiten von Coins besser ein. Kann eine Maschine wissen, dass XRP Mist ist? Aber dennoch zu den TOP-Coins gehört? Oder, dass DOGE nur ein MEME ist, aber durch die Marktkapitalisierung doch ernst zu nehmen ist, dass dessen senkrechte Pumps, gar nicht so Pump and Dump sind, wie bei anderen Coins? Oder, dass MATIC einen ziemlich gefährlichen Market Maker hat, und auch mal wie gestört 70% fallen kann?

Weißt du was ich meine? Dieser gesamte Bereich, den sehe ich in euren mathematischen Bemühungen nicht. Man traded eben nicht nur Kursbwegungen, sondern Absichten der anderen Teilnehmer, dazu muss man verstehen, wo und wie die anderen zu Geld kommen wollen, um entsprechend zu partizipieren oder Risiko zu verwalten.

EDIT: habe deinen verlinkten Text gelesen und offensichtlich widerspricht mir der Text :) Dennoch sind die von ihm beschriebenen Fälle anders gelagert. Ein Spiel hat Regeln: Reihenfolge der Züge, die getätigt werden müssen. Und es ist ein A gegen B. Trading funktioniert so nicht. Du kannst Züge aussetzen, du kannst A sein, aber auch mal das tun, was B tut und jemand anderes A sein lassen. Du hast andere Freiheiten und dadurch andere Möglichkeiten und sowohl du hast diese, als auch alle anderen ins besondere das große Kapital wechselt oft das Spielfeld.

Und nochmal zum Nachdenken, über Market Maker aka Wyckoffs Theorie: Traden wir gegen jemanden? Gegen alle? Schlagen wir uns auf eine Seite? Traden wir allein? Traden wir überhaupt gegen jemanden, oder einfach nur die Volatilität? Oder wie es Sam Trabucco sagte: traden wir das Market Delta? Wie groß bist du eigentlich? Groß genug, um anstatt Trading von reinem Rebalancing von Positionen zu sprechen?

Für mich ist ein starrer Algorithmus, auch ein lernender, zu einseitig, zumindest meine jetzige Auffassung.

Edited by coinflipper
Link to comment
Share on other sites

9 hours ago, coinflipper said:

Dann kommen aber Momente, wo andere Dinge einfach eklatant wichtiger sind und in diesem Moment klarer als die eigene Methode. z.B. könnte der eigene Indikator unschlüssig sein, aber die Kerzenformation so klar sein, dass man sich auf die Kerzenformation verlässt, oder price-action-retests, oder sowas. Diese Fälle lernt man durch Erfahrung, die Methode hingegen ist schon fast maschinell daily business. 

Wenn man sich das nun gesamtheitlich durchüberlegt, kann ich mir nicht vorstellen, dass eine Maschine das begreift. Sie kann sämtliche Formationen, Methoden etc. kennen, aber der Kurs bildet immer wieder widersprüchliche Situationen ab, die einfach unklar sind. Und hier zu entscheiden, ob und was man tut, ist schwer zu programmieren.

Deswegen ist ein Mantra beim maschinellen Lernen, dass man sehr viel mehr Daten braucht, als man annehmen würde.

Meine konventionellen Backtests gehen mit Stunden -Candles über einzelne Halbjahre (oder mal bis zu einem ganzen Jahr). Bei NNs rechnet man eher mit 1min-Candles über 5 Jahre oder gleich Tick-Daten über diesen Zeitraum.

Diese riesigen Datenmassen haben zwei Vorteile: Zum einen kann das maschinelle Lernen potentiell mehr Erfahrung sammeln und damit mehr Nuancen erfassen, zum anderen verhindern große Datenmengen Overfitting.

(Das ist für mein Projekt aber nur schöne Theorie; weder habe ich soviele Daten in solch feiner Auflösung, noch könnte ich die damit verbundenen Rechenzeiten mit meiner Hardware stemmen. Und ich habe auch nicht die finanziellen Möglichkeiten, mir einfach ein Monster-Rig mit soundsoviel Monster-Grafikkarten hinzustellen, um dank Cuda damit die fetten NNs berechnen zu lassen.)

9 hours ago, coinflipper said:

Dennoch sind die von ihm beschriebenen Fälle anders gelagert. Ein Spiel hat Regeln: Reihenfolge der Züge, die getätigt werden müssen. Und es ist ein A gegen B. Trading funktioniert so nicht. Du kannst Züge aussetzen, du kannst A sein, aber auch mal das tun, was B tut und jemand anderes A sein lassen. Du hast andere Freiheiten und dadurch andere Möglichkeiten und sowohl du hast diese, als auch alle anderen ins besondere das große Kapital wechselt oft das Spielfeld.

Aus theoretischer Sicht würde ich sagen, dass deine Einwände lediglich erweiterte Regeln darstellen.

Interessant - Nebenthema - finde ich auch, wie Googles AlphaZero Go gespielt hat und die höchsten Go-Danträger der Welt besiegt hat. AlphaZero wurde attestiert, dass es - im Gegensatz zu bisherigen Programmen - höchst überraschend und intuitiv spiele.

So ein Hardware- und Software-Aufwand ist natürlich beliebig über unseren Möglichkeiten, zeigt aber, dass maschinelles Lernen grundsätzlich durchaus deine geforderte Intuition entwickeln kann.

Eine Frage an dich, weil ich das selber nicht einschätzen kann: Meinst du, dass ein Programm mindestens dein Niveau haben müsste, um profitabel zu sein? Oder reicht auch weniger?

 

Noch ein paar Nachträge zu deinem langen Post (schön, das sich tatsächlich jemand Gedanken macht, die über Einzeiler hinausgehen!):

10 hours ago, coinflipper said:

Witzig ist, dass mein Ansatz genau dieses Overfitting wäre.

Ein breites "Methoden-Können" ist kein Overfitting. Overfitting ist mehr das Auswendig-Lernen der Kurse und das damit ermöglichte Abspulen von ziemlich perfekten Aktionen.

10 hours ago, coinflipper said:

Wenn man sich das nun gesamtheitlich durchüberlegt, kann ich mir nicht vorstellen, dass eine Maschine das begreift. Sie kann sämtliche Formationen, Methoden etc. kennen, aber der Kurs bildet immer wieder widersprüchliche Situationen ab, die einfach unklar sind. Und hier zu entscheiden, ob und was man tut, ist schwer zu programmieren.

Deswegen sind frühere Versuche der Mustererkennung wie z.B. Gesichtserkennung gescheitert. Sowas explizit zu programmieren hat trotz erheblicher Anstrengungen nie jemand geschafft. Der Durchbruch kam erst, als man tiefe NN sich selber organisieren ließ.

10 hours ago, coinflipper said:

Auch oft gibt es noch andere facts, die interessant sind: z.B. der Markt an sich, nicht nur der eine Chart, oder das Sentiment der Menschen, oder andere Faktoren wie Future-Expiring-Dates, Funding, Option-Expiring, etc.

Heutige State-of-the-Art-Trading-Systeme (also nix, was man als Privatmensch kaufen könnte) beziehen deshalb Informationen aus so vielen Quellen wie möglich, der Chart ist nur eine davon. Sentiment-Beurteilung z.B. ist IIRC inzwischen Standard.

10 hours ago, coinflipper said:

Weißt du was ich meine? Dieser gesamte Bereich, den sehe ich in euren mathematischen Bemühungen nicht. Man traded eben nicht nur Kursbwegungen, sondern Absichten der anderen Teilnehmer, dazu muss man verstehen, wo und wie die anderen zu Geld kommen wollen, um entsprechend zu partizipieren oder Risiko zu verwalten.

Das ist die spannende Frage - wieviel ist nötig, um damit zumindest ein bisschen Geld zu verdienen? Falls du mit deinem Wissen und deinen Fähigkeiten gerade so profitabel sein solltest, dann hat dieses Projekt keinen praktischen Nutzen. Denn so ein Niveau wird das, was ich bauen möchte, keinesfalls erreichen.

Es wäre aber natürlich trotzdem ein interessantes und lehrreiches Projekt - rein für den Spass ... 😉

10 hours ago, coinflipper said:

Und nochmal zum Nachdenken, über Market Maker aka Wyckoffs Theorie: Traden wir gegen jemanden? Gegen alle? Schlagen wir uns auf eine Seite? Traden wir allein? Traden wir überhaupt gegen jemanden, oder einfach nur die Volatilität? Oder wie es Sam Trabucco sagte: traden wir das Market Delta? Wie groß bist du eigentlich? Groß genug, um anstatt Trading von reinem Rebalancing von Positionen zu sprechen?

Mein Gedankengang ist eher: Gibt es für mein kleines Geld Nischen, die den Profis zu klein sind? Wo gehobelt wird, da fallen Späne - kann ich irgendwie Späne aufsammeln gehen?

  • Love it 1
Link to comment
Share on other sites

2 hours ago, Männergruppe Monk said:

ML, DL und RL bringen den Vorteil, dass ich z.B. in einem solchen binären Classifikationsproblem (Buy, Do None) die unterschiedlichsten Informationen zusammenfassen kann und evtl. einen besserer selber Edge finde bzw. vom Computer finden lasse.

Eigentlich sind alle Verfahren Methoden zum Finden von Patterns, ich würde GP davon nicht ausnehmen.

Den einzigen ernsthaften Unterschied sehe ich darin, dass man bisher auf GP wohl nicht so einfach große Resourcen draufwerfen kann wie auf alles, was mit NNs zu tun hat. (Zumindest habe ich bisher noch nichts von hardware-beschleunigtem GP gelesen.)
Und das macht zugegebenermaßen einen deutlichen Unterschied, wenn man professionell Geld verdienen möchte.

2 hours ago, Männergruppe Monk said:

Das Problem des Overfittens ist eigentlich keins, wenn man die richtigen Testprozeduren hat und bei der Systementwicklung berücksichtigt.

Da hätte ich gerne etwas "Butter bei die Fische", bevor ich dir das so einfach abnehme. 😉

 

Edited by PeWi
Tippfehler
Link to comment
Share on other sites

47 minutes ago, Männergruppe Monk said:

Zum Thema Overfitting, das habe ich Dir jetzt schon öfter geschrieben, liesst Du meine Kommentare auch ?

Da ich sie immer lese, muss es wohl am Inhalt liegen, der mich nur begrenzt überzeugt. 😉

Die von dir immer wieder beschriebene Methode (Position Sizing + Equity Modelling) verhindert IMHO kein Overfitting. Sie verhindert "nur", dass schlecht laufende  Strategien auf die Finanzen deines Accounts merklich durchschlagen. Eine Strategie mit massivem Overfitting wäre dann halt fast durchgehend auf Paper Trading.

Deine heutige, deutlich längere Liste an Punkten gefällt mir auch schon besser - Punkt 1 ist die Kunst, während deine restlichen Punkte 2 bis 5 IMHO eher Handwerk sind (zugegebenermaßen sehr wichtiges).

1 hour ago, Männergruppe Monk said:

Overfitting wirst Du spätestens ab Punkt 2 sehen. Wenn es da schon nicht funktioniert, dann brauchst Du Dir keine weiteren Gedanken machen.

Und hier sind wir uns wieder einig.

  • Love it 1
Link to comment
Share on other sites

2 hours ago, Männergruppe Monk said:

Ja, dann brauch ich auch nicht mehr auf Deine Kommentare zu antworten, weil sie oft einfach falsch sind.

Falls sie wirklich falsch sind - und nicht nur nicht deinen Ansichten entsprechen - dann wäre es doch hilfreich, wenn du bei deiner Replik eine Begründung dazuschreibst, die so gehalten ist, dass sie der durchschnittliche Leser auch nachvollziehen kann. Oder? Der Thread soll doch einen Mehrwert für die Leser haben?

Solche Sätze wie "... tritt nur auf, wenn man ein System auf den genommenen Datensatz zu sehr optimiert, ohne die Flexibilität des Referenzdatensatzes zu berücksichtigen" klingen im ersten Moment zwar toll und richtig kompetent, sind aber letztendlich genauso platt wie Binsenweisheiten.

Wer nicht eh' schon weiß, was damit gemeint ist, dem verhelfen diese Sätze auch nicht zu mehr Einsichten.
 

2 hours ago, Männergruppe Monk said:

Ansonsten, wer doch einfach mal mit einem System fertig, bevor Du ne neue/alte Sau durchs Dorf jagst.

Wer lässt denn sofort alles liegen und stehen, sobald es einen neueren heißen Scheiß gibt? 😜

Edited by PeWi
Link to comment
Share on other sites

vor 22 Stunden schrieb PeWi:

Aus theoretischer Sicht würde ich sagen, dass deine Einwände lediglich erweiterte Regeln darstellen.

 

vor 22 Stunden schrieb PeWi:

Ein breites "Methoden-Können" ist kein Overfitting. Overfitting ist mehr das Auswendig-Lernen der Kurse und das damit ermöglichte Abspulen von ziemlich perfekten Aktionen.

Ich glaube dein Ansatz und Zugang ist falsch. Trader fangen oft so an, dass sie die basics lernen, dann müllen sie ihre Charts zu mit zig Linien und Indikatoren usw. Später, nachdem sie den "Dreh" raus haben, mit welcher Methode auch immer, reduziert sich ihr Chart immer mehr auf ihre festgelegten "Grundtools". Was du hier als overfitting bezeichnest, ist das, was ein erfahrener Trader tut. Er schaut sich einen Chart an und sucht nach genau diesem Muster, oder dieser Formation, wo er weiß, dass diese Situation sehr wahrscheinlich zu einem gewissen Ergebnis führt. Deswegen sagen viele Trader auch, dass sie die meiste Zeit nichts tun und auf den richtigen Trade warten. Sobald er da ist, ist es für sie relativ klar. Sie pressen alle Charts in ihre Methode, die entweder A oder B ausspuckt.

Gesamtheitlich betrachtet hat der eine Trader eine Situation als günstig beurteilt, wenn der Kurs eventuell ganz am Boden ist, anderer würde dazu sagen, es ist "Knife-Catching" und man sollte auf den Retest warten. Wieder ein anderer, steigt mitten im Trend ein usw.

Dein Zugang ist aktuell, "ich brauche so viele Daten und Indikatoren wie möglich, dann könnte die Maschine alles besser beurteilen." Genau wie ein Anfänger-Trader, der meint, sobald er alle (sehr viele) Indikatoren konsultiert hat, weiß er, nun was passieren kann. Der gute Trader ist erst dann gut, wenn er eine Methode hat, auf die er sich definitiv verlassen kann. Für ihn, ist das keine "Spekulation" mehr, sondern ein deutlicher Impuls mit einer sehr hohen Wahrscheinlichkeit und das basierend auf nur sehr geringen Indikatoren, oder Faktoren.

Ich wollte nicht zum Ausdruck bringen, dass du mehr Daten brauchst. Sondern, dass man mit mehr Daten die sehr starken Signale besser finden kann. Nehmen wir an, ein RSI von 5 auf einem 4h Chart, ist zu 90% ein guter Kaufzeitpunkt. Dann ist dieses Signal so stark, dass alles andere irrelevant ist, egal ob es ein Downtrend ist, oder andere Signale gegensätzlich sind. Ein anderes Mal, könnte es sein, dass eine mehrfach bullische Divergenz auf mehreren Zeiteinheiten so stark ist, dass sie einem eine Trendumkehr klar verdeutlicht. Ein anderes starkes Signal könnte ein bullisches Retest einer sehr wichtigen und langen Resistence sein... Manche handeln MA-Crosses, oder Ichimoku-Cloud-Eintritte usw.

Anstatt nun alle Möglichkeiten aller Indikatoren gegeneinander zu jedem Zeitpunkt zu verifizieren, finde ich den Ansatz der menschlichen Trader besser: Sie suchen nach ihrem bekannten und erfolgreichen Muster. Sie reduzieren, nach ihrer Erfahrung. Ich programmiere das Programm so, dass es mein Muster findet, nicht Muster zu erkennen, von denen ich nichts weiß, um sie durch backtests zu prüfen. Klar, könnte auch das funktionieren, aber wie viele erfolgreiche Strategien braucht man eigentlich? :D 

Dein Ansatz ist nicht das eines Traders, sondern das "aller Trader auf einmal durch statistischer Wahrscheinlichkeit zu beurteilen".

Ich gebe dir ein Beispiel: Ein Twitter-Follower schrieb mir mal, dass der Trend umkehren wird basierend auf nur 2 Kerzen. Also einer Kerzenformation, wobei die zweite Kerze im Verhältnis zur ersten ein bestimmtes Aussehen haben muss. Ich habe ihn gefragt, er möge mir das erklären und er zeigte mir dann mehrere solcher Fälle, die alle gestimmt haben. Er suchte und wartete immer auf solche Kerzen. Mehr brauchte der nicht. (z.B: die ETH/USD daily Kerze bei 4k ist so eine, exakt am TOP).

Und die "menschliche" Methode ist ja nur so "simpel" gebaut, weil ein Mensch sonst einfach nicht die Zeit und Energie hat, alles durchzuforsten und backzutesten. Man muss auch mal handeln und nicht nur analysieren ;) Da muss ich Männergruppe Monk Recht geben: fang an. Sobald du anfängst und eine "gute Methode hast", hast einen Anhaltspunkt und von dem kannst ausgehen. Oder aber, du lässt dein Programm suchen, sobald es etwas "brachbares" hat, soll das Programm sich auf diversen Änderungen und Feinjustierung selbst testen, und wenn es "falsch"-Signale ausspuckt, musst du diese rausfiltern können und beurteilen können, ob an diesen Stellen nicht andere Methoden zum Greifen kamen, die gesamtheitlich rar sind, aber deutlich.

Z.B. Strategie A, führt bei ständiger Wiederholung zu einer 70% Trefferquote.

die 30% Fehlerquote sind aber Zeitpunkte, wo Indikator B/Formation C/Volumensprofil X etc. eine 80% Trefferquote hat mit der Aussage: Hier ist Nichthandeln besser. Du brauchst quasi auch etwas, dass deiner Strategie widerspricht. Das ist die Kunst ein Trade auch von der Gegenseite zu betrachten und zu hinterfragen: "Nehmen wir an, der umgekehrte Fall trifft ein."

Der fundamentale Part, ist ein Part, der nur bei langfristigen Trades mMn eine Rolle spielt und da die Auswahl von Coins bei ähnlich gelagerten Charts, verbessern kann. Manchmal schaut der Chart mies aus, aber du vertraust den fundamentalen Inhalten, die du kennst. Denn so gut man auch ist mit TA, manchmal ist es eben nur eine Falle, und da helfen einem diese fundamentalen News, eine als solche eventuell einschätzen zu können. Hingegen das Sentiment ist viel näher am Ereignis.

Insgesamt meiner Erfahrung nach: Je mehr Faktoren du zur Rate ziehst, desto "weicher" ist deine Entscheidung, auch im Bezug auf Einsatz und Risiko, weil es die Unsicherheit der Verlässlichkeit deiner Signale einzelner Faktoren widerspiegelt. Je präziser und simpler deine Methode ist, desto eher kannst du auch mit Einsatz und Risiko in die Höhe fahren.

Edited by coinflipper
Link to comment
Share on other sites

vor 1 Stunde schrieb coinflipper:

Ich glaube dein Ansatz und Zugang ist falsch. Trader fangen oft so an, dass sie die basics lernen, dann müllen sie ihre Charts zu mit zig Linien und Indikatoren usw. Später, nachdem sie den "Dreh" raus haben, mit welcher Methode auch immer, reduziert sich ihr Chart immer mehr auf ihre festgelegten "Grundtools". Was du hier als overfitting bezeichnest, ist das, was ein erfahrener Trader tut. Er schaut sich einen Chart an und sucht nach genau diesem Muster, oder dieser Formation, wo er weiß, dass diese Situation sehr wahrscheinlich zu einem gewissen Ergebnis führt. Deswegen sagen viele Trader auch, dass sie die meiste Zeit nichts tun und auf den richtigen Trade warten. Sobald er da ist, ist es für sie relativ klar. Sie pressen alle Charts in ihre Methode, die entweder A oder B ausspuckt.

Ich finde deine Perspektive recht interessant. Jedenfalls ist "overfitting" ein Fachbegriff im Machine Learning mit festgelegter Bedeutung und im Kern eine Konsequenz daraus, dass sich Fehler in der Vorhersage in Variance (was zu Overfitting führt) und Bias separieren lassen.
Du hast den Begriff glaube ich falsch verstanden, ich vermute wegen einer schlechten Intuition bezüglich Computer-Algorithmen (was sehr verständlich ist :D). Wenn du schreibst "Er schaut sich einen Chart an und sucht nach genau diesem Muster[...]" ist das etwas anderes als wenn ein Computer nach "genau diesem Muster" sucht, denn ein Trader sucht in Wahrheit nicht nach genau dem Muster, sondern dem Muster, das dem Wesen nach her vergangenen Mustern entspricht. Und genau das will man einem Computer ebenso beibringen. Overfitting bezeichnet genau das Gegenteil, nämlich das klammern an einzelne konkrete Werte ohne das "Wesen" des Musters zu erfassen um dann eben zu erkennen, dass ein Muster dem Wesen nach ganz klar dem entspricht was man kennt und also auch das zukünftige Ergebnis klar kennt.

 

 

vor 23 Stunden schrieb PeWi:

Interessant - Nebenthema - finde ich auch, wie Googles AlphaZero Go gespielt hat und die höchsten Go-Danträger der Welt besiegt hat. AlphaZero wurde attestiert, dass es - im Gegensatz zu bisherigen Programmen - höchst überraschend und intuitiv spiele.

Am Rande: Was mich damals sehr beeindruckt hat war, dass einer der Go Meister meinte, AlphaZero habe Strategien verwendet, die für einen Menschen viel zu komplex seien, weil sie das halbe Spielfeld umfassten.

  • Love it 1
Link to comment
Share on other sites

Erst mal danke für deinen ausführlichen Post und deine ausführlichen Erläuterungen! 👍

20 minutes ago, coinflipper said:

Was du hier als overfitting bezeichnest, ist das, was ein erfahrener Trader tut.

Da reden wir möglicherweise aneinander vorbei. Im Kontekt des maschinellen Lernens heißt Overfitting eher das stumpfe Auswendiglernen von Kurspunkten und Indikatorwerten ohne die Fähigkeit des Transfers. Als simplifiziertes Beispiel: Dein Beispiel mit dem 2er Kerzen-Muster würde von einer overfittenden Strategie nur dann wiedererkannt werden, wenn nicht nur die Kerzen wieder so aussehen, sondern nur, wenn auch der Kurswert praktisch gleich ist - also keine "Ähnlichkeiten", sondern nur "Gleichheiten".

Und noch ein mögliches Missverständnis: Nur weil dem genetischen Programmier-Algorithmus diverse Indikatoren als Basisbausteine gegeben werden, heißt das nicht, dass die Strategie-"Individuen" sie auch alle verwenden müssen oder werden. Im Gegenteil, ein solches Exemplar mag durchaus zum Schluss kommen, dass seine Buy-Regel lediglich aus "IF RSI < 5 THEN BUY" bestehen mag. Oder aus "IF (RSI < 5 ) AND NOT (<gegenanzeigen>) THEN BUY".

Jedes Individuum würfelt ja für sich aus, wie kompliziert und verschachtelt oder eben wie einfach und simpel sein Entscheidungsbaum werden soll. Es muss nur gut genug im Vergleich zu den anderen Individuen sein, um es in die jeweils nächste Runde zu schaffen.

29 minutes ago, coinflipper said:

Nehmen wir an, ein RSI von 5 auf einem 4h Chart, ist zu 90% ein guter Kaufzeitpunkt. Dann ist dieses Signal so stark, dass alles andere irrelevant ist, egal ob es ein Downtrend ist, oder andere Signale gegensätzlich sind. Ein anderes Mal, könnte es sein, dass eine mehrfach bullische Divergenz auf mehreren Zeiteinheiten so stark ist, dass sie einem eine Trendumkehr klar verdeutlicht. Ein anderes starkes Signal könnte ein bullisches Retest einer sehr wichtigen und langen Resistence sein... Manche handeln MA-Crosses, oder Ichimoku-Cloud-Eintritte usw.

Eine Grundlage für diese Methodik ist dann aber notgedrungen, dass man mit allen diesen Signaltypen überhaupt etwas anfangen kann.

Aber mir leuchtet ein, auf was du hinauswillst. Entweder das Programm wird so komplex, dass es alle Signaltypen kennt und tatsächlich unter ihnen abwägen kann, welche es unter den momentanen Umständen heranziehen soll. (Das mag mit tiefen NNs im Rahmen von Reinforement Learning o.ä. möglich sein.)

Oder - eher der Level von Hobbyprogrammiern wie mir - es sollte sich auf einen funktionierenden Signaltypen (mit eventuellen Gegenanzeigen) beschränken und nicht versuchen, die eierlegende Wollmilchsau anzustreben.

1 hour ago, coinflipper said:

Klar, könnte auch das funktionieren, aber wie viele erfolgreiche Strategien braucht man eigentlich?

Weil im allgemeinen maschinelle Strategien nicht dein intuitives Niveau erreichen, lässt man idealerweise mehrere parallel laufen, beobachtet ihre Ergebnisse und schaltet jede Strategie einzeln je nach aktueller Performance zwischen Paper Trading und echtem Trading hin und her.
Mal laufen eine Zeit lang Mean Reversion-Strategien besser, mal Trend-Strategien, mal sind Strategien auf dem 4h-Chart profitabler, mal auf dem 1h-Chart, ... wenn du nach Z-Score und Monk suchst, der hat dazu einiges geschrieben.

1 hour ago, coinflipper said:

Man muss auch mal handeln und nicht nur analysieren ;) Da muss ich Männergruppe Monk Recht geben: fang an.

Dieses "fang an" irritiert mich immer - ich habe seit dreieinhalb Jahren Bots mit eigenen Geld laufen. Ich habe welche in Python entwickelt, ich habe welche in Go entwickelt, ich habe welche für Polo, für Bina und für Kraken gebaut. Und ich habe für jeden dieser Bots -zig Strategien, zwischen denen ich in der Config umstellen kann.

Ist das genug angefangen? 😜

Aber ich habe im Forum schon öfters geschrieben, dass ich mit meinen Bastelstrategien nicht so erfolgreich/profitabel bin, wie ich es gerne wäre. Und deshalb habe ich angefangen, mich für komplexere Geschichten wie NNs, RL und GA/GP zu interessieren.

Dass das mangels Vorwissen und aufgrund von weniger freier Zeit als früher zäher und frustrierender voran geht, ist halt so. Und wenn ich nach einiger Beschäftigung mit NNs/RL zu dem Schluss komme, dass ich da nur wenig weiterkomme und auch mal ein anderes Gebiet wie GA/GP beschnuppern möchte, das mir vermutlich mehr liegt, weil es näher am "normalen" Programmieren liegt als NN/RL, dann ist das halt auch so.

Deswegen baue ich im Hintergrund auch immer wieder an meinen bisherigen Bots weiter. 😉

1 hour ago, coinflipper said:

Oder aber, du lässt dein Programm suchen, sobald es etwas "brachbares" hat, soll das Programm sich auf diversen Änderungen und Feinjustierung selbst testen, und wenn es "falsch"-Signale ausspuckt, musst du diese rausfiltern können und beurteilen können, ob an diesen Stellen nicht andere Methoden zum Greifen kamen, die gesamtheitlich rar sind, aber deutlich.

Z.B. Strategie A, führt bei ständiger Wiederholung zu einer 70% Trefferquote.

die 30% Fehlerquote sind aber Zeitpunkte, wo Indikator B/Formation C/Volumensprofil X etc. eine 80% Trefferquote hat mit der Aussage: Hier ist Nichthandeln besser. Du brauchst quasi auch etwas, dass deiner Strategie widerspricht.

Das aktive Beschäftigen mit Gegenanzeigen mache ich bisher auf jeden Fall zu wenig - das ist ein guter Punkt, mit dem ich mich auf jeden Fall mehr beschäftigen muss.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.