Bibliothèque Python QuantStats qui effectue le profilage de portefeuille, permettant aux quants et aux gestionnaires de portefeuille de mieux comprendre leurs performances en leur fournissant des analyses approfondies et des mesures de risque.
Journal des modifications »
quantstats.stats
- pour calculer diverses mesures de performances, comme le ratio de Sharpe, le taux de victoire, la volatilité, etc.quantstats.plots
- pour visualiser les performances, les prélèvements, les statistiques glissantes, les rendements mensuels, etc.quantstats.reports
- pour générer des rapports de métriques, des tracés par lots et créer des feuilles détachables pouvant être enregistrées sous forme de fichier HTML.Voici un exemple de feuille de déchirement simple analysant une stratégie :
% 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 ()
Sortir:
0.8135304438803402
qs . plots . snapshot ( stock , title = 'Facebook Performance' , show = True )
# can also be called via:
# stock.plot_snapshot(title='Facebook Performance', show=True)
Sortir:
Vous pouvez créer 7 feuilles de rapport différentes :
qs.reports.metrics(mode='basic|full", ...)
- affiche les métriques de base/complètesqs.reports.plots(mode='basic|full", ...)
- affiche les tracés de base/completsqs.reports.basic(...)
- affiche les métriques et les tracés de baseqs.reports.full(...)
- affiche les métriques et les tracés completsqs.reports.html(...)
- génère un rapport complet au format HTMLCréons une feuille de test HTML
( benchmark can be a pandas Series or ticker )
qs . reports . html ( stock , "SPY" )
La sortie générera quelque chose comme ceci :
(voir le fichier HTML original)
[ f for f in dir ( qs . stats ) if f [ 0 ] != '_' ]
['moyenne_perte',
'avg_return',
'moyenne_win',
'meilleur',
'cagr',
'calmar',
'ratio_de_sens_commun',
'comp',
'comparer',
'compsum',
'valeur_conditionnelle_au_risque',
'pertes_consécutives',
'victoires_consécutives',
'cpc_index',
'cvar',
'drawdown_details',
'retour_attendu',
'expected_shortfall',
'exposition',
'gain_to_pain_ratio',
'moyenne_géométrique',
'ghpr',
'grecs',
'volatilité_implicite',
'rapport_informations',
'kelly_critère',
'aplatissement',
'max_drawdown',
'rendements_mensuels',
'outlier_loss_ratio',
'outlier_win_ratio',
« valeurs aberrantes »,
'ratio de paiement',
'facteur_profit',
'rapport_profit',
'r2',
'r_squared',
'rar',
'facteur_de récupération',
'remove_outliers',
'risque_de_ruine',
'rapport_risque_rendement',
'rolling_greks',
'ror',
'pointu',
'fausser',
'sortino',
'adjusted_sortino',
'rapport_queue',
'to_drawdown_series',
'ulcère_index',
'ulcer_performance_index',
'upi',
'utilitaires',
'value_at_risk',
'var',
'volatilité',
'rapport_win_loss_ratio',
'win_rate',
'pire']
[ f for f in dir ( qs . plots ) if f [ 0 ] != '_' ]
['daily_returns',
'distribution',
'retrait',
'drawdowns_periods',
'gains',
'histogramme',
'log_returns',
'monthly_heatmap',
'retours',
'rolling_bêta',
'rolling_sharpe',
'rolling_sortino',
'rolling_volatilité',
'instantané',
'annuel_returns']
*** Documentation complète à venir ***
En attendant, vous pouvez obtenir des informations sur les paramètres facultatifs pour chaque méthode, en utilisant la méthode help
de Python :
help ( qs . stats . conditional_value_at_risk )
Aide sur la fonction conditional_value_at_risk dans le module quantstats.stats :
conditional_value_at_risk (retours, sigma=1, confiance=0,99)
calcule la valeur à risque quotidienne conditionnelle (c'est-à-dire le déficit attendu)
quantifie le montant du risque extrême d'un investissement
Installer en utilisant pip
:
$ pip install quantstats --upgrade --no-cache-dir
Installer en utilisant conda
:
$ conda install -c ranaroussi quantstats
plots.to_plotly()
) Il s'agit d'une nouvelle bibliothèque... Si vous trouvez un bug, veuillez ouvrir un ticket dans ce référentiel.
Si vous souhaitez contribuer, les problèmes marqués d'aide recherchée sont un bon endroit où chercher.
Pour une raison quelconque, je n'ai pas trouvé de moyen de dire à seaborn de ne pas renvoyer la carte thermique des retours mensuels lorsqu'il lui est demandé de sauvegarder - donc même si vous enregistrez le tracé (en passant savefig={...}
), il affichera toujours le tracé .
QuantStats est distribué sous la licence logicielle Apache . Consultez le fichier LICENSE.txt dans la version pour plus de détails.
Veuillez m'envoyer une note avec vos commentaires.
Ran Aroussi