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

Werte zaehlen und in Matrix ausgeben

 

tr206
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 19.03.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.03.2017, 12:05     Titel: Werte zaehlen und in Matrix ausgeben
  Antworten mit Zitat      
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?

Code:
clear
clc

% 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?
       
       
        PGains(j,1:size(SortGain,1)) = SummePGains(j,1:size(SortGain,1))./size(SortGain,1)
   
end


SP500_test4MLA.xls
 Beschreibung:

Download
 Dateiname:  SP500_test4MLA.xls
 Dateigröße:  583.5 KB
 Heruntergeladen:  201 mal
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



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.