Bin an einer Optimierungsarbeit dran, komme aber nicht wirklich auf die Lösung. Habe zwar gesehen, dass man Gleichungen minimieren / maximieren kann. Wie man das aber mit ganzen Scripts macht, ist mir nicht ganz klar.
Ausgangslage:
1. Ich lade 105 Tageskurse der IBM Aktie
2. Ich rechne die Tagesrendite für jeden Tag aus
3. Ich Berechne den 10-Tagesdurchschnitt für die 105 Tage
4. Ich vergleiche den Durchschnitt mit dem aktuellen Kurs
a) wenn der aktuelle Kurs > Durschnitt, dann ist das Signal +1
b) vice versa; Signal = -1
5. Multiplikation der Signale mit der Rendite.
Wir ihr im Beispiel sieht, weicht die so erzielte massgeblich von jener der Aktie selbst ab.
So, wie wir sehen hätte man damit viel besser abgeschnitten als wenn man einfach nur die Aktie gehandelt hätte. Nun stelle ich mir natürlich die Frage, ob der 10-Tages-Durchschnitt der richtige ist und möchte den nun "optimieren". Das heisst der Computer soll mir ausrechnen, für welches Intervall (z.B. 2-90) der grösste Ertrag erzielt worden wär.
Also grundsätzlich die Summe des "trueyield" maximieren.
Nun stelle ich mir natürlich die Frage, ob der 10-Tages-Durchschnitt der richtige ist und möchte den nun "optimieren". Das heisst der Computer soll mir ausrechnen, für welches Intervall (z.B. 2-90) der grösste Ertrag erzielt worden wär.
Wenn das nicht extrem lange dauert, würde ich das in einer for-Schleife
(for Intervall = 2:90) abarbeiten und schauen, wann du das beste Ergebnis bekommst.
Es kann allerdings sein, dass du mehr und längere Zeitreihen brauchst, um auf aussagekräftige Ergebnisse zu kommen.
Die Berechnung stimmt schon so wie du sagst. Nur ist bei meiner Datenbank der aktuelle Kurs in Zeile 1 und der älteste in Zeile 105
Hmm... das könnte ich auch so machen.
Dann einfach eine Nx2 Matrix erstellen und in die erste Spalte den Intervallwert und in die 2. die Summe schreiben?
Wie kann ich dann in der 2. Spalte nach dem Maximum suchen und das dementsprechende Intervall ausgeben?
Mein Problem wird dann wohl sein, wenn ich Indikatoren einbaue, die mehrere Inputs haben, dann wirds dann schnell mühsam. Aber Matlab ist ja schnell
Wenn es mehr Aufwand wird, muss man sich evtl. eine systematischere Suche überlegen.
Grüße,
Harald
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.