Verfasst am: 25.03.2017, 12:05
Titel: Werte zaehlen und in Matrix ausgeben
Hallo zusammen,
anbei mein code. Ich habe ein Problem mit dem letzten Abschnitt "%%%% values as large as or larger than xi i.e. Pi". Ich will die Anzahl der Werte in SortGains haben die >= Wert i in der Matrix SortGains sind. D.h. Matlab soll mir die Anzahl zahlen und dann in einer Matrix ausgeben. Daher muss die Anzahl von links nach rechts in der Matrix SummePGains abnehmen bis auf 1 in der letzten Spalte rechts. Das ist der Fall fur die erste Zeile und diese ist auch korrekt aber die anderen 29 Zeilen sind falsch. Weiss jemand was das Problem ist?
% import data from Excel and calculate n-month returns
x = xlsread('SP500_test4MLA.xls','e33:ah121'); %import (Pt/Pt-1)
% Define the coefficient lambda, alpha, beta and gamma as in Kahneman and % Tversky and discussed in Benartzi and Thaler (1995)
alpha = 0.88;
beta = 0.88;
lambda = 2.25;
gammaloss = 0.69;
gammagain = 0.61;
% 1 simulate gains and losses by drawing and replacing % 1a define gains and losses separately for j=1:size(x,2) for i=1:size(x,1) if x(i,j)>=0
gain(i,j) = x(i,j) else
loss(i,j) = x(i,j) end end end
%% 1b draw 100,000 returns with replacement % gain = datasample(gain,length(x)); % loss = datasample(loss,length(x));
%%% CDF for j=1:size(x,2)
SortGain(:,j) = sort(gain(:,j)) end for j=1:size(x,2)
SortLoss(:,j) = sort(loss(:,j)) end
CountGain=zeros(size(SortGain,1),size(SortGain,1));
CountLoss=zeros(size(SortLoss,1),size(SortLoss,1)); %passt das so?
%%%% values as large as or larger than xi i.e. Pi for j=1:size(SortGain,2) for i=1:size(SortGain,1)
A=SortGain(i,j);
for n=1:size(SortGain,1)% muss das n weg da ich schon j und i habe if gain(n,j)>=A
CountGain(n,i)=1; %bitte Anordnung der 1er erklaren
end end
SummePGains(j,1:size(SortGain,1))=sum(CountGain) end
%macht das einen Unterschied ob SummePGains hier steht?
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.