 Ich darf Sie herzlich zum Python Coding Video für den zweiten Teil der vorlesung stochastische Prozesse Willkommen heißen. Es freut mich sehr, dass Sie wieder mit dabei sind. In diesem Teil haben wir genau drei Skripte, die ich mit Ihnen durchgehen möchte. Das erste ist eher zum Spielen, zum Anschauen und eigentlich war das noch nicht so wirklich in meiner Agenda dabei. Das ist hier eigentlich nur eine Spielerei, wo wir hier eine Anzahl an Iterationen festlegen, eine Liste erzeugen durch die Anzahl der Iterationen durchgehen und in diese Liste so lange die Zahlen einfügen, bis wir vom Format her ein paar Skallisches Dreieck erhalten. Deswegen halte ich mich hier gar nicht so lange daran auf, sondern führe das direkt aus, dass Sie das sehen können. Wie Sie sehen können, schaffen wir es wunderbar, ein paar Skallisches Dreieck in Python in die Konsole zu drucken, damit Sie das nochmal gesehen haben. Das ist eigentlich nur so ein Funfact am Rande. Und ich hätte gerade schon fast gesagt, wir springen direkt rüber in unser nächstes Skript, worum es eigentlich geht heute. Und zwar, es geht darum, wie moduliere ich eine fractale Brownschirmolekular-Bewegung in Python. Und dazu brauchen wir ehrlich gesagt nicht sonderlich viel, wir brauchen das Mathepaket von Python und wir brauchen das Fractional Brownian Motion Paket, was uns diese ganze komplexe Codingarbeit und diese ganze mathematische Arbeit, die wir in der Vorlesung gesehen haben, eigentlich abnimmt. Das ist für uns sehr angenehm, wie das im Hintergrund funktioniert haben wir in der Vorlesung ja bereits gesehen. Was machen wir hier? Wir nutzen hier die klasse fractal Brownian Motion. Die nimmt als Argumente eine Schrittzahl, einen Hearstexponent, eine Länge und eine Berechnungsmethodo. Und wir sagen hier jetzt einfach mal, okay, wir nehmen 1500 Schritte und einmal ein Mean Reversion Hearst, einen Brownian Motion Hearst und einen fractalen Hearst, nenne ich das jetzt mal, obwohl das so von der Sprechart keinen Sinn ergibt, aber Sie verstehen, was ich Ihnen damit sagen möchte. Das heißt, wir erzeugen hier drei fractale Brownian Bewegungen mit unterschiedlichen Hearstexponenten. Sampeln die hier, das heißt hier werden wir tatsächlich diese Werte erzeugen und wir geben die uns in einem hübschen Bildchen aus. Das ist der erste Teil. Und mehr gibt es in Zeitalter von GitHub und Packages erstmal gar nicht dazu zu sagen. Wir sind Gott sei Dank aus einem Zeitalter raus, wo wir jedwede mathematische Funktionen selbst erzeugen müssen und selbst coden müssen, also wir müssen das Rad nicht neu erfinden. Was wir allerdings müssen, ist diese Pakete zu verstehen. Wir müssen verstehen, nach welchen Prinzipien diese externen Bibliotheken arbeiten und dazu ist das, was wir in der Vorlesung gelernt haben, essentiell, sonst verstehen wir eigentlich auch nicht, was diese Pakete im Hintergrund tun. Ich wiederhole das hier nochmal. Wir simulieren hier eine fractale Brownian Molekular Bewegung mittels des zugehörigen Paketes und wir definieren hier einen Hearstexponenten und die Schrittzahl, die dazugehört. Sampeln das Ganze dann, das heißt wir erzeugen hier einen entsprechenden Pfad und diesen Pfad, den geben wir uns aus und lassen ihn uns anzeigen. Das ist das, was wir mit der einfachen fractalen Brownian Bewegung machen und was ich Ihnen hier unten noch sozusagen als Schmankerl dazugegeben habe, ist, dass wir eine multifraktale Brownian Molekular Bewegung erzeugen, indem wir sagen, genau wie in der Vorlesung der Hearstexponent ist dynamisch, der verändert sich über die Zeit, was auch, wenn man sich das so auf der Zunge zu gehen lässt, sinnig klingt, da ja unsere Realität, die wir leben und die Finanzmärkte als System betrachtet, sich auch ständig ändern. Ich habe es mir hier einfach gemacht und wir haben hier eine signusförmige Änderung des Hearstexponent. Ich werde diesen Code ein, zwei, drei mal ausführen und hier dieses Argument verändern, dass Sie sehen können, was passiert, wenn wir diesen Hearstexponenten anderen Regeln und anderen Frequentierungen unterliegen lassen. Und was wir hier machen ist, wir ziehen hier eine multifraktale Brownian Molekular Bewegung, auch hier wird gefordert, bitte, gib mir eine Schrittweite. Beachten Sie hier, dass als Argument für das Hearstexponententum, nenne ich das jetzt mal, eine Funktion gefordert ist und kein normaler Wert, weil natürlich in der multifraktalen Brownian Molekular Bewegung der Hearstexponent sich über die Zeit verändern möge. Auch hier wird wieder eine Rechnungsmethode verlangt und was machen wir hier? Wir ziehen uns eine Realisation dieser multifraktalen Brownian Molekular Bewegung und lassen uns das Ganze als Bildchen ausgeben. Und Sie sehen hier sehr eindrucksvoll, wie wir innerhalb von 34 Zeilen Code eine multifraktale Brownian Molekular Bewegung und eine fraktale Brownian Molekular Bewegung in Python plotten können. Das ist quasi die Quintessenz von Open Source, um das mal so darstellen zu können. Und ich hätte gesagt, wir lassen dieses Ding doch direkt mal losrennen und schauen uns dieses Bild hier an. Das ist das, was Sie aus den Vorlesungsunterlagen kennen. Wir haben die blaue Kurve, die einer geometrischen Brownian Molekular Bewegung oder einem Wiener Prozess gleicht mit einem Hearstexponenten von 0,5. Das heißt, das hier ist unser, ich sage es jetzt, der Lob mal stinkt normaler Wiener Prozess. Dann haben wir eine Realisation mit einem Hearstexponenten von 0,35. Das bedeutet, das ist ein Mean Reversion-Prozess, wo wir sehen können, dass der eine stark schwankende Mittelwert-Frequentierung aufweist. Und dann haben wir noch eine fraktale Brownian Molekular Bewegung mit einem sehr hohen Hearstexponenten, das ist die in Rot, die wir hier sehen können. Ich schließe das Ganze jetzt mal und wir müssen jetzt ein klein wenig warten, bis eben diese multifraktale Realisierung fertig gerechnet hat. Und was sehen wir jetzt hier? Wir sehen hier eine Zeitreinsimulation, in der sich der Hearstexponent gemäß einer Sinungsfunktion verändert. Und das können wir hier auch sehen, dass wir immer wiederkehrende periodische Einbrüche haben und starke Schwankungen. Ist das jetzt schlecht Fragezeichen? In dem Sinne ist es schlecht, mit einer periodischen Funktion hier das Ganze zu simulieren. Andererseits können wir da auch, ich sage es mal, fortgeschrittene Algorithmen nehmen, um die Veränderung dieses Hearstexponenten darzustellen. Beispielsweise können wir historische Simulationen über echte Daten laufen lassen und eine Hearstex-Zeitreihe mittels eines Algorithmus approximieren und das dann hier rein spielen, was ich Ihnen hier zeigen möchte. Und dazu werde ich mir auch mal die Freiheit nehmen, das hier auszukommentieren, da ich Ihnen nicht jedes Mal hier die gleichen Bilder zeigen möchte. Ich werde Ihnen das jetzt hier mal in Echtzeit auskommentieren. Was wir hier jetzt mal machen werden ist, wir werden hier hinten mal ein bisschen mit dieser Funktion spielen und ich sage mal, ich verändere hier auch das Argument des Sinus und lasse das einfach nochmal laufen. Dann schauen wir uns das nochmal an und wir sehen, aha, das sieht jetzt noch wilder aus wie vorher, was habe ich denn getan? Ich habe den Grundwert dieses Hearstexponenten verändert, die Formel, so wie sie darstand, von einem nicht Mean Reversion Hearstexponent ausgegangen ist und ich habe das jetzt so dargestellt, als ob wir ab und zu ein Teil Mean Reversion hätten und das ist selbst für eine reale Finanzzertreihe ziemlich wild. Aber wir sehen, dass wir hier sehr, sehr, sehr abrupte, starke Einbrüche, Schwankungen und anderweitige Bewegungen simulieren können, die mit normal verteilten, klassischen Wiener Prozessen und Random Box überhaupt nicht zu denken wären. Was machen wir jetzt? Ich habe mir vorher die Freiheit genommen, hier ein bisschen rumzuspielen. Was passiert, wenn wir dem Sinus nur das Argument T übergeben? Aha, wir sehen, das sieht doch schon wirklich aus wie eine Aktie. Das sieht doch wirklich mal so aus, wie wenn man damit arbeiten kann. Wir sehen hier viele kleine Änderungen, wir sehen hier größere Bewegungen und Einbrüche. Das sieht doch schon mal gar nicht so schlecht aus. Was machen wir jetzt noch? Wir machen hier mal T halberein und lassen das nochmal laufen und sagen doch mal, das würde doch jetzt schon fast aussehen, wie eine Indexentwicklung mit Krisenentwicklungen einbrüchen und allem, was das Herz zu wünschen übrig lässt. Und wenn wir diese multifraktale, brownische Molekulare Bewegungen eine Art und Weise spezifizieren, dass der Hearstexponent auf historischer Basis in eine Funktion gepackt wird, dann können wir hier sehr sufficente Ergebnisse erzielen. Das ist mit diesen klassischen Modellen, die wir zum Teil schon kennengelernt haben, schlichtweg nicht möglich. Ich werde hier noch einmal den Grundstock des Hearstexponenten verändern und ein letztes Mal den Code hier laufen lassen. Und wir sehen, das sieht doch wirklich aus, wie wenn man hier sagen kann, ja, das könnte eine echte Zeitreihe sein. Wir sehen hier Einbrüche, wir sehen hier Sprünge nach oben. Wir sehen eine richtig große Bewegung nach unten mit einer schnellen Wiederholung und hier schon fast einem ganz geraten Anstieg nach oben. Also, Sie sehen, man kann hiermit in einer grandiosen Art und Weise Finanzmärkte modulieren, die schon sehr fortgeschritten ist und wir haben keine zehnzeilen Code dafür gebraucht. Das ist schon mal eine echt gute Ansage. Und ich springe jetzt mal in das zweite Skript hier rüber, weil sie interessiert ist natürlich ja auch, wie kann ich denn hier mit Finanzmarktdaten tatsächlich simulieren. Wir haben hier auch ein paar Pakete mehr eingebunden, unsere RU Financials, Smartplotlib, NumPy Pandas, die üblichen Verdächtigen. Und was machen wir hier? Wir sehen hier, okay, hier ist wieder unsere altbekannte Ich hole mir Finanzdatenfunktion. Dann haben wir die Ursprungsfunktion unseres Hearstexponenten. Hier ziehen wir wieder unsere Daten von Yahoo und berechnen die Returns. Berechnen hier auch mal den Hearstexponenten über die Tesla-Zeitreihe, wie wir sie gezogen haben. Das bedeutet, dass wir hier noch keine Änderung über die Zeit haben, sondern den Hearstexponenten so berechnen, wie er tatsächlich über die letzten zehn Jahre vorhanden ist. Dann geben wir uns das Ganze mal als Bildchen aus, damit Sie mal sehen, wie diese RS Ratio, also dieser RS Algorithmus, der dem Hearstexponenten zugrunde liegt, eigentlich arbeitet. Und der richtige Spaß beginnt hier unten. Wir simulieren uns eine einfache fraktale, braunische Molekularbewegung, die quasi der Länge dieser Zeitreihe entspricht und den Hearstexponenten unserer Tesla-Zeitreihe hat. Und was machen wir noch? Wir gehen hier unten, das ist der ganz spannende Teil, wir gehen hier unten her und sagen, wir simulieren uns eine multifraktale, braunische Molekularbewegung, deren Länge der Zeitreihe von Tesla gleicht und der, die ein Hearstexponent hat, der der obigen Funktion folgt. Und lassen uns das auch als ein Bildchen ausgeben. So, führen wir das Ganze doch einmal aus. Dann sehen wir hier schon mal die RS Ratio über die Zeit. Hätten wir hier einen normal verteilten, einen geometrischen Zeitrein-Output, dann würden alle diese Punkte hierauf, diese gerade liegen und wir hätten einen Hearstexponenten von 0,5. Das haben wir hier nicht. Was wir hier sehen, ist hier unten in unserer Konsole, ich ziehe das mal nach oben, sehen wir, dass die Tesla-Zeitreihe einen Hearstexponenten von 0,586 hat, das heißt, er ist nicht ganz im braunischen Bereich, sondern ein wenig darüber, das bedeutet, dass die Tesla-Aktie-Fraktalität aufweist. Und was heißt das jetzt? Das heißt, dass ich hier aus Versehen auf Konsole killen, sage ich es mal, geklickt habe, wir führen das nochmal aus, dann kriegen wir dieses Bildchen eben nochmal. Und was sehen wir jetzt hier? Wir sehen die einfache fraktale, brownische Molekularbewegung, basierend auf dem Tesla Hearstexponenten und wir können sehen, ja, es sieht ein bisschen aus, wie eine Zeitreihe, aber sie ist bei Weib nicht so sufficient wie ein Hearstexponent, der sich über die Zeit verändern würde. Und wenn wir das jetzt mit unserer realen Zeitreihe vergleichen, werden wir feststellen, dass das auch so ganz nicht hinhaut. Ich schließe das jetzt mal und wir gucken mal, was unsere multifraktale brownische Molekularbewegung uns ausgibt. Die wird jetzt erstmal eine Weile rechnen. So, schauen wir uns das doch einfach mal an. Wir merken, dass wir hier eine Sinusfunktion unterstellt haben, was die Änderung des Hearstexponenten angeht. Aber wir sehen, ok, ungefähr so könnten wir das modellieren. Wir merken aber, eine reale Aktie sieht so irgendwie noch nicht ganz aus. Ich schließe das Ganze nochmal und werde hier oben mal versuchen, diese Funktion auf das zu ändern, was wir in unserem vorherigen Skript hatten. Und wir schauen doch einfach mal, ob hier bessere Ergebnisse dabei rauskommen. Das können wir schließen. Das kennen wir schon. Hier sehen wir wieder eine andere Pfadrealisierung der fractalen brownische Molekularbewegung, basierend auf dem Hearstexponenten. Hier können wir, ich mach das nochmal groß, schon eher davon ausgehen, diese Realisation irgendwo Sinn machen könnte. Wir haben hier der Vollständigkeit halber, aber auch keine Regeln unterstellt, was die Simulation eigentlich noch alles tun soll. Das ist sehr rudimentär, was wir hier tun. Und für den praktischen Gebrauch noch nicht ganz so zu verwenden. Mir geht es hier allerdings auch darum, nicht mit Ihnen hier einen Profi-Kurs zu machen, sondern Ihnen beizubringen, kann ich denn multifraktale brownische Molekularbewegungen überhaupt mit Aktien in Einklang bringen. Und jetzt gucken wir uns das hier nochmal an. Und ich würde sagen, das sieht schon besser aus. Ist vielleicht etwas unglaubwürdig, aber wir können damit durchaus Simulationen anstellen. Ich hätte gesagt, ein einziges Mal lassen wir das noch durchlaufen. Und wir sehen wieder bei der einfachen fractalen Molekularbewegung, dass wir auch mit der einfachen brownischen Molekularbewegung sofern sie fractal ist, hier durchaus Einbrüche und rapide Anstiege modulieren können, so ist es nicht. Ich bin allerdings, Sie merken, es ist ein großer Fan von dieser multifraktalen brownischen Molekularbewegung, eben weil wir eine Dynamik in dem Hearstexponenten darstellen können. Das ist eben das Los, wenn das zufällig erzeugt wird, also für eine Aktie wäre das schon sehr extrem. Allerdings, um das positiv vorzuheben, sehen wir hier auch, dass wir hier sehr, sehr harte Kurs-Einbrüche mit kleinen Zwischenbewegungen darstellen können und das gab es früher nicht. Ich werde jetzt hier noch ein paar Worte dazu verlieren. Sie können hier natürlich wieder an dieser Funktion hier herum spielen. Sie können hier andere Zeit rein einfügen und was Sie natürlich auch versuchen können, ist hier eine Funktion zu finden, die auf Basis historisch gemessener Hearstdynamiken basiert. Das heißt, Sie nehmen sich einfach mal eine Zeitreihe, lassen da ein Fenster durchlaufen und messen die Hearstexponenten und versuchen mal eine Interpolation herzubekommen in funktionaler Art und Weise, so dass wir eine Hearstfunktion haben, die auf Basis historischer Simulation erzeugt würde und dann schauen wir doch mal, was hier rauskommt. Das ist doch mal ein netter Arbeitsauftrag. Da können wir mal gerne gemeinsam auch in unserem Webinar darüber diskutieren. Für meinen Teil bin ich jetzt am Ende des Videos angelangt. Ich kann Ihnen nur empfehlen, hier ein bisschen daran rumzuspielen, sich da einzulesen und das Ganze auf sich wirken zu lassen und ich freue mich, dass Sie wieder dabei waren und wir sehen uns beim nächsten Video. Vielen Dank.