FFN:
Índice de la página:Descripciones.Métricas.Bajar Datos.
Código
------------------------------------------------------------------------------- Descripciones:El módulo ffn ayuda a llevar a cabo rápidamente el análisis de estrategias comerciales y series / historial de precios de activos financieros. Puede manejar series individuales usando la clase "PerformanceStats" , o múltiples activos simultáneamente usando la clase "GroupStats" .
Hay 2 artículos referentes a FFN:
También hay 2 Notebook referentes a FFN: Dropbox\Python\Artículos\ 07_Análisis estrategia FFN Parte1.ipynb Dropbox\Python\Artículos\ 08_Análisis estrategia FFN Parte2.ipynb
Métricas.
Bajar Datos.Código
Descripciones:
El módulo ffn ayuda a llevar a cabo rápidamente el análisis de estrategias comerciales y series / historial de precios de activos financieros. Puede manejar series individuales usando la clase "PerformanceStats" , o múltiples activos simultáneamente usando la clase "GroupStats" .
Hay 2 artículos referentes a FFN:
También hay 2 Notebook referentes a FFN:
Dropbox\Python\Artículos\ 07_Análisis estrategia FFN Parte1.ipynb
Dropbox\Python\Artículos\ 08_Análisis estrategia FFN Parte2.ipynb
------------------------------------------------------------------
------------------------------------------------------------------
Métricas:Las métricas que salen con .display() (Son casi todas en porcentajes)
Start (Fecha desde)Métricas:
Las métricas que salen con .display() (Son casi todas en porcentajes)
End (Fecha hasta
rf: Risk-free rate (Tasa de Riesgo en %)
Total Return: (Rentabilidad Total en %)
CAGR: en %
Max Drawdown: (Máximo DD en %)
Calmar Ratio: (Ratio de Calmar en valor)
MTD: 'Mes hasta la fecha' (desde el día uno hasta la fecha de hoy) en %
3m: (En 3 meses en %)
6m: (En 6 meses en %)
YTD: en %
1Y: en %
3Y (ann.): en %
5Y (ann.): en %
10Y (ann.): en %
Since Incep. (ann.): en %
Daily Sharpe: (Ratio de Sharpe diario) en valor
Daily Sortino: (Ratio de Sortino diario) en valor
Daily Mean (ann.): (Media diaria) en %
Daily Vol (ann.): (Volatilidad diaria) en %
Daily Skew: (Sesgo diario) en valor
Daily Kurt: (Kurtosis diario) en valor
Best Day: (Mejor día) en %
Worst Day: (Peor día) en %
Monthly Sharpe: (Ratio de Sharpe mensual) en valor
Monthly Sortino: (Ratio de Sortino mensual) en valor
Monthly Mean (ann.): (Media mensual) en %
Monthly Vol (ann.): (Volatilidad mensual) en %
Monthly Skew: (Sesgo mensual) en valor
Monthly Kurt: (Kurtosis mensual) en valor
Best Month: (Mejor Mes) en %
Worst Month: (Peor Mes) en %
Yearly Sharpe: (Ratio de Sharpe anual) en valor
Yearly Sortino: (Ratio de Sortino anual) en valor
Yearly Mean: (Media anual) en %
Yearly Vol: (Volatilidad anual) en %
Yearly Skew: (Sesgo anual) en valor
Yearly Kurt: (Kurtosis anual) en valor
Best Year: (Mejor Año) en %
Worst Year: (Peor Año) en %
Avg. Drawdown: (Media Drawdown) en %
Avg. Drawdown Days: (Media de días que dura el Drawdown) en valor
Avg. Up Month: (Media de subida mensual) en %
Avg. Down Month: (Media de bajada mesual) en %
Win Year %: (Ganadoras anuales en %)
Win 12m %: (Ganadoras en los últimos 12 meses en %)
## LAS MÉTRICAS QUE SALEN CON .stats (Son las mismas que las anteriores, pero nos lo da en valores)
# Si queremos obtener una sola métrica hay que llamarla con el nombre exacto que pone en .stats
-------------------------------------
Bajar Datos:
Tutorial de FFN Web del Tutorial
## Baja todas las columnas de datos que nos da Yahoo
df = ffn.get('aapl:Open,aapl:High,aapl:Low,aapl:Close,aapl:Adj Close,aapl:Volume', start='2010-01-01', end='2019-01-01')
df = ffn.get('aapl:Adj Close', start='2010-01-01', end='2019-01-01') # Baja el cierre ajustado
df = ffn.get('KO,AAPL', start='2010-01-01', end='2019-08-24') # Baja los precios de cierre de Yahoo
-------------------------------------
Código:
Importaciones:
import pandas as pd
import numpy as np
import ffn
%matplotlib inline
retornos = df.to_log_returns().dropna() # Calcula los retornos diarios, multiplicándolo por 100 da el porcentaje.
retornos.calc_mean_var_weights().as_format('.2%') # % de retornos de los tickets en todo el periodo
retornos.hist(figsize=(12, 5)) # Da un gráfico en histograma de los retornos de cada ticker
retornos.corr().as_format('.2f') # Correlaciones entre los tickers
retornos.plot_corr_heatmap() # Vemos un gráfico de calor de las correlaciones
df.rebase().plot(figsize=(18,6)) # Vemos como se comportan los precios de cada ticker en gráfico de líneas
df = df.calc_stats() # Calc_stats nos crea el objeto GroupStats (para extraer muchas estadística de golpe)
df.display() # Nos da muchas Métricas y Ratios de los tickets de df
df['aapl'].stats # Nos da muchas Métricas y Ratios del ticket aapl
df['aapl'].display_monthly_returns() # Da los retornos de aapl por meses y años
-------------------------------------