|
|
|
Renditeberechnung für n Aktien |
|
| tommythegun |

Forum-Newbie
|
 |
Beiträge: 1
|
 |
|
 |
Anmeldedatum: 02.06.17
|
 |
|
 |
Wohnort: leipzig
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.06.2017, 09:37
Titel: Renditeberechnung für n Aktien
|
 |
| |
 |
|
Hallo liebe Bordmitglieder,
ich zerbreche mir nun schon seit ein paar Stunden den Kopf über eine for Schleife und komme einfach nicht auf die korrekte Lösung. Vielleicht kann mir ja jemand von euch weiterhelfen.
Mein Code sieht bisher folgendermaßen aus:
% Clear existing
% Load packages
% Grab data from Google
% format = {Date, open, High, Low, close, Volume}
% Grab the number of stocks for the request
% fetch returns the data in a matrix with in the columns date, open, high, low, close, adjusted close and volume
% Attention: ticker is a cell array so you have to be careful using () vs {}.
% Using () gives you a subset of a cell array, effectively another cell array.
% On the other hand, using {} returns you the actual content of the cell array.
% Google plots the oldest date first -> flip the data
% Convert datenum in a readable format
% Berechnung der Tagesrenditen
% Extrahieren der Kursvektoren je Aktie und abspeichern in einen einzelnen Vektor
% k = 165 Values
% n = 2 stocks
Und genau hier fängt mein Problem an. Ich habe durch
jetzt n Kursvektoren vorliegen mit der Bezeichnung r1, r2,....,rn. Jetzt muss die nächste for Schleife quasi für jeden Kursvektor folgendes ausrechnen:
rendite=x(i)/x(i-1)-1
also sieht das dann folgendermaßen aus:
rendite_r1=r1(i)/r1(i-1)-1
rendite_r2=r2(i)/r2(i-1)-1
usw.
Das ganze möchte ich mittels einer for-Schleife darstellen, aber irgendwie funktionieren meine Ideen nicht. Die Schleife sieht bisher wie folgt aus:
for k = 2: 165
for n = 1: 2
rendite_r{n}=r{n}(k)/r{n}(k-1)-1
end
end
Wie kann ich die Klammerausdrücke in rendite_r{n}=r{n}(k)/r{n}(k-1)-1 korrekt darstellen, sodass die Schleife funktioniert und zusätzlich noch rendite_r1, rendite_r2 usw. einzeln als Vektor abgespeichert werden?
Vielen Dank schon mal im Voraus !
P.s Ich hänge mal meine .m Datei mit an, damit ihr das besser nachvollziehen könnt.
BG
Tom
| Beschreibung: |
|
 Download |
| Dateiname: |
GoogleDataRequestv2.m |
| Dateigröße: |
1.69 KB |
| Heruntergeladen: |
295 mal |
|
|
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.06.2017, 17:48
Titel: Re: Renditeberechnung für n Aktien
|
 |
Hallo tommythegun,
Schlechte Idee. Das löschen aller Funktionen aus dem RAM erfordert ein Nachladen von der Festplatte. Nützlich ist das nicht.
eval
ist immer immer immer eine sehr schlechte Idee. Man macht dadurch den Code langsam und schwer zu warten. Einen Index im Namen einer Variablen zu verstecken ist ein Ansatz, der den Rest des Codes deutlich behindert.
Stattdessen kann man einfach einen Index als Index verwenden. In Deinem Fall ist die Matrix closeprice(:,i) eigentlich bereit optimal. Wozu dient dann die Aufteilung in einzelne Variablen?
| Zitat: |
rendite_r1=r1(i)/r1(i-1)-1
rendite_r2=r2(i)/r2(i-1)-1 |
Das wäre doch ganz einfach, wenn Du die Matrix closeprice dafür verwendest.
Gruß, Jan
|
|
|
|
|
|
|
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.
|
|