Zum Inhalt springen

PeWi

Mitglied
  • Gesamte Inhalte

    3.060
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von PeWi

  1. 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.
  2. 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:
  3. Ich hab's eben mit einem Epson Generic Driver probiert, da kam ein WinZip hoch und dann zusätzlich das eigentlich Setup-Programm. Habe ich beide über den Taskmanager abgeschossen, wurde trotzdem das temporäre Verzeichnis gelöscht. Habe leider keine Zeit, um weiter zu experimentieren, weil mein Sprössling gleich Richtung Studiumsstadt aufbricht, und der zu installierende Drucker sowieso dort steht. Ich muss mir dein Verfahren aber auf jeden Fall merken. 👍
  4. Muss ich beim nächsten Mal ausprobieren. Hast du ein Tool, um die heutzutage üblichen Treiber-EXEs auszupacken, oder startest du das EXE und schießt es dann irgendwann ab?
  5. Ich hatte @Axiom0815so verstanden, dass er einen handelsüblichen Netzwerk-Laserdrucker für Privatleute meint, also einen mit Ethernet-Buchse und WLan. Wenn ich sehe, was wir bei der Treiberinstallation unseres neuen HP-Lasers (kleiner SW-Laser, mit Lan u. WLan) alles angeben und abnicken sollten/mussten ... Ich würde mich nicht wundern, wenn der genaueste Nutzungsstatistiken etc "nach Hause" schicken würde.
  6. Wenn man schon Bedenken hat, , müsste man da nicht dem Treiber auf dem eigenen PC genauso misstrauen? Sprich, für einen sicheren Vollblock darf auch der PC, von dem aus man druckt, keinen Internetzugriff haben.
  7. 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.)
  8. 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!
  9. 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?
  10. PeWi

    Gesundheit / Ernährung

    Der taugt IMHO nicht viel. Z.B. sollte schon lange bekannt sein, dass man bei größeren Dosen Vitamin D mit Vitamin K kombiniert nehmen muss, und dann eben nicht in die Kalzium-Problematik läuft. Oder dass die hiesigen Grenzwerte für Vitamin D wirklich nur die allerunterste Mangel-Vermeidung sind, aber ein vernünftiger Spiegel doch ein ganzes Stück höher liegt. Insofern greift mir auch die zitierte Beurteilung von ökotest zu kurz, falls die tatsächlich bemängeln, dass die Dosierung bei den meisten Nicht-Apotheken-Produkten zu hoch wäre.
  11. PeWi

    Gesundheit / Ernährung

    Kurz OT: Habt ihr bei den Cookie-Einstellungen mal geschaut, wieviele Anbieter unter "Personalisierte Anzeigen ..." hängen? Das sind weit über 100 Stück. (Wenn ich mich nicht verzählt habe, sind alleine die Anbieter mit dem Anfangsbuchstaben "A" schon 109 Stück.)
  12. Soso. Bei wievielen Coins von den mehreren Tausend hat sich diese Strategie nochmal so toll bewährt? Scheint doch wohl eher eine ausgesprochene Minderheiten-Strategie zu sein ... 😜 Deswegen hat man ja das Traden erfunden - damit man auch bei den anderen Coins den einen oder anderen Gewinn erzielen kann. 😉
  13. Okay, das mit dem Overfitting hat sich mit den 4h-Daten tatsächlich entschärft - siehe Bild 1 Allerdings tappt er jetzt in die Buy-and-Hold-Falle, d.h. er tradet praktisch nicht mehr, sondern kauft anfangs und hält nur noch, weswegen die Kapitalkurve schlicht dem Preis folgt - siehe Bild 2. (Was man dagegen macht, weiß ich noch nicht und muss erst ein bisschen recherchieren.) Edit: 2 Möglichkeiten auf die Schnelle gefunden: - zusätzlich positiven Reward geben, wenn bei fallendem Preis keine Coins im Besitz sind - Reward senken, je länger die Coins im Besitz bleiben Noch eine (aufwendigere) Möglichkeit wäre, immer das jeweilige Sharpe Ratio mitzuführen und bei Verbesserung/Verschlechterung den Reward zu erhöhen/zu senken.
  14. Um dem Problem mit den wenigeren Daten Herr zu werden, habe ich dem Programm testweise mal 4h-Daten vorgesetzt. Die habe ich ab Mitte Februar 2015, womit ich dem Programm fast dreimal so viele Daten vorsetzen kann als bei den ursprünglichen Aktien-Tageskursen ab 2012. Das dürfte auch die Probleme mit dem Overfitting ein bisschen reduzieren. Es wird ein bisschen besser, aber der Drawdown liegt immer noch bei fast 60%. Und - man merkt, dass die Ergebnisse ziemlich streuen, wenn man die Läufe wiederholt. Ich hatte bei wiederholten Läufen - bei gleichen Parametern - Werte von ca. 3% bis 45% bei "Annualized Return". Wenig verwunderlich, sowohl bei den (v.a. anfänglichen) Entscheidungen des Agenten als auch bei der Erzeugung der Anfangsgewichte des Netzes spielt der Zufall eine große Rolle. Dass sich das vernünftig ausmittelt, dazu hatten wir bei den bisherigen Tageskerzen vermutlich viel zu wenig Daten. Mal schauen, ob das jetzt mit 4h-Kerzen besser wird?
  15. Natürlich nicht. Wie auch die Charts nachdrücklich zeigen, tradet dieser Agent ziemlich grauenhaft. 😉 Es ging bisher ausdrücklich nur darum, überhaupt mal einen Fuß in die Tür zu bekommen, und einem lauffähigen DRL-Programm BTC unterzujubeln. Damit kann man dann eine Weile spielen und herumbasteln. Und wenn man dann ein bisschen Ahnung erworben hat, kann man sich mit deinen besseren Geschichten beschäftigen. Und ich möchte erst mal ein bisschen in das Thema hineinschnuppern, auf einem Level, den ich noch bewältigen kann. 😉 "Dein" Paper ist sicherlich qualitativ besser, aber es hilft mir (nach erstem Lesen) auf meinem momentanen Kenntnisstand kein Stück weiter.
  16. Das ist aber ein anderer Artikel - macht aber nix, mehr Input ist immer besser. (BTW: Den ursprünglichen Artikel konnte ich zumindest am 24.10. über den Springer-Link ohne weiteres umsonst herunterladen. Jetzt nicht mehr.) Das habe ich auch schon festgestellt. 😉 Das Paper weckt anfangs hohe Erwartungen und schrumpft dann in der Realisierung auf das Minimum zusammen. 😉 Aber: Es ist der Source dabei. Damit hat man zumindest einen Startpunkt, mit DRL anzufangen ... P.S.: Danke @Amsifür deine ultraschnelle Reaktion!
  17. Es gibt inzwischen ziemlich komplexe Ansätze, um das ewige Problem "buy low - sell high" etwas in den Griff zu kriegen. Einer davon ist der Rückgriff auf maschinelles Lernen, das sich in diverse Untergruppen aufteilt. In diesem Thread soll es - ausgelöst durch ein Paper - um Deep Reinforcement Learning gehen. https://link.springer.com/article/10.1134/S1064226919120131 In diesem Paper wird ein in der Sprache Python realisierter Ansatz vorgestellt, einen "Agenten" selbständig traden lernen zu lassen. Da die Sourcen zum Projekt auf Github gestellt wurden, kann man das Projekt runterladen und selber nachvollziehen. https://github.com/ThibautTheate/An-Application-of-Deep-Reinforcement-Learning-to-Algorithmic-Trading Eine Anleitung, was bis zur Lauffähigkeit alles gemacht werden muss, steht in einem der nachfolgenden Posts.
  18. So, es waren nur punktuelle Anpassungen notwendig, um dem Programm Bitcoin unterzuschieben. Das größere Problem war es, passende historische Werte aufzutreiben. Ich habe nach ein bisschen Suchen immerhin vollständige Daten ab dem 28.11.2014 gefunden. Bei weiter zurückreichenden Daten fehlte das Volumen, insofern konnte ich die nicht nehmen. Damit ist das Verhältnis Trainingsdaten zu Testdaten deutlich schlechter, bei den Aktien lernt das Programm an Tagesdaten aus 6 Jahren (2012 bis 2017 incl.) und testet über die zwei Jahre 2018 u. 2019. Beim BTC sind es somit nur drei Jahre Daten zum Lernen. Dennoch - das Ergebnis: (.env) pewi@pewili:~/PycharmProjects/drl_thibaut$ python main.py -strategy TDQN -stock BTC checking for file 'Data/BTC_2012-1-1_2018-1-1.csv' loading data from file 'Data/BTC_2012-1-1_2018-1-1.csv' checking for file 'Data/BTC_2018-1-1_2020-1-1.csv' loading data from file 'Data/BTC_2018-1-1_2020-1-1.csv' Training progression (hardware selected => cuda:0): 100%|███████████████████████████████████████████████████████████████| 50/50 [07:47<00:00, 9.34s/it] ╒═══════════════════════════╤══════════╕ │ Performance Indicator │ TDQN │ ╞═══════════════════════════╪══════════╡ │ Profit & Loss (P&L) │ 29560584 │ ├───────────────────────────┼──────────┤ │ Annualized Return │ 90.93% │ ├───────────────────────────┼──────────┤ │ Annualized Volatility │ 56.05% │ ├───────────────────────────┼──────────┤ │ Sharpe Ratio │ 2.543 │ ├───────────────────────────┼──────────┤ │ Sortino Ratio │ 3.940 │ ├───────────────────────────┼──────────┤ │ Maximum Drawdown │ 12.00% │ ├───────────────────────────┼──────────┤ │ Maximum Drawdown Duration │ 2 days │ ├───────────────────────────┼──────────┤ │ Profitability │ 54.64% │ ├───────────────────────────┼──────────┤ │ Ratio Average Profit/Loss │ 14.334 │ ├───────────────────────────┼──────────┤ │ Skewness │ 1.082 │ ╘═══════════════════════════╧══════════╛ checking for file 'Data/BTC_2018-1-1_2020-1-1.csv' loading data from file 'Data/BTC_2018-1-1_2020-1-1.csv' ╒═══════════════════════════╤══════════╕ │ Performance Indicator │ TDQN │ ╞═══════════════════════════╪══════════╡ │ Profit & Loss (P&L) │ -30799 │ ├───────────────────────────┼──────────┤ │ Annualized Return │ 9.58% │ ├───────────────────────────┼──────────┤ │ Annualized Volatility │ 57.88% │ ├───────────────────────────┼──────────┤ │ Sharpe Ratio │ 0.126 │ ├───────────────────────────┼──────────┤ │ Sortino Ratio │ 0.185 │ ├───────────────────────────┼──────────┤ │ Maximum Drawdown │ 68.43% │ ├───────────────────────────┼──────────┤ │ Maximum Drawdown Duration │ 676 days │ ├───────────────────────────┼──────────┤ │ Profitability │ 40.38% │ ├───────────────────────────┼──────────┤ │ Ratio Average Profit/Loss │ 1.360 │ ├───────────────────────────┼──────────┤ │ Skewness │ 1.301 │ ╘═══════════════════════════╧══════════╛ Ein paar ausgewählte Grafiken dazu. Zuerst der Fortschritt über die Zahl der Durchläufe (BTC_TrainingTestingPerformance.png). Man sieht schön, wie ca. ab Runde 25 das Overfitting startet - das Shape Ratio der Trainingsdaten steigt weiter, während das Sharpe Ratio der Testdaten (2018 bis 2020) wieder fällt. Man sollte also die Zahl der "Episodes" auf ca. 22 bis 25 begrenzen. Passend dazu der Verlauf von Preis und Accountvermögen (BTC_Rendering.png). Aufgrund des Overfittings kommt der Agent mit den neuen Daten ab 2018 absolut nicht zurecht. Der Verlauf des Vermögens ist quasi ein einziger Drawdown. (Ich mach nachher mal einen neuen Test mit 'nem Splitzeitpunkt 1.1.2019, damit das Verhältnis Trainings- und Testdaten ausgewogener ist und suche auch eine günstige Zahl an Episoden raus, damit man das Potential dieser Methode ein bisschen besser sehen kann.)
  19. Einen doppelten Dank zurück! Zum einen, dass ich mir gestern Abend nicht umsonst die halbe Stunde genommen habe, alles noch mal nachzuvollziehen und niederzuschreiben, sondern dass die Anleitung tatsächlich genutzt wurde ... 😜 Und zum zweiten, dass anscheinend keine großen Böcke in meiner Anleitung sind, sonst hättest du die sicher angemerkt.
  20. Nachträge: Obigen Befehl hatte ich nach schnellem Googlen aus dem Internet übernommen. Vermutlich kann man sich die Vision- und Audio-Geschichten sparen und nur die Kernbibliothek installieren: pip install torch==1.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html In meiner langen Anleitung kam vielleicht nicht gut raus, dass man alles auch ohne NVidia-Karte machen kann. (Notfalls muss man das Python-Programm dann halt über Nacht laufen lassen.) Für diesen Fall auf die Installation von Cuda und cuDNN verzichten und die CPU only-Version von PyTorch nehmen. Mehr Änderungen sollten es nicht sein. Warum die NN-Geschichten AMD-Karten nicht unterstützen, kann ich nicht genau sagen. Mit OpenCL gäbe es einen universalen Standard, der unter der Haube CPUs und GPUs verschiedener Hersteller nutzen kann. Ich bilde mir ein, mal gelesen zu haben, dass Cuda als hersteller-spezifische Schicht merklich performanter wäre als das allgemeinere OpenCL, weswegen die großen NN-Libs wie TensorFlow und PyTorch nur auf Cuda setzen würden.
  21. Bei einem ungeplanten, spontanen Versuch von Raub oder Überfall kann ich mir viel eher vorstellen, dass der Täter nach dem ersten "Misserfolg" (Opfer klappt nach Stich nicht sofort tot oder schwerverletzt zusammen) abhaut und ggfs nach einem anderen, leichteren Opfer sucht. Ein Krimineller, der sich dagegen gezielt ein spezielles Opfer (wie z.B. einen Bitcoiner) aussucht, bleibt IMHO hartnäckiger und macht weiter und hört eben nicht auf, nur weil der erste Stich nicht zum erhofften Erfolg geführt hat.
  22. Gab es da nicht die 21-Fuß-Regel? Wenn der Angreifer näher als 10 Meter ist, dann ist er schneller bei dir, als du brauchst um die Waffe zu ziehen? Mit anderen Worten, du müsstest die Pistole im Zweifelsfall ständig in der Hand haben (durch die Jacke oder Tasche verdeckt), um im hier besprochenen Szenario überhaupt den Hauch einer Chance zu haben.
  23. P.S.: Wenn das an manchen Stellen zu kurz dargestellt sein sollte, scheut euch nicht nachzufragen.
  24. 😜 Wenn du mit Grafikkarten-Unterstützung mitmachen willst, was sich aus Geschwindigkeitsgründen empfiehlt, dann musst du erst das ganze Cuda- und cuDNN-Gedöns installieren. Vorausgesetzt, du hast eine NVidia-Karte, AMD geht meines Wissens nicht. 1) Das Python-Programm nutzt PyTorch als NN-Basis, deswegen habe ich als erstes Cuda in der Version 10.1 Update2 installieren müssen: https://developer.nvidia.com/cuda-10.1-download-archive-update2 Wenn man sein OS auswählt, werden Guides angezeigt, die bei meinem Linux out-of-the-box funktioniert haben. Vermutlich wird das bei Windows ähnlich sein. 2) Danach muss man noch cuDNN, den "Treiber" für die neuronalen Netze, herunterladen und installieren, wozu man einen Developer-Account bei NVidia haben bzw anlegen muss (ich habe bei den notwendigen persönlichen Angaben frei phantasiert). Die cuDNN-Version muss zur Cuda-Version passen, ich habe 8.04 genommen. Wenn ich mich recht erinnere - das war eine sehr späte nächtliche Sitzung - haben die beiden Installationen eine ganze Weile gedauert, v.a. Cuda hat dann einen Haufen vor sich hin kompiliert. Zum obigen Deep Reinforcement Learning-Projekt: 3) Wer noch kein 64Bit-Python hat, sollte das zuerst noch installieren, idealerweise in der vom Projekt erwünschten Version 3.7.4. Ich habe auf meinem Linux-PC 3.6.9 drauf, damit ging es auch. 4) Dann ein virtuelles Environment anlegen: Windows: python -m venv .env Linux: python3 -m venv .env Ggfs muss unter Linux zuvor das Paket für virtuelle Umgebungen noch installiert werden: sudo pip3 install virtualenv Aktiviert wird die virtuelle Umgebung mit Windows: .env\Scripts\activate.bat Linux: source .env/bin/activate Diese virtuelle Umgebung enthält eine recht alte Version des Python-Paketmanagers pip, weshalb man den zuerst updaten muss: pip install --upgrade pip 5) Als nächstes kopiert man sich das Projekt von Github runter. Wer die Git-Tools installiert hat, macht git clone https://github.com/ThibautTheate/An-Application-of-Deep-Reinforcement-Learning-to-Algorithmic-Trading.git die anderen wählen auf Github "download zip" aus und entpacken das im Projektverzeichnis. 6) Anschließend muss man die zusätzlichen Python-Bibliotheken installieren, was üblicherweise einfach mit pip install -r requirements.txt funktionieren würde - hier ist aber eine Kleinigkeit in der Datei requirements.txt zu korrigieren; die Zeile pytorch muss man in torch abändern, weil der Downloadname für PyTorch nur "torch" ist; und wer so wie ich nicht die verlangte Python-Version 3.7.4 hat, muss noch die Versionsangabe auskommentieren: Aus python==3.7.4 muss man dann #python==3.7.4 machen. 7) Noch ein letzter Stolperstein - die Bibliothek torch ist die CPU-only Version. Wer die NVidia/Cuda/cuDNN-Version möchte, muss torch erst wieder deinstallieren pip3 uninstall torch und die Cuda-Version installieren: pip install torch==1.7.0+cu101 torchvision==0.8.1+cu101 torchaudio==0.7.0 -f https://download.pytorch.org/whl/torch_stable.html 8.) Noch ein allerletzter Stolperstein - man muss im Projektverzeichnis noch ein Unterverzeichnis Figures anlegen, sonst stürzt das Python-Programm ab, wenn es seine Ergebnisse abspeichern möchte. Fertig Dann kann man die Geschichte endlich starten, z.B: für Apple: python main.py -strategy TDQN -stock Apple Bei mir (Cuda mit Geforce GTX 1060) hat das etwa um die fünf Minuten gedauert. Ohne Cuda wird es wohl mindestens um den Faktor 10 längern dauern, eher mehr?
  25. Aufmerksam zu sein und möglichst wenig "Löcher" für Überraschungen zu lassen, halte ich für eines der Schlüsselelemente. Wenn es da noch nicht zu spät ist ... Es gibt oft so einen Punkt, ab dem alles, was du sagst (egal was) als Rechtfertigung fürs Weitermachen genommen wird.
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.