Biblioteca QuantStats Python que realiza perfis de portfólio, permitindo que quants e gerentes de portfólio entendam melhor seu desempenho, fornecendo-lhes análises aprofundadas e métricas de risco.
Registro de alterações »
quantstats.stats
- para calcular várias métricas de desempenho, como índice de Sharpe, taxa de ganho, volatilidade, etc.quantstats.plots
- para visualizar desempenho, rebaixamentos, estatísticas contínuas, retornos mensais, etc.quantstats.reports
- para gerar relatórios de métricas, plotagem em lote e criação de folhas rasgadas que podem ser salvas como um arquivo HTML.Aqui está um exemplo de uma folha rasgada simples analisando uma estratégia:
% 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 ()
Saída:
0,8135304438803402
qs . plots . snapshot ( stock , title = 'Facebook Performance' , show = True )
# can also be called via:
# stock.plot_snapshot(title='Facebook Performance', show=True)
Saída:
Você pode criar sete provas de publicação de relatórios diferentes:
qs.reports.metrics(mode='basic|full", ...)
- mostra métricas básicas/completasqs.reports.plots(mode='basic|full", ...)
- mostra gráficos básicos/completosqs.reports.basic(...)
- mostra métricas e gráficos básicosqs.reports.full(...)
- mostra métricas e gráficos completosqs.reports.html(...)
- gera um relatório completo em htmlVamos criar uma prova de publicação em HTML
( benchmark can be a pandas Series or ticker )
qs . reports . html ( stock , "SPY" )
A saída irá gerar algo assim:
(ver arquivo html original)
[ f for f in dir ( qs . stats ) if f [ 0 ] != '_' ]
['média_perda',
'avg_return',
'avg_win',
'melhor',
'cagr',
'calma',
'common_sense_ratio',
'comp',
'comparar',
'compsum',
'valor_condicional_em_risco',
'perdas_consecutivas',
'vitórias_consecutivas',
'índice_cpc',
'cvar',
'drawdown_details',
'retorno_esperado',
'falta_esperada',
'exposição',
'ganho_para_proporção_de_dor',
'média_geométrica',
'ghpr',
'gregos',
'volatilidade_implícita',
'relação_informação',
'critério_kelly',
'curtose',
'max_drawdown',
'retornos_mensais',
'proporção_perda_outlier',
'outlier_win_ratio',
'outliers',
'taxa_de_pagamento',
'fator_lucro',
'proporção_lucro',
'r2',
'r_quadrado',
'rar',
'fator_de recuperação',
'remover_outliers',
'risco_de_ruína',
'risco_retorno_razão',
'rolling_greeks',
'ror',
'afiado',
'inclinado',
'sortino',
'ajustado_sortino',
'proporção_cauda',
'to_drawdown_series',
'índice_úlcera',
'úlcera_desempenho_índice',
'upi',
'utilitários',
'valor_em_risco',
'var',
'volatilidade',
'proporção_de_perda_de_vitória',
'win_rate',
'pior']
[ f for f in dir ( qs . plots ) if f [ 0 ] != '_' ]
['retornos_diários',
'distribuição',
'rebaixamento',
'períodos_de saques',
'ganhos',
'histograma',
'log_returns',
'mapa_calor_mensal',
'retorna',
'rolling_beta',
'rolamento_sharpe',
'rolling_sortino',
'rolling_volatility',
'instantâneo',
'retornos_anuais']
*** Documentação completa em breve ***
Enquanto isso, você pode obter insights sobre parâmetros opcionais para cada método, usando o método help
do Python:
help ( qs . stats . conditional_value_at_risk )
Ajuda sobre a função condicional_value_at_risk no módulo quantstats.stats:
condicional_value_at_risk(retornos, sigma=1, confiança=0,99)
calcula o valor em risco diário condicional (também conhecido como déficit esperado)
quantifica a quantidade de risco de cauda de um investimento
Instale usando pip
:
$ pip install quantstats --upgrade --no-cache-dir
Instale usando conda
:
$ conda install -c ranaroussi quantstats
plots.to_plotly()
) Esta é uma nova biblioteca... Se você encontrar um bug, abra um problema neste repositório.
Se você quiser contribuir, um ótimo lugar para procurar são os problemas marcados com procura-se ajuda.
Por alguma razão, não consegui encontrar uma maneira de dizer ao seaborn para não retornar o mapa de calor dos retornos mensais quando instruído a salvar - então, mesmo se você salvar o gráfico (passando savefig={...}
), ele ainda mostrará o gráfico .
QuantStats é distribuído sob a licença de software Apache . Consulte o arquivo LICENSE.txt na versão para obter detalhes.
Por favor, deixe-me uma nota com qualquer feedback que você tenha.
Ran Aroussi