jueves, 3 de mayo de 2018

Estadísticas de la curva de capital

A continuación se muestra el código Python que lee una curva de capital (exportada de Amibroker y almacenada como CSV en la carpeta "Quotes") y genera las estadísticas de media, desviación estándar y ratio Sharpe de la curva de capital.

En la imagen se ve la curva que tiene una volatilidad anualizada del 20.52% y una ganancia media del 19.54%. Eso resulta en un Sharpe de 0.95.

En el código he puesto que pinte el letrero en marzo de 2008 porque la curva de capital empieza en el año 2008. Pero eso refleja mi poca experiencia en Python. Quizás alguien quiera corregirlo y decirme como ajustar el letrero de forma relativa a la esquina superior izquierda :)





----------------------------------------------------------------------------------------

# -*- coding: utf-8 -*-
"""
Created on Sun Mar 26 22:12:03 2017
@author: OSCAR
ESTADISTICAS DEL EQUITY
"""
import pandas as pd 
import matplotlib.pyplot as plt  

#LEEMOS LOS FICHEROS DE LA CARPETA QUOTES 
path = 'C:/Users/OSCAR/Documents/Quotes/'
#ticker = '~~~EQUITY'            
ticker = '~~~EQUITY'     
precios = pd.read_csv(path + ticker + '.csv', 
                    usecols = ['Date','Close'], index_col=["Date"], parse_dates=True) 

#DIFERENCIAS
dif = precios - precios.shift()
dif_porc = dif / 100000   #todo respecto de 100.000
print(dif_porc.describe())

#DESV ANUALIZADA
desv_an = 100 * dif_porc.std() * 16
print("Desv Anualizada = %f " % desv_an)

#MEDIA
media = 100 * dif_porc.mean() * 252
print("Media Anualizada = %f " % media)

#SHARPE
SH = media/desv_an
print("SHARPE = %f " % SH)

#PINTAMOS EL EQUITY
plt.figure() #inicializar el gráfico
plt.plot(precios, color = 'blue', label = ticker)
plt.legend(loc = 'lower right')
plt.xlabel('Fecha')
plt.ylabel('Precio')
plt.text('2008-03-01',precios.iloc[-1]*0.8,
                 'Std = %0.3f' % desv_an['Close'] +' %'
        + '\n' + 'Med = %0.3f'% media['Close'] +' %'
        + '\n' + 'SH = %0.3f' % SH )
----------------------------------------------------------------------------------------

No hay comentarios:

Publicar un comentario

ENTRADAS POPULARES