Publicado el :
Finanzas EXTERNE

Macro Martin_Ratio

Este código también está disponible en: Deutsch English Français
En espera de validación
Esta macro calcula el ratio de Martin dividiendo el exceso de rendimiento anualizado por el Índice de Úlcera. Orquesta la llamada a varias macros utilitarias (%return_excess, %return_annualized, %Ulcer_Index) y combina los resultados a través de un paso DATA utilizando la función LAG para realizar la división entre los resultados apilados.
Análisis de datos

Type : EXTERNE


Los datos de entrada se proporcionan a través del parámetro de macro 'returns'.

1 Bloque de código
MACRO
Explicación :
Definición de la macro que acepta los parámetros de datos (rendimientos), tasa libre de riesgo (Rf), escala de tiempo y método de cálculo.
¡Copiado!
1%macro Martin_Ratio(returns, Rf= 0, scale= 1, method= DISCRETE, dateColumn= DATE, outData= MartinRatio);
2... %mend;
3 
2 Bloque de código
MACRO CALL
Explicación :
Llamadas a las macros subyacentes para calcular los rendimientos excedentes, anualizarlos y calcular el Índice de Úlcera.
¡Copiado!
1%return_excess(...);
2%return_annualized(...);
3%Ulcer_Index(...);
4 
3 Bloque de código
DATA STEP Data
Explicación :
Apila los resultados anualizados y el Índice de Úlcera. Utiliza la función LAG para dividir el valor de la primera tabla (rendimiento) por el de la segunda (riesgo) para obtener el ratio.
¡Copiado!
1DATA &outData (drop= &i);
2 SET &annualized &ulcer_index;
3 array Ulcer[*] &vars;
4 DO &i= 1 to dim(Ulcer);
5 Ulcer[&i]= lag(Ulcer[&i])/Ulcer[&i];
6 END;
7RUN;
4 Bloque de código
DATA STEP Data
Explicación :
Finalización de la tabla de salida: adición de la etiqueta '_STAT_' y conservación únicamente de la última observación que contiene el ratio calculado.
¡Copiado!
1DATA &outData;
2 FORMAT _stat_ $32.;
3 SET &outData END= last;
4 _STAT_= 'Martin Ratio';
5 IF last;
6RUN;
5 Bloque de código
PROC DATASETS
Explicación :
Eliminación de las tablas de trabajo temporales.
¡Copiado!
1PROC DATASETS lib=work nolist;
2 delete &ulcer_index &annualized;
3RUN;
4QUIT;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Copyright (c) 2015 by The Financial Risk Group, Cary, NC, USA.