FFN

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:
Las métricas que salen con .display() (Son casi todas en porcentajes)

Start (Fecha desde)
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




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