Biblioteca QuantStats Python que realiza perfiles de cartera, lo que permite a los gestores cuantitativos y de cartera comprender mejor su rendimiento proporcionándoles análisis detallados y métricas de riesgo.
Registro de cambios »
quantstats.stats
: para calcular varias métricas de rendimiento, como el índice de Sharpe, la tasa de ganancias, la volatilidad, etc.quantstats.plots
: para visualizar el rendimiento, reducciones, estadísticas continuas, rentabilidades mensuales, etc.quantstats.reports
: para generar informes de métricas, trazado por lotes y crear hojas de corte que se pueden guardar como un archivo HTML.A continuación se muestra un ejemplo de una hoja rasgable simple que analiza una estrategia:
% matplotlib inline
import quantstats as qs
# extend pandas functionality with metrics, etc.
qs . extend_pandas ()
# fetch the daily returns for a stock
stock = qs . utils . download_returns ( 'META' )
# show sharpe ratio
qs . stats . sharpe ( stock )
# or using extend_pandas() :)
stock . sharpe ()
Producción:
0.8135304438803402
qs . plots . snapshot ( stock , title = 'Facebook Performance' , show = True )
# can also be called via:
# stock.plot_snapshot(title='Facebook Performance', show=True)
Producción:
Puede crear 7 hojas de informes diferentes:
qs.reports.metrics(mode='basic|full", ...)
- muestra métricas básicas/completasqs.reports.plots(mode='basic|full", ...)
- muestra gráficos básicos/completosqs.reports.basic(...)
- muestra métricas y gráficos básicosqs.reports.full(...)
- muestra métricas y gráficos completosqs.reports.html(...)
- genera un informe completo como htmlCreemos una hoja HTML
( benchmark can be a pandas Series or ticker )
qs . reports . html ( stock , "SPY" )
La salida generará algo como esto:
(ver archivo html original)
[ f for f in dir ( qs . stats ) if f [ 0 ] != '_' ]
['avg_loss',
'avg_return',
'avg_win',
'mejor',
'cagr',
'calmar',
'ratio_sentido_común',
'comp',
'comparar',
'compsum',
'valor_condicional_en_riesgo',
'pérdidas_consecutivas',
'victorias_consecutivas',
'índice_cpc',
'cvar',
'drawdown_details',
'retorno_esperado',
'déficit_esperado',
'exposición',
'relación_ganancia_a_dolor',
'media_geométrica',
'ghpr',
'griegos',
'volatilidad_implícita',
'proporción_información',
'kelly_criterio',
'curtosis',
'max_drawdown',
'devoluciones_mensuales',
'outlier_loss_ratio',
'outlier_win_ratio',
'valores atípicos',
'relación_beneficio',
'factor_beneficio',
'relación_beneficio',
'r2',
'r_cuadrado',
'rar',
'factor_recuperación',
'eliminar_valores atípicos',
'riesgo_de_ruina',
'riesgo_retorno_ratio',
'rolling_greeks',
'error',
'nítido',
'sesgar',
'sortino',
'sortino_ajustado',
'relación_cola',
'to_drawdown_series',
'úlcera_índice',
'úlcera_rendimiento_index',
'upí',
'utilidades',
'valor_en_riesgo',
'var',
'volatilidad',
'relación_ganancias_pérdida',
'tasa_ganancia',
'el peor']
[ f for f in dir ( qs . plots ) if f [ 0 ] != '_' ]
['devoluciones_diarias',
'distribución',
'reducción',
'drawdowns_periods',
'ganancias',
'histograma',
'log_returns',
'mapa_calormensual',
'devoluciones',
'rolling_beta',
'rolling_sharpe',
'rolling_sortino',
'volatilidad_rodante',
'instantánea',
'rendimientos_anuales']
*** Documentación completa próximamente ***
Mientras tanto, puedes obtener información sobre los parámetros opcionales para cada método utilizando el método help
de Python:
help ( qs . stats . conditional_value_at_risk )
Ayuda sobre la función conditional_value_at_risk en el módulo quantstats.stats:
valor_condicional_en_riesgo(devoluciones, sigma=1, confianza=0,99)
calcula el valor en riesgo diario condicional (también conocido como déficit esperado)
cuantifica la cantidad de riesgo de cola de una inversión
Instalar usando pip
:
$ pip install quantstats --upgrade --no-cache-dir
Instalar usando conda
:
$ conda install -c ranaroussi quantstats
plots.to_plotly()
) Esta es una biblioteca nueva... Si encuentra un error, abra un problema en este repositorio.
Si desea contribuir, un excelente lugar para buscar son los problemas marcados con Se busca ayuda.
Por alguna razón, no pude encontrar una manera de decirle a Seaborn que no devuelva el mapa de calor de retornos mensuales cuando se le indique que lo guarde, por lo que incluso si guarda el gráfico (pasando savefig={...}
), seguirá mostrándolo. .
QuantStats se distribuye bajo la licencia de software Apache . Consulte el archivo LICENSE.txt en la versión para obtener más detalles.
Por favor envíeme una nota con cualquier comentario que tenga.
Ran Aroussi