Monte Carlo Simulation SAS/IML

Hallo,
vielleicht kann mir jemand helfen. Ich benutze SAS das erste Mal und soll eine Monte Carlo Simulation durchführen. Das soll recht einfach gehalten sein, z.B. 5 Wertpapiere mit nem Wert von je 10000, bei jedem ein möglicher Verlust von 1000.
Für die normalverteilten Zufallszahlen benutzt man RANNOR(0)?
Im Anschluss möchte ich das Ergebnis in graphisch darstellen, sowie Value at risk und Expected Shortfall berechnen.
Dann geht das ganze noch weiter, aber ich möchte erstmal diesen ersten Schritt verstehen.
Ich habe schon Probleme aus den ganzen Hilfe-Dateien alles zusammenzufügen, damit SAS irgendetwas auswirft. Gibt es zu meinem Problem Beispiele, wo der Programmierschritt erklärt ist?
Schon mal im Voraus vielen Dank für die Hilfe.
Nicci

Zufallszahlen erzeugen, auch ohne IML

Ich gehe mal davon aus, dass Sie die statistischen Modelle, die Sie anwenden wollen, selbst kennen. Wenn Sie es mit R machen wollen, wie Herr Muschik vorschlägt, ist hier nicht der richtige Ort. In SAS stehen Ihnen aber alle Bausteine zur Verfügung, die Sie für solche Berechnungen benötigen, das muss nicht unbedingt IML sein. Je genauer Sie Ihr Fragestellung erklären, desto bessere Lösungen erhalten Sie hier auf Redscope.

Um einfach anzufangen: mit der RANNOR-Funktion können Sie sich Zufallszahlen erzeugen. Wie das geht, ist im Beitrag Zufallszahlen im DATA-Schritt beschrieben. Danach können Sie Berechnungen durchführen. Die hängen natürlich von den Algorithmen ab, die Sie berechnen wollen. Quantile lassen sich mit PROC UNIVARIATE berechnen. Diese Prozedur erstellt auch Grafiken. Weiter kann man dafür auf PROC GPLOT zurückgreifen. Gehen Sie Schritt für Schritt vor und erzeugen Sie zunächst Ihre Daten. Sie können gerne wieder hier posten.

Das Problem ist, dass ich

Das Problem ist, dass ich mich mit programmieren gar nicht auskenne und deshalb SAS für mich total abstrakt ist. Mit wurde gesagt, dass ich IML benutzen sollte, vielleicht weil das alles beinhaltet, was ich brauche.
Den ersten Schritt, den ich machen muss ist eine Monte Carlo Simulation mit ausgedachten Daten. Also denke ich mir 5 Wertpapiere (à 10000), die je eine Verlustwahrscheinlichkeit von 0,1 haben. Somit einen Erwartungswert von 9000 haben. Jetzt kommt die Simulation mit z.B. 10000 Durchläufen, bei der Werte zwische 0 und 1 generiert werden, die in einer Verlustverteilung dargestellt werden. Danach soll mit dem Stichprobenumfang der 10000 Durchläufe der Value at risk und der Conditional value at risk (CVaR) berechnet werden. Mit Excel geht das auch, aber wir sollten das mit SAS machen.
Im Anschluss folgt dann die Optimierung, also Minimierung des CVaR. Da kommen verschiedene Formeln vor, bei denen ich z.B. nicht weiß, wie man
"min F(z,alpha) = alpha + v * Summe(z)" (grob wiedergegeben)
in SAS eingibt. Ich kenne keine Befehle in SAS.
Nur zuerst möchte ich diese Monte Carlo Simulation mit Berechnung von VaR und CVaR schaffen, um dann weiterzukommen.

Ich weiß auch gar nicht, was R ist..

lernen Sie zuerst SAShier

lernen Sie zuerst SAS
hier gibt es Einführungen
http://www.urz.uni-heidelberg.de/statistik/sas-ah/

für MonteCarlo Simulationen bei diesem Thema würde ich IML nutzen
da DataStep im Wechsel mit Proc Step nach meinen Erfahrungen sehr lange dauern kann

falls Sie den VaR mit extreme Value Theorie berechnen wird es mit SAS schwieriger, da Sie dann die Extremwertverteilung erst selbt programmieren müssen

Hallo Nicci,welches

Hallo Nicci,
welches Verfahren wollen Sie denn zur Bestimmung des Value at Risk nutzen?
Falls Sie Verfahren der extreme Value Theorie nutzen wollen sollten Sie R benutzen, da es dort eine Bibliothek mit den benötigten Funktionen gibt.
Falls Sie zusätzlich mit GARCH-Modellen arbeiten benötigen Sie zusätzlich SAS-STAT oder eine kostenfreie R-Bibliothek.
Auch bei einer Berechnung des VaR über ein einfaches Quantil ist die Programmierung mit Hilfe von R einfacher, da sie die benötigten Funktionen wie z.B. quantil(...) sofort zur Verfügung haben.

Schon eine Quantilsfunktion habe ich in IML nicht gefunden und deshalb wie folgt erstellt:

proc iml;
start quantile(quant,b) ;
a=quant*nrow(b);
x=b ;
x[rank(x)]=b ;
quantil=(a-floor(a))*x[a+1]+(floor(a)+1-a)*x[a];
return(quantil);
finish quantile;

und die spätere Anwendung der Funktion...
x[nrow(x),10]=x[nrow(x),3]+x[nrow(x),8]*quantile(0.01,x[,9]);

Falls Sie mit dem Normalmodell arbeiten gibt es eine einfache Formel zur Schätzung des Expected Shortfall für die Sie die Dichte und die
Verteilungsfunktion der Normalverteilung benötigen -diese Funktionen sind in SAS vorhanden.
Wenn Sie wollen kann ich Ihnen entsprechende R-Programme zur Verfügung stellen -allerdings nicht heute!
frdl. Grüße
B. Muschik