Einloggen Suche | Aktive Themen
Saisonalität Optionen
chuck
Geschrieben: Monday, August 18, 2014 8:08:20 AM

Gruppen: Kunde

Beiträge: 167

market maker
Liebe market maker User,

Der Artikel von Christian Kämmerer hat mich veranlasst einmal darzustellen, wie man das Thema Saisonalität mit Hilfe von market maker untersuchen und die Ergebnisse darstellen kann.

Ich habe mir 2 Vorlagen für die Untersuchung der Saisonalität erstellt.

Mit der ersten Vorlage werden alle Papiere eines Ordners untersucht und die Ergebnisse werden tabellarisch dargestellt. Die Auswertung in der Vorlage verläuft folgendermaßen:

Von dem parametrierbaren Startjahr an werden die Kurse eingelesen und die prozentuale Differenz vom 1. Handelstag des Monats zum Letzten Handelstag des Monats berechnet. Diese Ergebnisse werden Jahresweise in einer Tabelle dargestellt. Über diese Monatswerte werden in den Kopfzeilen zu dem jeweiligen Papier noch folgende Zusammenfassungen berechnet:

1. Die Durchschnittliche Veränderung des jeweiligen Monats über den Gesamtzeitraum (Zeile Gesamt)
2. Für den jeweiligen Monat, wie viel Prozent der Monate im Gesamtzeitraum sich positiv entwickelt haben. (% Positiv unter Zeile Gesamt)
3. Die Durchschnittliche Veränderung des jeweiligen Monats über die letzten N-Jahre (parametrierbar) (Zeile 5-Jahre)
4. Für den jeweiligen Monat, wie viel Prozent der Monate über die letzten N-Jahre (parametrierbar) sich positiv entwickelt haben. (% Positiv unter Zeile 5-Jahre)

Ist der durchschnittliche Wert der Monatsentwicklung positiv und liegt der %-Wert der positiven Monatsentwicklungen über 60% oder höher, so ist die Wahrscheinlichkeit eines positiven Trendverhaltens für diesen Monat in Erwägung zu ziehen.

Ist der durchschnittliche Wert der Monatsentwicklung negativ und liegt der %-Wert der positiven Monatsentwicklungen unter 40% oder niedriger, so ist die Wahrscheinlichkeit eines negativen Trendverhaltens für diesen Monat in Erwägung zu ziehen.

Da die Jahreswerte alle in der Tabelle (Saisonalität.JPG) dargestellt sind, könnt Ihr Euch selbst ein Bild von der Saisonalität des Goldes im Monat August/September und den anderen Monaten machen .

Die 2. Vorlage ist die fortlaufende durchschnittliche Jahresperformance über N-Jahre. Von dem parametrierbaren Startjahr an werden die Kurse jahresweise eingelesen und auf den Kurs des 1. Handelstages des jeweiligen Jahres normiert (100%). Somit erhält man die Performance des Kurses in jedem Jahr. Diese Performance wird über alle Jahre ab dem Startjahr summiert und durch die Anzahl der Jahre dividiert. Somit erhält man die durchschnittliche Performanceverteilung über ein laufendes Jahr. Diese lässt sich dann als Chart (Saisonalität1.jpg) über ein Jahr darstellen. Ich verwende immer zur Skalierung das letzte vollständige Jahr.

Wie bei der Tabelle kann man in diesen Chart außerdem die durchschnittliche Performance der letzten N-Jahre, die Performance des aktuellen Jahres und zum Vergleich auch die Performance jedes x-beliebigen Jahres im Gesamtzeitraum einblenden, abhängig von den Häkchen die man in der Legende setzt.

Ich hoffe Euch ein paar Anregungen gegeben zu haben, wie man so etwas umsetzen kann.

Chuck



Dateianhänge:
Saisonalität.JPG (742kb) downloaded 56 time(s).

chuck hat die folgenden Bilder hochgeladen:
Saisonalität1.JPG

Norbert Haupt
Geschrieben: Wednesday, August 20, 2014 7:41:03 PM
Gruppen: Kunde

Beiträge: 22

market maker
Hallo Chuck,

ich finde es immer wieder faszinierend, wie Du zeigst was alles mit MM-Talk möglich ist und wie Du auch in der Lage bist, dies umzusetzen. In Deinen obigen Beispielen kommen sicherlich Schleifenkonstruktionen, mehrfach verschachtelte Funktionen und ziemlich viel Arithmetik vor.

Im Vergleich zu Dir sind meine MM-Talk Kenntnisse sicherlich sehr rudimentär.

Wäre es eventuell möglich, dass Du die Vorlagen oder wenigstens programmtechnisch interessante Passagen daraus für interessierte Mitglieder als mme-Datei ins Forum stellst.

Mir kommt es dabei nicht darauf an, Deine Projekte 1:1 umzusetzen, sondern Anregungen für das eigene Arbeiten mit MM-Talk zu gewinnen.

Vielen Dank im Voraus!

Viele Grüße

Norbert
chuck
Geschrieben: Thursday, August 21, 2014 7:57:38 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Norbert,

MM-Talk und alles was damit möglich ist, wird bei L+P verkannt und manchmal habe ich auch das Gefühl, dass bei MarketMaker in Kaiserslautern MM-Talk auch sehr stiefmütterlich behandelt wird.

Nach meiner Meinung geht MM-Talk auf die Sprachfamilie Lisp (List Processing = Listen-Verarbeitung) zurück. Historisch gesehen gehört Lisp zusammen mit Prolog zu den wichtigsten Programmiersprachen der künstlichen Intelligenz. Lisp hat weitere moderne Programmiersprachen beeinflusst, wie z.B. Smalltalk (rein objektorientierte Programmiersprache), Haskell (eine rein funktionale Programmiersprache) und auch das kommerzielle Softwarepaket Mathematica .

"Mathematica wird in der Wissenschaft beziehungsweise im Studium natur- oder wirtschaftswissenschaftlicher Fächer eingesetzt. Ebenso wendet es sich an den professionellen Anwender in der Industrie und Wirtschaft. So verwenden Banken Mathematica zur Simulation von Aktienkursentwicklung, Bewertung von Derivaten, Risikoabschätzung bzw. -wandlung und so weiter."

Wer sich einen ersten Überblick verschaffen möchte wo MM-Talk bei den Programmiersprachen einzuordnen ist, dem sei dieserLink empfohlen.

Außerdem sollte er sich etwas über das Thema "Funktionale Programmierung" informieren. Denn MM-Talk ist funktionales programmieren.

Hier 2 Links für den Einstieg zu diesem Thema.

wikipedia

Artikel aus Linux-Magazin

In funktionalen Programmen sind Listen die zentralen Datenstrukturen. Sie kommen auch immer in meinen Programmen zur Anwendung. Das was Du Schleifenkonstruktionen nennst, sind in Wirklichkeit Funktionen, die auf Listen angewendet werden. Deshalb ist es wichtig sich mit den Listenfunktionen zu beschäftigen und sie zu verstehen. Erst dann erschließt sich einem die Mächtigkeit von MM-Talk.


Norbert einmal provokativ gefragt: Wo siehst Du in diesem Forum interessierte Mitglieder? Ich sehe leider nur eine schweigende Masse.

Ich habe vor einiger Zeit (06/12) einmal ein MM-Talk Programm zum automatischen Finden und Anzeigen von noch offenen Gaps hier eingestellt. Es enthielt viele Komponenten zum Thema Umgang mit Listen in MM-Talk. Ich bezweifle, dass viele Forumsteilnehmer die Struktur und Arbeitsweise des Programms verstanden haben. Das ist keine Schande. Denn einige Teile waren schon sehr knifflig. Aber es kamen keine Rückfragen etwa der Art, was machen bestimmte Programmzeilen genau. Nichts. Selbst auf meine Nachfrage im Forum.

Deshalb denke ich, dass das Einstellen von fertigen Vorlagen nichts zum Verständnis von MM-Talk oder marketmaker beiträgt. Auch interessante Passagen aus einem Programm tragen nichts zum Verständnis bei, denn es fehlt der wichtige Teil davor, nämlich die genaue Beschreibung einer Problemstellung, die dann zu einem solchen Programmteil führt.

Nimm einmal an, du möchtest Dir einen Überblick über den inneren Zustand eines Marktes machen und möchtest Dir dafür eigene Marktindikatoren erstellen.

Bevor Du auch nur eine Programmzeile schreibst wirst du das Problem in überschaubarere Teilprobleme herunterbrechen und diese vielleicht auch noch einmal unterteilen und möglichst genau beschreiben.

Dabei treten Fragen auf die nichts mit marketmaker zu tun haben wie z.B. Was ist ein Markt? Was charakterisiert ihn? Was ist ein Marktindikator? Wie wird er gebildet? Was sagt er aus?

Wenn Du die beantwortet hast stellt sich Dir dann die Frage: Wie kann ich Märkte in marketmaker definieren? Die Antworten könnten sein Ordner, Filter, Indices, ...

Daraus stellen sich dann die Fragen: Wie kann ich diese Objekte in ein Programm einlesen und als was für Objekte liegen die Elemente eines Marktes dann im Programm vor. Mit welchen Funktionen können sie dann weiterbearbeitet werde.

usw.

Aus solchen Dingen kommen dann ganz konkrete Fragen, die man im Forum stellen kann.
Z.B. Wie kann ich die Wertpapiere eines Ordners in ein Programm einlesen? Diese kann man dann beantworten und sie bringen dann auch allen einen Lerneffekt.


Ich denke hier herrscht einfach eine Angst Fragen zu stellen und sich damit zu outen etwas nicht zu wissen, was andere vielleicht als selbstverständlich ansehen. Und deshalb herrscht hier das große Schweigen. Und solange dieses Verhalten nicht überwunden wird, sehe ich keine interessierten Mitglieder.

An etwas interessiert zu sein bedeutet für mich auch immer Fragen dazu zu stellen.

• Ohne Fragen auch kein Interesse.
• Ohne Fragen auch keine Antworten.
• Ohne Fragen auch keine Hilfe von anderen.

Ich kann hier sicherlich einiges zum Verständnis beisteuern und zu dem Thema Listenfunktionen einige Erklärungen und Beispiele ausarbeiten und einstellen. Aber ohne zu wissen, ob dort überhaupt Bedarf besteht und was, oder welche Funktion nicht klar ist, werde ich mir auch nicht die Arbeit machen, etwas auszuarbeiten, was dann letztendlich für den Papierkorb ist, da es allen klar ist.

Deshalb ein paar Fragen an alle Teilnehmer dieses Forums.

• Sind die Listen Funktionen in MM-Talk verstanden?
• Kann jeder von Euch diese Funktionen einsetzen?
• Hat jemand Fragen zu der einen oder anderen Listenfunktion?
• Gibt es andere Verständnisprobleme im Zusammenhang mit MM-Talk und marketmaker?

Es gibt doch die Rubrik FAQs. Die ist doch prädestiniert für Eure konkreten Fragen. Und zu fast jeder Frage dort gab es auch immer Antworten.

Also Norbert und natürlich auch alle anderen heimlichen Forum Teilnehmer, stellt Eure Fragen möglichst genau spezifiziert und lasst Euch von der Hilfestellung, den Antworten der übrigen Teilnehmer positiv überraschen.

Chuck
Roland Werth
Geschrieben: Friday, August 22, 2014 4:30:58 PM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

wie Du selber hier schon vermerkt hast, ist MMTalk mieserabel dokumentiert (insbesondere Listenfunktionen). Ich selber bin an MMTalk sehr interessiert, habe mir eine Unmenge an eigenen, meist sehr nützlichen Indikatoren programmiert und arbeite (fast) täglich damit. Aber meine Programmierungen sind oft das Ergebnis von Versuch und Irrtum (Ich möchte etwas bestimmtes programmieren und versuche verschiedene Dinge bis etwas davon funktioniert).

Zum, Beispiel benutze ich eigene Vorlagen zur Seasonalität. Die verwenden aber eine andere (einfachere) Berechnungsmethode. Trotzdem ist das Ergebnis oft erstaunlich zutreffend (vielleicht gerade weil fast alle anderen, eine andere Berechnungsmethode verwenden).

Aber ich hätte schon eine einfache Frage, mit der ich mich noch gar nicht ernsthaft beschäftigt habe. Möglicherweise ist dies irgendwo in den Handbüchern vermerkt, deshalb bitte nicht gleich losschimpfen.

Wenn ich einen Ordner habe und eine Tabellenvorlage verwende (oder einfach darauf klicke) erscheint ja das entsprechende Ergebnis in verschiedenen Spalten. Ich habe die Spalten schon für wichtige Sachen geändert und mir so eine eigne Vorlage geschaffen. Aber jetzt kommt die Frage: Wie hole ich mir eine solche Spalte (die Ergebnisse einer eigenen Formel) als Chart auf den Bildschirm, z.B. wenn ich den Mittelwert aller Ordnermitglieder dargestellt haben will?. Ich weiss, dass der Mittelwert in den Vorlagen bereits enthalten ist (Kann man sich unter der Spalte anzeigen lassen).

Gruß
Roland
chuck
Geschrieben: Saturday, August 23, 2014 1:10:45 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

Bei einer Tabelle ist die Kreuzung einer Zeile mit einer Spalte das Ergebnis einer Funktion. In der Spalte hast Du ja eine Spaltenformel hinterlegt z.B. die Berechnung eines RSL. Dann ist ja der Ordner das Eingangsobjekt für die Tabelle. Genauer gesagt alle Wertpapiere dieses Ordners, wobei die Wertpapiere die Zeilen in der Tabelle bilden.

Wenn Du einen Ordner anklickst und dann über "rechte Maustaste / öffnen mit Vorlage" die Tabellenvorlage auswählst mit der der Ordner geöffnet werden soll, dann verknüpft marketmaker jedes Wertpapier in diesem Ordner mit jeder Spaltenformel. Für die Spaltenformel RSL sieht das z.B. für den Ordner der Dax-Werte dann folgendermaßen aus.

Adidas ...................... Adidas.RSL[Parameter RSL]
Allianz ...................... Allianz.RSL[Parameter RSL]
BASF ........................ BASF.RSL[Parameter RSL]
...
ThyssenKrupp ........... ThyssenKrupp.RSL[Parameter RSL]
Volkswagen ............... Volkswagen.RSL[Parameter RSL]

Jeder Kreuzungspunkt ist genau der RSL-Wert eines ganz bestimmten Wertpapiers. Und zwar auch noch der letzte aktuelle Wert.

In einem Chart ist das genauso. Doppelklickst Du auf den Ordner, dann werden alle Wertpapiere mit allen Deinen Formeln in den einzelnen Teilcharts verknüpft. Mit den Pfeiltasten in der Symbolleiste über dem Chart blätterst Du durch die Wertpapiere des Ordners, die in den Tabellen den Zeilen entsprechen.

Wenn Deine RSL-Formel im Spaltenkopf der Tabelle die gleiche in einem Teilchart ist, dann siehst Du dort den RSL Zeitreihenchart des jeweiligen Wertpapiers. Der letzte Wert im Chart muss dem aktuellen Wert in der Tabelle entsprechen, wenn Du auch die gleichen Parameter verwendet hast.

Also dieser Austausch Tabelle Chart durch Kopie der Spaltenformel in einen Teilchart funktioniert.

Jetzt gibt es bei den Tabellen ja noch die Möglichkeit zu Spalten mit Zahlen verschieden Verrechnungen über die Spalte ausführen zu lassen.

Für die, die das noch nicht kennen: Man geht mit dem Cusor über die Kopfzeile einer Spalte dann "rechte Maustaste / Summe" dann erscheint ein Fenster, das anzeigt, welche Verrechnungen über die Spalte möglich sind (z.B. Summe, Maximum, Mittelwert, ...)

Ich vermute, dies ist der von Dir zitierte Mittelwert, den Du im Chart darstellen lassen willst.

Das geht leider ohne Programmierung nicht.

Chuck


Roland Werth
Geschrieben: Saturday, August 23, 2014 6:33:35 PM
Gruppen: Kunde

Beiträge: 144

Danke Chuck,

dann brauch ich ja nicht mehr weiter in den Handbüchern zu suchen. Habe zwar soetwas für den Dow und Dax schon programmiert, aber dabei immer für jedes Wertpapier eine extra Zeile geschrieben. Beim SPX wäre das dann über 500 Zeilen. Mal schauen, ob es eine da andere Möglichkeit gibt.

Roland
chuck
Geschrieben: Sunday, August 24, 2014 1:01:18 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

wie sieht denn der Indikator aus, über den Du den Mittelwert über die Wertpapiere eines Ordners bilden willst? Schicke ihn mir oder poste Ihn, dann kann ich Dir wahrscheinlich helfen.

Gruß Chuck
Roland Werth
Geschrieben: Sunday, August 24, 2014 1:07:23 PM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

den hatte ich schon unter "Macht die Beschäftigung..." abgebildet (Aber nur auf den SPX selbst bezogen). Es ist die Kurve zum Value at Risk (VaR). Zurzeit kann ich aber keine weiteren Charts posten wegen Computerproblemen. Sogar die Formel müsste ich nochmal schreiben/zusammensuchen. Aber es wäre auch für andere Indikatoren sinnvoll.

Gruß Roland
chuck
Geschrieben: Sunday, August 24, 2014 1:29:17 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

ich betreibe keine Recherche welchen Chart Du meinst. Dafür verschwende ich keine Zeit.

Schicke die Formel und Du erhälst die Lösung.

Gruß Chuck
Roland Werth
Geschrieben: Sunday, August 24, 2014 1:49:59 PM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

ist zurzeit nicht mehr vorrangig für mich (bezüglich VaR). Werde aber sicher irgendwann später das Ganze nochmal programmieren.

Gruß Roland
Roland Werth
Geschrieben: Tuesday, August 26, 2014 10:12:39 AM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

habe die Spalte (VaR) nochmal geschrieben. Hier die Formel:

(((1*(Price[$Währung].StdN[$Zeitraum2])*2,2360679*1,6449)/(Price))*100)

Zeitraum2=20

Es soll der Durchnitt aller Indexmitglieder eines Indexordners dargestellt werden. Wie schon geschrieben, die Variante mit einer Zeile pro Indexmitglied hatte ich schon. Es geht um eine Vereinfachung, insbesondere um auch große Indices entsprechend darstellen zu können.

Kannst Du da helfen?

Gruß Roland
Roland Werth
Geschrieben: Tuesday, August 26, 2014 10:52:12 AM
Gruppen: Kunde

Beiträge: 144

Hier auch nochmal die entsprechende Darstellung der Formel im Chart für den SPX:



http://s14.directupload.net/images/140826/9u7y9kqs.jpg
chuck
Geschrieben: Wednesday, August 27, 2014 12:36:13 PM

Gruppen: Kunde

Beiträge: 167

market maker
Hallo Roland,

Ich habe Dir einen Screenshot von der Formel gemacht, die Deinen Risk Indi für jedes Wertpapier eines Ordners als Zeitreihe berechnet, diese dann über alle die Papiere des Ordners summiert und dann durch die Anzahl der Wertpapiere teilt, um den durchschnittlichen Wert zu erhalten.

Wenn Du im Formeleditor die Funktionen eingegeben hast, dann gehe noch über "Parameter / Typen definieren" in das Fenster Variablentypen und kontrolliere bzw. stelle folgendes ein:

- Währung: Feldtyp:Aufzählungen; Typ:Währung
- Ordner: Feldtyp:Ordner bei Typ Ordner und Filter bitte einen Haken setzen
- Zeitraum: Feldtyp:Zahl, Minimalwert und Maximalwert mit Werten sinnvollen Deiner Wahl vorbelegen und in Spin-Diferenz eine 1 setzen

Das war dann schon alles.

Über die Variable "Ordner" kannst Du jeden bei Dir im System vorhandenen Ordner angeben und die Formel wird dann wie oben beschrieben angewendet.

Ich habe noch eine kleine Änderung vorgenommen. In Deiner Formel kommt 2-mal die Funktion Price vor. Sie liest die Kursdaten aus der Datenbank, dem Performance Flaschenhals des Systems. Besser ist, wenn Du Werte aus der Datennbank mehrmals brauchst, sie einmal in eine Varaiable einzulesen und dann diese Variable an den verschiedenen Stellen des Programms dann zu benutzen, wo Du diese Daten wieder brauchst. Außerdem hast Du einmal die Preisdaten mit Parameter $Währung aufgerufen und einmal Ohne Parameter. Dies kann in Deiner Formel dazu führen, dass Du im Zähler z.B. die Preisdaten dadurch in Euro umrechnen lässt, aber im Nenner die Preisdaten in ihrer Originalwährung (beim S&P in US$) zur Anwendung kommen, was sicher nicht gewünscht ist.

Was ich nicht verstehe ist, warum du in der Formel 2 Faktoren benutzt (2,2360679*1,6449) und die nicht zu einem zusammenziehst?

Warum verwendest Du überhaupt diese Faktoren? Sie machen ja nichts anderes als die Werte linar zu spreizen / vergrößern. Tatsächliche Zusatzinformation bringen sie nicht. Vielleicht kannst du dazu ja mal Stellung nehmen.

Als Beispiel wie das Ergebis aussieht habe ich das ganze über den Dax berechnen lassen und als Bild beigefügt.

Bedenke wenn Du den S&P500 nimmst, dann wird über 500 Papiere Dein Risk Indi berechnet und dann daraus der Durchschnitt gebildet. Je nach dem wie leistungsfähig Dein Rechner ist, ist er schon etwas damit beschäftigt.

Ich hoffe ich konnte Dir damit weiterhelfen.

Gruß Chuck

Dateianhänge:
Risk Indi.bmp (799kb) downloaded 76 time(s).
Dax_mit_Risk-Indi_von_Roland.bmp (1,645kb) downloaded 51 time(s).


Roland Werth
Geschrieben: Wednesday, August 27, 2014 3:51:30 PM
Gruppen: Kunde

Beiträge: 144

Hallo Chuck,

danke für die Formel und die Arbeit die Du reingesteckt hast. Kann das aber zurzeit noch nicht selbst ausprobieren (Lese gerade wieder die Kurshistorien ein).

Meine Formel habe ich absichtlich so gestaltet, weil dahinter die Möglichkeit steckt, zu einem beliebigen investierten Betrag den VaR in Euro zu errechnen. Bleibt man bei der Formel, so erhält man den VaR als Prozentwert. Die einzelnen Multiplikatoren haben einen Hintergrund, nähmlich z.B. die Wahrscheinlichkeit (hier 95%, die Zahl ist entnommen aus Tabellen, wird die Wahrscheinlichkeit geändert, ändert sich auch der VaR).

Gruß
Roland
Benutzer die diese Diskussion aktuell lesen
Guest

Powered by Yet Another Forum.net version 1.9.1.8 (NET v4.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.

Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Weitere Informationen zum Datenschutz finden Sie hier