|
|
Zwei Zeitreihen (unterschiedliche Zeitpunkte) zusammenfügen |
|
Martin2000 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.03.2010, 19:06
Titel: Zwei Zeitreihen (unterschiedliche Zeitpunkte) zusammenfügen
|
 |
|
 |
|
Hallo,
Ich habe folgende Herausforderung:
Ich habe zwei CSV eingelesen und nun sehr genaue Daten für zwei Aktien, bzw. jede einzelne Transaktion der beiden Aktien mit dem genauen Zeitpunkt (ich habe also Tag, Stunde, Minute, Sekunde und Millisekunde).
Nun möchte ich, um die Daten analysieren zu können, die Preis natürlich zu einem bestimmten Zeitpunkt miteinander vergleichen. Und da die Transaktionen ja nicht immer zur gleichen Millisekunde stattfanden, muss ich die beiden Matrizen zusammenfügen zu einer neuen, in der sie dann nach der genauen zeit geordnet sind. Wenn eine Transaktion in einer Aktie stattgefunden hat und in der anderen nicht (was ja relativ wahrscheinlich ist), dann will ich Zeitpunkt und Preis dieser Aktie festhalten und den "aktuellsten" Preis der anderen Aktie daneben schreiben.
Ich hänge eine Excel-Tabelle an, um zu verdeutlichen, was ich meine.
Ich frage mich nun, was die schnellste Möglichkeit ist, diese beiden Matrizen zu durchlaufen, um die neue Matrix zu erstellen. Man kann wahrscheinlich sagen:
If DayAktie1 = DayAktie2
if HourAktie1 = HourAktie2
if Minute Aktie1 = MinuteAktie2
if SecondAktie1 = SecondAktie2
if MilliSecondAktie1 = MillisecondAktie2
newmatrix = Day, Hour, Minute, Second, Millisecond, PreisAktie1, PreisAktie2
etc. etc.
Aber irgendwie sagt mir mein BWLer-Herz, das so gerne ein Programmierer-Herz wäre, dass es da eine bessere Möglichkeit geben muss.
Was mein ihr?
Gruss
Martin
Beschreibung: |
|
 Download |
Dateiname: |
Problem.xls |
Dateigröße: |
17.5 KB |
Heruntergeladen: |
602 mal |
Beschreibung: |
|
 Download |
Dateiname: |
Problem.xls |
Dateigröße: |
17.5 KB |
Heruntergeladen: |
501 mal |
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 00:46
Titel:
|
 |
Hallo,
ein Vorschlag wäre, die Tag-Std-Min-Sek - Daten auf Sekunden oder Tage runterzubrechen. Eine Hilfe dabei kann DATENUM sein.
Wenn das geschehen ist, kann man die Zeitstempel mit UNION oder INTERSECT abgleichen.
Grüße,
Harald
|
|
|
Martin2000 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 14:40
Titel:
|
 |
Lieben Dank Harald,
und die darauf aufbauende Frage: wenn ich nun die neue Matrix habe (sie ist entsprechend groß, ihre Erstellung dauert über 1000 Sekunden) will ich sie als csv abspeichern.
Bisher mache ich das so:
fid = fopen('Data.txt','w');
fprintf(fid,'%d %d %d %d %d %f %d %f %d \n',FileTotal);
fclose(fid);
Leider schreibt mir das aber erst die ganze Spalte 1 dann die Spalte 2 usw. und nicht erst Reihe 1 dann Reihe 2. Weißt Du wie ich das ändern kann?
Auch wird \n nicht erkannt, es wird also keine neue Zeile geschrieben. Weißt Du warum nicht?
Liebe grüße und besten Dank.
Martin
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 14:48
Titel:
|
 |
Zitat: |
Leider schreibt mir das aber erst die ganze Spalte 1 dann die Spalte 2 usw. und nicht erst Reihe 1 dann Reihe 2. Weißt Du wie ich das ändern kann?
|
du kannst einfach die Matrix transponieren
|
|
|
Martin2000 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 15:11
Titel:
|
 |
tatsache Danke
und warum schreibt er mir nur die erste zeile wenn ich %\n mache????
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|