Veröffentlicht am :
Statistik EXTERNE

Berechnung des Schmerzindexes (Pain Index)

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Makro berechnet den Schmerzindex, definiert als der Durchschnitt der 'Drawdowns' (kumulierte Verluste) über den Analysezeitraum. Es unterscheidet sich vom Ulcer Index, da die Drawdowns nicht quadriert werden, und vom durchschnittlichen Drawdown, da der Nenner die Gesamtzahl der Beobachtungen ist. Es hängt von den externen Makros %get_number_column_names, %ranname und %drawdowns ab.
Datenanalyse

Type : EXTERNE


Die Daten werden über den Makroparameter 'returns' bereitgestellt. Die Verarbeitung hängt auch von externen Hilfsmakros ab.

1 Codeblock
MACRO DEFINITION
Erklärung :
Definition des Makros, Deklaration lokaler Variablen und Initialisierung temporärer Tabellennamen über %ranname. Abruf numerischer Spalten über %get_number_column_names.
Kopiert!
1%macro pain_index(returns,
2 method= DISCRETE,
3 dateColumn= DATE,
4 outData= painindex);
5
6%local vars drawdown stat_mean i;
7 
8%let vars= %get_number_column_names(_table= &returns, _exclude= &dateColumn);
9%put VARS IN Pain_Index: (&vars);
10 
11%let drawdown= %ranname();
12%let stat_mean= %ranname();
13%let i = %ranname();
2 Codeblock
MACRO CALL Data
Erklärung :
Aufruf des externen Makros %drawdowns zur Berechnung der initialen Drawdown-Serien.
Kopiert!
1%drawdowns(&returns, method= &method, dateColumn= &dateColumn, outData= &drawdown)
3 Codeblock
DATA STEP Data
Erklärung :
Datentransformation: Löschen der ersten Beobachtung und Berechnung des Absolutwerts der Drawdowns zur Mittelwertberechnung.
Kopiert!
1DATA &drawdown(drop=&i);
2 SET &drawdown(firstobs=2);
3 array ret[*] &vars;
4 
5 DO &i= 1 to dim(ret);
6 ret[&i]= abs(ret[&i]);
7 END;
8RUN;
4 Codeblock
PROC MEANS Data
Erklärung :
Berechnung des Durchschnitts der Drawdowns (Absolutwerte) zur Ermittlung des Schmerzindexes.
Kopiert!
1 
2PROC MEANS
3DATA= &drawdown mean noprint;
4OUTPUT out= &stat_mean mean=;
5RUN;
6 
5 Codeblock
DATA STEP Data
Erklärung :
Formatierung der endgültigen Ausgabetabelle, Hinzufügen eines '_STAT_'-Labels.
Kopiert!
1DATA &outData (keep=_stat_ &vars);
2FORMAT _STAT_ $32.;
3 SET &stat_mean;
4 _STAT_= 'Pain Index';
5RUN;
6 Codeblock
PROC DATASETS
Erklärung :
Bereinigung der generierten temporären Tabellen und Ende des Makros.
Kopiert!
1PROC DATASETS lib=work nolist;
2 delete &drawdown &stat_mean;
3RUN;
4QUIT;
5 
6%mend;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Copyright (c) 2015 by The Financial Risk Group, Cary, NC, USA.