|
|
Problem mit Sortierung eines Datensatzes |
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 20:09
Titel:
|
 |
Hallo,
probier mal das:
Ist nun wohl nicht laufzeitoptimal aber liefert, glaube ich, was du haben willst. Solltest du zumindest stichprobenartig selbst überprüfen.
Die Zeilen von PDs gehören nun zu IDs, die Spalten zu alldates. Analysiert wurde die 9. Spalte des Originaldatensatzes, weil das PD zu sein scheint.
Grüße,
Harald
|
|
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 21:31
Titel:
|
 |
Hallo Harald,
vielen Dank schon mal, ich werde es mir gleich angucken!
Grüße
Soooo... Die Idee dahinter ist auf jeden Fall völlig richtig, nur eins irritiert mich ein wenig: Außer in Zeile 1 von "PDs" sind alle Einträge NaNs
Ansonsten bin ich noch am Überlegen ob ich die ersten 250 Ergebnisse pro Unternehmen rauswerfe, da die PDs aus methodologischen Gründen 1 Jahr nach den anderen Daten beginnen.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 22:43
Titel:
|
 |
Hallo,
Zitat: |
Außer in Zeile 1 von "PDs" sind alle Einträge NaNs |
Wenn ich das laufen lasse nicht. Vielleicht etwas mehr scrollen?
Eine kleine Nachverarbeitung, um alle Spalten zu eliminieren, in denen ausschließlich NaN stehen:
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 22:47
Titel:
|
 |
Ich habe wirklich alles durchgescrollt *grübel*
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 23:12
Titel:
|
 |
Hallo,
ich meine, nur ein paar Zeilen an dein Skript angehängt zu haben. Stelle auch sicher, dass du mit dem hochgeladenen Datensatz arbeitest.
Grüße,
Harald
Beschreibung: |
|
 Download |
Dateiname: |
test.m |
Dateigröße: |
1.63 KB |
Heruntergeladen: |
278 mal |
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.07.2012, 23:33
Titel:
|
 |
Hmm, jetzt klappt's, warum auch immer Danke!
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 08:59
Titel:
|
 |
Hallo,
ich frage mich eher, warum es vorher nicht geklappt hat Aber passt ja nun. Ich setze das Thema daher mal auf beantwortet.
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.07.2012, 09:05
Titel:
|
 |
Hatte deinen Code in ein Testscript von mir eingefügt wo ich testweise was rausgelöscht hatte. Mea Culpa Jetzt muss ich das Ganze noch mit den (noch zu bestimmenden) Asset Returns machen, aber das kriege ich jetzt dann alleine hin.
Danke nochmal
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 26.07.2012, 12:39
Titel:
|
 |
|
 |
|
Hallo liebe Leute, ich melde mich nochmal mit einer Frage zum Thema Daten sortieren. Ich habe meinen ursprünglichen Datensatz mal auf 4 akut benötigte Spalten verkleinert, das .mat-File und mein Code befindet sich im Anhang.
Im angehängten Datensatz geht es bei meinem akuten Problem um Spalte 3. Es sind hier Renditen der Daten in Spalte 3 zu bestimmen - soweit kein Problem.
Nun ist es aber so, dass aus methodologischen Gründen die Beobachtungen 1 bis 249 irrelevant sind, da die Daten aus Spalte 4 die ersten 250 Beobachtungen als Input benötigten. Später sollen Spalte 3 und 4 zusammen verarbeitet werden, daher sollen auch in Spalte 3 die ersten 250 Beobachtungen ignoriert werden.
Mein Problem dabei ist, dass die Daten aller Unternehmen pro Kategorie (Spalte) einfach untereinander stehen. Ich bräuchte ein wenig Hilfe dabei wie ich für jedes Unternehmen die ersten 250 Beobachtungen rauswerfe, die Rendite der restlichen Beobachtungen bestimme und zu guter Letzt alle so berechneten Renditen in eine "Unternehmen x Renditebeobachtung - Matrix" bekomme.
Genau so wie in meinem Code die Matrix PDs erzeugt wird, nur eben mit dem Zwischenschritt der Elimination der ersten 250 Werte pro Unternehmen.
Hoffe ihr blickt noch durch und könnt mir helfen
Beschreibung: |
|
 Download |
Dateiname: |
Daten und Code.rar |
Dateigröße: |
4.3 MB |
Heruntergeladen: |
423 mal |
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 18:41
Titel:
|
 |
So, auch hier hätte ich noch eine Frage:
Ich habe einen Datensatz der m Unternehmen und n Tage in einer n x m - Matrix enthält.
Dieser Datensatz enthält eine ganze Menge NaN-Einträge. Wie ich es schaffe ALLE NaNs durch Null oder was auch immer zu ersetzen weiß ich. In diesem speziellen Fall muss ich allerdings pro Spalte alle NaNs durch Null ersetzen, die nach der ersten wirklichen Zahl in dieser Spalte auftreten, da NaNs vor dieser ersten Zahl einfach bedeuten dass zu diesem Zeitpunkt noch keine Daten verfügbar waren.
Leider beginnen die Zahlen in jeder Spalte in teils stark abweichenden Zeilen, und ich komme nicht drauf wie ich das automatisiert lösen kann
Hat irgendjemand eine Idee?
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 21:36
Titel:
|
 |
Hallo,
erster Hinweis:
Was soll denn mit den NaN passieren, die vor der ersten "wirklichen Zahl" stehen?
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 21:49
Titel:
|
 |
Es geht darum dass NaNs zwischen den Daten z.B. für einen Feiertag, und damit eine geschlossene Börse, stehen, während eine Sequenz von 2-300 NaNs vor den ersten Daten fehlende Daten bedeutet. Die Daten kommen anschließend in die MC-Simulation aus dem anderen Thread, die mit NaNs nicht umgehen kann. Ich würde ja die ersten XYZ Zeilen einfach abschneiden, aber leider müsste ich das ja dann bis zum Beginn der kürzesten Datenreihe machen, was viele Informationen bei den anderen wegfallen lassen würde. Bringt somit auch nix...
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 22:12
Titel:
|
 |
Hallo,
meine Frage hast du dadurch nun nicht beantwortet.
Grüße,
Harald
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.11.2012, 22:16
Titel:
|
 |
Ich weiß es selbst nicht so recht... Eigentlich gibt es keine andere Lösung als alle NaNs durch Nullen zu ersetzen. Oder ich bringe meiner MC-Simulation bei mit NaNs umzugehen.
|
|
|
matlabbrig |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 52
|
 |
|
 |
Anmeldedatum: 17.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 18.11.2012, 18:17
Titel:
|
 |
So, ich mal wieder
Ich habe jetzt folgendes (Programmier-)Problem:
Wie schaffe ich es, bei bis um die 500 Zeilen versetzten Daten automatisch immer nur die Spalten in die weitere Berechnung eingehen zu lassen, in denen gerade Zahlen stehen?
Es soll mit einem rolling window cov(Spalten die Zahlen enthalten) berechnet werden.
Jede Datenspalte beginnt mit NaNs, nur eben unterschiedlich vielen. Ich habe mir eine kleine for-Schleife geschrieben die mir für alle Spalten ausgibt in welcher Zeile die erste Zahl nach den NaNs steht. Nur wenn es darum geht Matlab beizubringen "berechne ab der ersten Zahl im Datensatz cov() für alle Spalten die zum betreffenden Zeitpunkt bereits eine Zahl enthalten", da stehe ich leider komplett auf dem Schlauch
Viele Grüße
|
|
|
|
Gehe zu Seite Zurück 1, 2, 3 Weiter
|
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.
|
|