import pandas as pd
import numpy as np
bd
lista_r = [np.nan]
for i in bd.index:
if i == 0:
precio_anterior = bd.loc[i,'Precio de cierre']
else:
precio_actual = bd.loc[i,'Precio de cierre']
rendimiento = (precio_actual-precio_anterior)/precio_anterior
lista_r.append(rendimiento)
precio_anterior = precio_actual
bd['R_discreto_ISA'] = lista_r
bd
lista_r = [np.nan]
for i in bd.index:
if i == 0:
precio_anterior = bd.loc[i,'Precio de cierre']
else:
precio_actual = bd.loc[i,'Precio de cierre']
rendimiento = np.log(precio_actual/precio_anterior)
lista_r.append(rendimiento)
precio_anterior = precio_actual
bd['R_continuo_ISA'] = lista_r
bd
dias_negociacion = len(bd['Precio de cierre'])
dias_negociacion
Rentabilidad_promedio = bd['R_continuo_ISA'].mean()
Rentabilidad_promedio
Rentabilidad_anualizada = (1+Rentabilidad_promedio)**dias_negociacion -1
Rentabilidad_anualizada
desviacion_muestral = bd['R_continuo_ISA'].std()
desviacion_muestral
desviacion_p = bd['R_continuo_ISA'].std(ddof=0)
desviacion_p
kurtosis = bd['R_continuo_ISA'].kurtosis()
kurtosis
coef_asim = bd['R_continuo_ISA'].skew()
coef_asim
bd['R_continuo_ISA'].hist(bins=int(dias_negociacion/2));
rendimiento_anual = Rentabilidad_promedio*dias_negociacion
rendimiento_anual
riesgo_anual = desviacion_muestral*np.sqrt(dias_negociacion)
riesgo_anual
rend_activos1 = [0.02,0.12,-0.05]
rend_activos2 = [-0.07,-0.1,0.25]
datos_cov = (pd.DataFrame([rend_activos1,rend_activos2]).T)
datos_cov.columns = ['Rendimientos activo 1','Rendimientos activo 2']
datos_cov
datos_cov.cov() #Muestral
datos_cov.cov(ddof=0) #Poblacional
datos_cov.corr()
import session_info
session_info.show()