WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Verknüpfung Werte mit gleichem Namen aus versch. Tabellen

 

HCD
Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.06.2016, 14:20     Titel: Verknüpfung Werte mit gleichem Namen aus versch. Tabellen
  Antworten mit Zitat      
Hallo zusammen,

ich bin Matlab-Anfänger, der vorher mit Excel gearbeitet hat. Das war mir aber zu launisch. Mein Problem sieht wie folgt aus:
Ich arbeite mit Aktienkursen und habe mehrere Excel-Tabellen mit Werten.
Beispiel:
Aktie A 100 101 102 101
Aktie B 120 100 110 100
Aktie C 200 300 400 500

Diese habe ich zum Einlesen aufgeteilt in ein 500x1Cell mit den Namen und ein 500x6800 Double, das die Tageskurse enthält.
Mit diesen möchte ich anschließend arbeiten, das heißt, ich möchte beispielsweise in einer Tabelle die Aktien nach ihrer Rendite sortieren. Anschließend möchte ich diese Sortierung übernehmen und die Kurse eines anderen Zeitraums hintendranklatschen, um die Rendite von Portfolios nach der vorher gefundenen Sortierung anzuschauen, und das ganze dann zu unterteilen, beispielsweise in die Top10%, Flop 10% etc.
Das Einzige zur Sortierung, was ich gefunden habe, ist eine Tabelle. Wenn ich aber einfach eine Tabelle mit T=(Namen, Kurse) mache, erhalte ich eine Tabelle die so aussieht
'Aktie A' [1x6800 double]
'Aktie B' [1x6800 double]

Erstes Problem: Die Kurse sind anscheinend in der eckigen Klammer gefangen und an eine Sortierung ist erstmal nicht sinnvoll zu denken.
Gibt es eine sinnvollere oder logischere Lösung, auf die ich bisher noch nicht gekommen bin?

Zweites Problem: Wenn ich meine Kurse gefunden habe, wie verknüpfe ich das Ganze um ihm zu sagen "Nimm die Kurse aus der Kurstabelle ab Spalte 300 bis Spalte 350 und ordne sie den Namen zu". Liegt mein Problem bereits in der Anlage meiner Daten? Gibt es eine sinnigere Lösung, auf die ich bisher nicht gekommen bin?

Ich danke schonmal für jeden kleinen Schubser, und falls was nicht klar wurde, versuche ich das gerne noch darzustellen.
HCD
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.06.2016, 15:25     Titel:
  Antworten mit Zitat      
Hallo,

poste bitte deinen Code. Ansonsten ist nicht nachvollziehbar, wie du beispielsweise zu der Darstellung
'Aktie A' [1x6800 double]
'Aktie B' [1x6800 double]
kommst.

Ich würde empfehlen, möglichst von vorneherein mit Tables zu arbeiten (Befehl readtable). Die benötigten Funktionen zur Umorganisation der Daten sollten dann vorhanden sein, z.B. sortrows und Indizierung in den Table.

Häufig helfen auch kleine Beispieldatensätze und wenn man anhand dieser zeigt, welche Ergebnisse gewünscht werden.

Auf File Exchange gibt es übrigens viele Einträge, die da hilfreich sein könnten:
http://www.mathworks.com/matlabcent.....E2%9C%93&term=trading

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2016, 11:00     Titel:
  Antworten mit Zitat      
Hallo Harald,

werde mich mit den Beispielen mal auseinandersetzen, danke!

Meine seltsame Tabelle kommt einfach nur durch den Befehl Kurstabelle=table(Namen,Kurse)
Wobei ja Namen wie gesagt die Namen der Aktien als Cell sind und Kurse in einem 500x6800 Double gespeichert sind.
Werde es mal mit der Tabelle versuchen - kann ich da auch auf Zeilen oder Spalten eingehen, wie ich es in einer Matrix machen könnte?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.06.2016, 11:26     Titel:
  Antworten mit Zitat      
Hallo,

dann versuch mal
Code:
T = array2table(Kurse, 'VariableNames', Namen);


Ggf. Kurse vorher transponieren.

Zitat:
kann ich da auch auf Zeilen oder Spalten eingehen, wie ich es in einer Matrix machen könnte?

Falls du mit "eingehen" indizieren meinst: ja. Vor allem kannst du auch Zeilen- oder Spaltennamen als Index verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.06.2016, 12:10     Titel:
  Antworten mit Zitat      
Danke schonmal. Er stört sich gerade noch an etwas "The VariableNames property must contain one name for each variable in the table.", kriege ich aber hoffentlich gelöst - array2table hatte ich schonmal erfolgreich eingesetzt.
Wenn ich dann mehrere Tabellen habe, wie kriege ich diese miteinander verknüpft?
Ich habe beispielsweise eine Tabelle, die nur die Marktwerte beinhaltet und eine die die Kurse beinhaltet.
Wenn ich nun die Namen der Aktien nach Marktwerten absteigend sortiere, wie kriege ich Matlab dann dazu, hintendran die Kurse von Tag x bis y ebenfalls in dieser Reihenfolge dranzuhängen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.06.2016, 19:53     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Er stört sich gerade noch an etwas "The VariableNames property must contain one name for each variable in the table.", kriege ich aber hoffentlich gelöst

Wie gesagt: transponieren könnte helfen.
Oder wenn du deinen Code mitsamt Beispieldaten postest, so dass man sieht, wo das Problem liegt.

Zitat:
Wenn ich dann mehrere Tabellen habe, wie kriege ich diese miteinander verknüpft?

join / innerjoin / outerjoin

Zitat:
Wenn ich nun die Namen der Aktien nach Marktwerten absteigend sortiere, wie kriege ich Matlab dann dazu, hintendran die Kurse von Tag x bis y ebenfalls in dieser Reihenfolge dranzuhängen?

Ich würde zunächst alles zusammenfügen und dann sortrows verwenden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.06.2016, 17:38     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:

Harald


Hallo Harald, entschuldige die Verspätete Meldung. Ich werde mein Bestes Versuchen, danke schonmal, ich hoffe es klappt Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 12:56     Titel:
  Antworten mit Zitat      
Mal ein kleines Beispiel, weil ich wirklich nicht weiterkomme:

Code:
%% Import the data
[~, ~, raw] = xlsread('C:\Users\HCD\Desktop\BeispielSUP.xlsx','Tabelle1','A2:KX505');
raw(cellfun(@(x) ~isempty(x) && isnumeric(x) && isnan(x),raw)) = {''};
cellVectors = raw(:,1);
raw = raw(:, 2:310);

%% Replace blank cells with 0.0
R = cellfun(@(x) isempty(x) || (ischar(x) && all(x==' ')),raw);
raw(R) = {0.0}; % Replace blank cells

%% Exclude rows with non-numeric cells
I = ~all(cellfun(@(x) isnumeric(x) || islogical(x),raw),2); % Find rows with non-numeric cells
raw(I,:) = [];
cellVectors(I,:) = [];

%% Create output variable
data = reshape([raw{:}],size(raw));

%% Create table
BeispielSUP = table;

%% Allocate imported array to column variable names
BeispielSUP.Name = cellVectors(:,1);
BeispielSUP.VarName2 = data(:,1);
BeispielSUP.VarName3 = data(:,2);
BeispielSUP.VarName4 = data(:,3);
BeispielSUP.VarName5 = data(:,4);
BeispielSUP.VarName6 = data(:,5);
BeispielSUP.VarName7 = data(:,6);
BeispielSUP.VarName8 = data(:,7);
BeispielSUP.VarName9 = data(:,8);
BeispielSUP.VarName10 = data(:,9);
BeispielSUP.VarName11 = data(:,10);
BeispielSUP.VarName12 = data(:,11);
BeispielSUP.VarName13 = data(:,12);
BeispielSUP.VarName14 = data(:,13);
BeispielSUP.VarName15 = data(:,14);
BeispielSUP.VarName16 = data(:,15);
BeispielSUP.VarName17 = data(:,16);
BeispielSUP.VarName18 = data(:,17);
BeispielSUP.VarName19 = data(:,18);
BeispielSUP.VarName20 = data(:,19);
BeispielSUP.VarName21 = data(:,20);
BeispielSUP.VarName22 = data(:,21);
BeispielSUP.VarName23 = data(:,22);
BeispielSUP.VarName24 = data(:,23);
BeispielSUP.VarName25 = data(:,24);
BeispielSUP.VarName26 = data(:,25);
BeispielSUP.VarName27 = data(:,26);
BeispielSUP.VarName28 = data(:,27);
BeispielSUP.VarName29 = data(:,28);
BeispielSUP.VarName30 = data(:,29);
BeispielSUP.VarName31 = data(:,30);
BeispielSUP.VarName32 = data(:,31);
BeispielSUP.VarName33 = data(:,32);
BeispielSUP.VarName34 = data(:,33);
BeispielSUP.VarName35 = data(:,34);
BeispielSUP.VarName36 = data(:,35);
BeispielSUP.VarName37 = data(:,36);
BeispielSUP.VarName38 = data(:,37);
BeispielSUP.VarName39 = data(:,38);
BeispielSUP.VarName40 = data(:,39);
BeispielSUP.VarName41 = data(:,40);
BeispielSUP.VarName42 = data(:,41);
BeispielSUP.VarName43 = data(:,42);
BeispielSUP.VarName44 = data(:,43);
BeispielSUP.VarName45 = data(:,44);
BeispielSUP.VarName46 = data(:,45);
BeispielSUP.VarName47 = data(:,46);
BeispielSUP.VarName48 = data(:,47);
BeispielSUP.VarName49 = data(:,48);
BeispielSUP.VarName50 = data(:,49);
BeispielSUP.VarName51 = data(:,50);
BeispielSUP.VarName52 = data(:,51);
BeispielSUP.VarName53 = data(:,52);
BeispielSUP.VarName54 = data(:,53);
BeispielSUP.VarName55 = data(:,54);
BeispielSUP.VarName56 = data(:,55);
BeispielSUP.VarName57 = data(:,56);
BeispielSUP.VarName58 = data(:,57);
BeispielSUP.VarName59 = data(:,58);
BeispielSUP.VarName60 = data(:,59);
BeispielSUP.VarName61 = data(:,60);
BeispielSUP.VarName62 = data(:,61);
BeispielSUP.VarName63 = data(:,62);
BeispielSUP.VarName64 = data(:,63);
BeispielSUP.VarName65 = data(:,64);
BeispielSUP.VarName66 = data(:,65);
BeispielSUP.VarName67 = data(:,66);
BeispielSUP.VarName68 = data(:,67);
BeispielSUP.VarName69 = data(:,68);
BeispielSUP.VarName70 = data(:,69);
BeispielSUP.VarName71 = data(:,70);
BeispielSUP.VarName72 = data(:,71);
BeispielSUP.VarName73 = data(:,72);
BeispielSUP.VarName74 = data(:,73);
BeispielSUP.VarName75 = data(:,74);
BeispielSUP.VarName76 = data(:,75);
BeispielSUP.VarName77 = data(:,76);
BeispielSUP.VarName78 = data(:,77);
BeispielSUP.VarName79 = data(:,78);
BeispielSUP.VarName80 = data(:,79);
BeispielSUP.VarName81 = data(:,80);
BeispielSUP.VarName82 = data(:,81);
BeispielSUP.VarName83 = data(:,82);
BeispielSUP.VarName84 = data(:,83);
BeispielSUP.VarName85 = data(:,84);
BeispielSUP.VarName86 = data(:,85);
BeispielSUP.VarName87 = data(:,86);
BeispielSUP.VarName88 = data(:,87);
BeispielSUP.VarName89 = data(:,88);
BeispielSUP.VarName90 = data(:,89);
BeispielSUP.VarName91 = data(:,90);
BeispielSUP.VarName92 = data(:,91);
BeispielSUP.VarName93 = data(:,92);
BeispielSUP.VarName94 = data(:,93);
BeispielSUP.VarName95 = data(:,94);
BeispielSUP.VarName96 = data(:,95);
BeispielSUP.VarName97 = data(:,96);
BeispielSUP.VarName98 = data(:,97);
BeispielSUP.VarName99 = data(:,98);
BeispielSUP.VarName100 = data(:,99);
BeispielSUP.VarName101 = data(:,100);
BeispielSUP.VarName102 = data(:,101);
BeispielSUP.VarName103 = data(:,102);
BeispielSUP.VarName104 = data(:,103);
BeispielSUP.VarName105 = data(:,104);
BeispielSUP.VarName106 = data(:,105);
BeispielSUP.VarName107 = data(:,106);
BeispielSUP.VarName108 = data(:,107);
BeispielSUP.VarName109 = data(:,108);
BeispielSUP.VarName110 = data(:,109);
BeispielSUP.VarName111 = data(:,110);
BeispielSUP.VarName112 = data(:,111);
BeispielSUP.VarName113 = data(:,112);
BeispielSUP.VarName114 = data(:,113);
BeispielSUP.VarName115 = data(:,114);
BeispielSUP.VarName116 = data(:,115);
BeispielSUP.VarName117 = data(:,116);
BeispielSUP.VarName118 = data(:,117);
BeispielSUP.VarName119 = data(:,118);
BeispielSUP.VarName120 = data(:,119);
BeispielSUP.VarName121 = data(:,120);
BeispielSUP.VarName122 = data(:,121);
BeispielSUP.VarName123 = data(:,122);
BeispielSUP.VarName124 = data(:,123);
BeispielSUP.VarName125 = data(:,124);
BeispielSUP.VarName126 = data(:,125);
BeispielSUP.VarName127 = data(:,126);
BeispielSUP.VarName128 = data(:,127);
BeispielSUP.VarName129 = data(:,128);
BeispielSUP.VarName130 = data(:,129);
BeispielSUP.VarName131 = data(:,130);
BeispielSUP.VarName132 = data(:,131);
BeispielSUP.VarName133 = data(:,132);
BeispielSUP.VarName134 = data(:,133);
BeispielSUP.VarName135 = data(:,134);
BeispielSUP.VarName136 = data(:,135);
BeispielSUP.VarName137 = data(:,136);
BeispielSUP.VarName138 = data(:,137);
BeispielSUP.VarName139 = data(:,138);
BeispielSUP.VarName140 = data(:,139);
BeispielSUP.VarName141 = data(:,140);
BeispielSUP.VarName142 = data(:,141);
BeispielSUP.VarName143 = data(:,142);
BeispielSUP.VarName144 = data(:,143);
BeispielSUP.VarName145 = data(:,144);
BeispielSUP.VarName146 = data(:,145);
BeispielSUP.VarName147 = data(:,146);
BeispielSUP.VarName148 = data(:,147);
BeispielSUP.VarName149 = data(:,148);
BeispielSUP.VarName150 = data(:,149);
BeispielSUP.VarName151 = data(:,150);
BeispielSUP.VarName152 = data(:,151);
BeispielSUP.VarName153 = data(:,152);
BeispielSUP.VarName154 = data(:,153);
BeispielSUP.VarName155 = data(:,154);
BeispielSUP.VarName156 = data(:,155);
BeispielSUP.VarName157 = data(:,156);
BeispielSUP.VarName158 = data(:,157);
BeispielSUP.VarName159 = data(:,158);
BeispielSUP.VarName160 = data(:,159);
BeispielSUP.VarName161 = data(:,160);
BeispielSUP.VarName162 = data(:,161);
BeispielSUP.VarName163 = data(:,162);
BeispielSUP.VarName164 = data(:,163);
BeispielSUP.VarName165 = data(:,164);
BeispielSUP.VarName166 = data(:,165);
BeispielSUP.VarName167 = data(:,166);
BeispielSUP.VarName168 = data(:,167);
BeispielSUP.VarName169 = data(:,168);
BeispielSUP.VarName170 = data(:,169);
BeispielSUP.VarName171 = data(:,170);
BeispielSUP.VarName172 = data(:,171);
BeispielSUP.VarName173 = data(:,172);
BeispielSUP.VarName174 = data(:,173);
BeispielSUP.VarName175 = data(:,174);
BeispielSUP.VarName176 = data(:,175);
BeispielSUP.VarName177 = data(:,176);
BeispielSUP.VarName178 = data(:,177);
BeispielSUP.VarName179 = data(:,178);
BeispielSUP.VarName180 = data(:,179);
BeispielSUP.VarName181 = data(:,180);
BeispielSUP.VarName182 = data(:,181);
BeispielSUP.VarName183 = data(:,182);
BeispielSUP.VarName184 = data(:,183);
BeispielSUP.VarName185 = data(:,184);
BeispielSUP.VarName186 = data(:,185);
BeispielSUP.VarName187 = data(:,186);
BeispielSUP.VarName188 = data(:,187);
BeispielSUP.VarName189 = data(:,188);
BeispielSUP.VarName190 = data(:,189);
BeispielSUP.VarName191 = data(:,190);
BeispielSUP.VarName192 = data(:,191);
BeispielSUP.VarName193 = data(:,192);
BeispielSUP.VarName194 = data(:,193);
BeispielSUP.VarName195 = data(:,194);
BeispielSUP.VarName196 = data(:,195);
BeispielSUP.VarName197 = data(:,196);
BeispielSUP.VarName198 = data(:,197);
BeispielSUP.VarName199 = data(:,198);
BeispielSUP.VarName200 = data(:,199);
BeispielSUP.VarName201 = data(:,200);
BeispielSUP.VarName202 = data(:,201);
BeispielSUP.VarName203 = data(:,202);
BeispielSUP.VarName204 = data(:,203);
BeispielSUP.VarName205 = data(:,204);
BeispielSUP.VarName206 = data(:,205);
BeispielSUP.VarName207 = data(:,206);
BeispielSUP.VarName208 = data(:,207);
BeispielSUP.VarName209 = data(:,208);
BeispielSUP.VarName210 = data(:,209);
BeispielSUP.VarName211 = data(:,210);
BeispielSUP.VarName212 = data(:,211);
BeispielSUP.VarName213 = data(:,212);
BeispielSUP.VarName214 = data(:,213);
BeispielSUP.VarName215 = data(:,214);
BeispielSUP.VarName216 = data(:,215);
BeispielSUP.VarName217 = data(:,216);
BeispielSUP.VarName218 = data(:,217);
BeispielSUP.VarName219 = data(:,218);
BeispielSUP.VarName220 = data(:,219);
BeispielSUP.VarName221 = data(:,220);
BeispielSUP.VarName222 = data(:,221);
BeispielSUP.VarName223 = data(:,222);
BeispielSUP.VarName224 = data(:,223);
BeispielSUP.VarName225 = data(:,224);
BeispielSUP.VarName226 = data(:,225);
BeispielSUP.VarName227 = data(:,226);
BeispielSUP.VarName228 = data(:,227);
BeispielSUP.VarName229 = data(:,228);
BeispielSUP.VarName230 = data(:,229);
BeispielSUP.VarName231 = data(:,230);
BeispielSUP.VarName232 = data(:,231);
BeispielSUP.VarName233 = data(:,232);
BeispielSUP.VarName234 = data(:,233);
BeispielSUP.VarName235 = data(:,234);
BeispielSUP.VarName236 = data(:,235);
BeispielSUP.VarName237 = data(:,236);
BeispielSUP.VarName238 = data(:,237);
BeispielSUP.VarName239 = data(:,238);
BeispielSUP.VarName240 = data(:,239);
BeispielSUP.VarName241 = data(:,240);
BeispielSUP.VarName242 = data(:,241);
BeispielSUP.VarName243 = data(:,242);
BeispielSUP.VarName244 = data(:,243);
BeispielSUP.VarName245 = data(:,244);
BeispielSUP.VarName246 = data(:,245);
BeispielSUP.VarName247 = data(:,246);
BeispielSUP.VarName248 = data(:,247);
BeispielSUP.VarName249 = data(:,248);
BeispielSUP.VarName250 = data(:,249);
BeispielSUP.VarName251 = data(:,250);
BeispielSUP.VarName252 = data(:,251);
BeispielSUP.VarName253 = data(:,252);
BeispielSUP.VarName254 = data(:,253);
BeispielSUP.VarName255 = data(:,254);
BeispielSUP.VarName256 = data(:,255);
BeispielSUP.VarName257 = data(:,256);
BeispielSUP.VarName258 = data(:,257);
BeispielSUP.VarName259 = data(:,258);
BeispielSUP.VarName260 = data(:,259);
BeispielSUP.VarName261 = data(:,260);
BeispielSUP.VarName262 = data(:,261);
BeispielSUP.VarName263 = data(:,262);
BeispielSUP.VarName264 = data(:,263);
BeispielSUP.VarName265 = data(:,264);
BeispielSUP.VarName266 = data(:,265);
BeispielSUP.VarName267 = data(:,266);
BeispielSUP.VarName268 = data(:,267);
BeispielSUP.VarName269 = data(:,268);
BeispielSUP.VarName270 = data(:,269);
BeispielSUP.VarName271 = data(:,270);
BeispielSUP.VarName272 = data(:,271);
BeispielSUP.VarName273 = data(:,272);
BeispielSUP.VarName274 = data(:,273);
BeispielSUP.VarName275 = data(:,274);
BeispielSUP.VarName276 = data(:,275);
BeispielSUP.VarName277 = data(:,276);
BeispielSUP.VarName278 = data(:,277);
BeispielSUP.VarName279 = data(:,278);
BeispielSUP.VarName280 = data(:,279);
BeispielSUP.VarName281 = data(:,280);
BeispielSUP.VarName282 = data(:,281);
BeispielSUP.VarName283 = data(:,282);
BeispielSUP.VarName284 = data(:,283);
BeispielSUP.VarName285 = data(:,284);
BeispielSUP.VarName286 = data(:,285);
BeispielSUP.VarName287 = data(:,286);
BeispielSUP.VarName288 = data(:,287);
BeispielSUP.VarName289 = data(:,288);
BeispielSUP.VarName290 = data(:,289);
BeispielSUP.VarName291 = data(:,290);
BeispielSUP.VarName292 = data(:,291);
BeispielSUP.VarName293 = data(:,292);
BeispielSUP.VarName294 = data(:,293);
BeispielSUP.VarName295 = data(:,294);
BeispielSUP.VarName296 = data(:,295);
BeispielSUP.VarName297 = data(:,296);
BeispielSUP.VarName298 = data(:,297);
BeispielSUP.VarName299 = data(:,298);
BeispielSUP.VarName300 = data(:,299);
BeispielSUP.VarName301 = data(:,300);
BeispielSUP.VarName302 = data(:,301);
BeispielSUP.VarName303 = data(:,302);
BeispielSUP.VarName304 = data(:,303);
BeispielSUP.VarName305 = data(:,304);
BeispielSUP.VarName306 = data(:,305);
BeispielSUP.VarName307 = data(:,306);
BeispielSUP.VarName308 = data(:,307);
BeispielSUP.VarName309 = data(:,308);
BeispielSUP.VarName310 = data(:,309);

%% Clear temporary variables
clearvars data raw cellVectors R I;


So, das ist der Code zum Einlesen der ExcelTabelle als Tabelle - ergibt das aber Sinn? Wie kann ich jetzt nach einzelnen Zeilen, beispielsweise der Rendite zwischen dem 1.07.2008 und dem 31.12.1998 - "Kurs VarnameYY- Kurs Varname XY/Kurs Varname XY")
Gibt es eine Möglichkeit, die Daten als Variablennamen zu nehmen, sodass ich damit arbeiten kann?
Ich stehe schon sehr auf dem Schlauch gerade. Ergäbe es mehr Sinn nur die Kursdaten als Matrix zu importieren, oder kriege ich die nie wieder mit den Namen verknüpft?:-/

Viele Grüße und Danke!

Zuletzt bearbeitet von HCD am 24.06.2016, 14:50, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.06.2016, 13:12     Titel:
  Antworten mit Zitat      
Hallo,

ohne eine Beispieldatei kann ich dir deine Fragen nicht beantworten.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 14:50     Titel:
  Antworten mit Zitat      
Hallo Harald,

entschuldige, hatte vergessen auf "Anhängen" zu klicken, nur auswählen reicht ja anscheinend nicht

[EDITED, Jan, Bitte kein Top-Quoting - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.06.2016, 19:15     Titel:
  Antworten mit Zitat      
xlsx sind anscheinend verboten.
evtl klappt das hier http://workupload.com/file/pLwLjMv

[EDITED, Jan, Bitte kein Top-Quoting - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.06.2016, 16:55     Titel:
  Antworten mit Zitat      
Hallo,

es ist recht unglücklich, dass die Daten so organisiert sind, dass die Daten für ein Datum in den Spalten sind.

Leichter ist es, wenn die Spalten Daten zu einer Aktie beinhalten.

Vorschlag:
Code:
[stockData, txt] = xlsread('BeispielSUP.xlsx');
stockData = stockData';
stocks = txt(2:end,1);
dates = datetime(txt(1, 2:end), 'Locale', 'system');

returns = diff(log(stockData));
datesRet = dates(2:end);
select = isbetween(datesRet, datetime(1998, 12, 31), datetime(2008, 7, 1));

returnsSelect = returns(select,:);
datesSelect = datesRet(select);


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
HCD
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 14
Anmeldedatum: 06.06.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.06.2016, 16:08     Titel:
  Antworten mit Zitat      
Danke schonmal, werde es bald ausprobieren.
habe die Daten auch nochmal transponiert da, dann würde er mir mit dem Import-Editor die Aktien als einzelne Vektoren einlesen - ist ein Sortieren da dann auch möglich? Allerdings ist dann nur ganz Links die Datumsleiste - kann ich ihm dann klar machen, dass er zu jeder Aktie Kurs und Datum nimmt und dann damit arbeiten oder muss ich das vorher verbinden, um dann lauter so Datum/Kurs-Pärchen zu haben (falls ja, wie?)? Wäre eine Tabelle dann immer noch das sinnvollste zum Sortieren? Beispielsweise in Form von "Sortiere nach Rendite zwischen dem 1.10.1998 und dem 1.1.1999"?

[EDITED, Jan, Bitte kein Top-Quoting - Danke]
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.06.2016, 20:12     Titel:
  Antworten mit Zitat      
Hallo,

Sortieren sollte grundsätzlich mit sortrows oder sort möglich sein.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 29.06.2016, 14:26     Titel:
  Antworten mit Zitat      
Hallo HCD,

Bitte setze nicht die vollständige direkt vorgehende Nachricht als Zitat ein. Das halbiert nur die Informationsdichte. Danke!

Ich habe aus der riesigen Code-Zeile, die das Layout sprengte, mal in "2:310" umgeschrieben. Das ist doch deutlich übersichtlicher.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.