Documentos de Académico
Documentos de Profesional
Documentos de Cultura
12
RESUMEN EJECUTIVO
En el presente trabajo, dada la problemtica dejada en clase, se trata de maximizar el valor de la funcin objetivo mediante iteraciones. La funcin objetivo, en este caso, el rendimiento del portafolio. El rendimiento del portafolio se maximiza mediante el ratio de Sharpe. As, se entiende que el portafolio ptimo ser aquel que maximice el ratio de Sharpe. Para lograr esta maximizacin, se recurren a las herramientas de programacin relacionadas a Eviews aprendidas en clase. La principal limitacin encontrada es la falta de conocimientos previos de conceptos de optimizacin financiera, que retrasaron la resolucin de la problemtica y fomentaron cuestionamientos acerca de las respuestas adquiridas. En los siguientes apartados, se indican las razones de cada uno de los comandos usados y se relata el proceso de programacin.
PREGUNTA 1
En la pregunta 1, se busca maximizar el ratio de Sharpe asumiendo que el rendimiento libre de riesgo es cero, los pesos de los activos no pueden ser negativos y solo pueden aumentar o disminuir en 10%. Tomando esto en consideracin, se crean 5 escalares que representan los pesos de los activos en el portafolio (!a,!b,!c,!d,!e).
!a=0 !b=0 !c=0 !d=0 !e=0 Scalar rendimiento Scalar riesgo Scalar optimo
Se genera un bucle cerrado para cada una de las empresas con el objetivo de extraer un rendimiento por empresa.
For %empresa apple buenaventura citigroup mobil walmart Series r_{%empresa} For !i=2 to 1022 R_{%empresa}(!i)=({%empresa}(!i)-{%empresa}(!i-1))/{%empresa}(!i-1) next next
Se crean los vectores que contendrn los pesos ptimos de los activos.
Vector (5) valores
Como un parntesis en el ejercicio, se programa una subrutina para hallar el valor que maximiza el ratio Sharpe a partir de iteraciones de los rendimientos. Es decir, se crea una serie llamada nueva, que contiene a los rendimientos del portafolio segn peso de activos. Asimismo, el escalar !eval, que es producto de la media y desviacin de la serie, se genera para maximizar el ratio ptimo a partir del valor que tome per se (de los pesos de los activos). En la lnea de la teora, se plantea que la media de la serie sern los rendimientos; mientras que el denominador ser el riesgo.
Subroutine ratio_sharpe_optimo () !ratio_optimo=0 For !a=0 to 1 step 0.1 For !b=0 to 1 step 0.1 For !c=0 to 1 step 0.1 For !d=0 to 1 step 0.1 For !e=0 to 1 step 0.1 If !a + !b +!c + !d + !e =1 then series nueva = !a*R_apple + !b*R_buenaventura +!c*R_citigroup + !d*R_mobil + !e*R_walmart !numerador=@mean(nueva) !denominador=@stdev(nueva) !eval=!numerador/!denominador If !eval>!ratio_optimo then !ratio_optimo=!eval
valores(1)=!a valores(2)=!b valores(3)=!c valores(4)=!d valores(5)=!e rendimiento=!numerador riesgo=!denominador optimo=!ratio_optimo Endif Endif Next Next Next Next Next Endsub
Se ejecuta la subrutina.
Call ratio_sharpe_optimo
Finalmente, una tabla es generada para que contenga los rendimientos, pesos(en porcentajes optimos de inversion de cada actives), riesgo y el ratio de Sharpe esperado.
!a=0
Table(18,2) Ratio_sharpe_optimo !i=0 For %titulos Porcentaje_Apple Porcentaje_Buenaventura Porcentaje_Citigroup Porcentaje_Mobil Porcentaje_Walmart Rendimiento_Apple Rendimiento_Buenaventura Rendimiento_Citigroup Rendimiento_Mobil Rendimiento_Walmart Riesgo_Apple Riesgo_Buenaventura Riesgo_Citigroup Riesgo_Mobil Riesgo_Walmart Rendimiento_Portafolio Riesgo_Portafolio Ratio_Sharpe_Optimo !i=!i+1 Ratio_sharpe_optimo(!i,1)=%titulos Next
For !n=1 to 5 Ratio_sharpe_optimo (!n,2)=valores(!n) next Ratio_sharpe_optimo(6,2)=!a*@mean(r_apple) Ratio_sharpe_optimo(7,2)=!b*@mean(r_buenaventura) Ratio_sharpe_optimo (8,2)=!c*@mean(r_citigroup) Ratio_sharpe_optimo (9,2)=!d*@mean(r_mobil) Ratio_sharpe_optimo (10,2)=!e*@mean(r_walmart) Ratio_sharpe_optimo (11,2)=!a*@stdev(r_apple) Ratio_sharpe_optimo (12,2)=!b*@stdev(r_buenaventura) Ratio_sharpe_optimo (13,2)=!c*@stdev(r_citigroup) Ratio_sharpe_optimo (14,2)=!d*@stdev(r_mobil) Ratio_sharpe_optimo (15,2)=!e*@stdev(r_walmart) Ratio_sharpe_optimo (16,2)= rendimiento Ratio_sharpe_optimo (17,2)=riesgo Ratio_sharpe_optimo (18,2)=optimo
PREGUNTA 2
En la pregunta 2, se busca maximizar tambin el rendimiento del portafolio mediante el ratio de Sharpe; pero, esta vez, teniendo en cuenta la informacin resultante del ao presente para los aos futuros. Es decir, se pide maximizar el ratio de Sharpe considerando la informacin previa. Para esto, se siguen los mismo pasos establecidos en la Pregunta 1. Se crean las variables en representacin de los pesos de los activos en el portafolio.
!a=0 !b=0 !c=0 !d=0 !e=0 Scalar rendimiento Scalar riesgo Scalar optimo
La diferencia con la Pregunta 1, se detalla a continuacin. Se crea la tabla que agrupa el peso de los activos, el rendimiento, el riesgo y el ratio de Sharpe esperado.
Table(4,12) Optimos
Dado que se debe considerar la informacin de los aos previos para la maximizacin de los ratios de Sharpe, se genera un bucle cerrado que genera los aos y los guarda en la tabla.
For !x=1 to 3 Optimos(!x+1,1)=2008+!x next
Y el comando @otod, sirve para transformar el nmero de observaciones y guardarlas como texto en a. De esta forma, se busca acumular los datos de periodos anteriores.
!n=1 !acum=262 %a=@otod(!acum) For %data 261 261 238 !n=!n+1
El comando smpl se usa para delimitar la muestra y obtener el perodo efectivo ao a ao. Se llama a la subrutina que maximiza por iteraciones el ratio de Sharpe y se imprimern los resultados hallados en la Tabla Optimos creada.
Smpl 1 %a Call ratio_sharpe_optimo Optimos(!n,2)=valores(1) Optimos(!n,3)=valores(2) Optimos(!n,4)=valores(3) Optimos(!n,5)=valores(4) Optimos(!n,6)=valores(5) Optimos(!n,7)=rendimiento Optimos(!n,8)=riesgo Optimos(!n,9)=optimo
!acum=!acum+@val(%data) %a=@otod(!acum)
Smpl 1 %a
Se genera la serie efectivo que halla el rendimiento efectivo (contando la informacin previa) del portafolio y maximiza el ratio de Sharpe para cada activo.
Series efectivo=valores(1)*R_apple+valores(2)*R_buenaventura+valores(3)*R_citigroup+valores(4)*R_ mobil+valores(5)*R_walmart Optimos(!n,10)=@mean(efectivo) Optimos(!n,11)=@stdev(efectivo) Optimos(!n,12)=@mean(efectivo)/@stdev(efectivo)
next