量化投资组合分析
QuantStats的Python项目详细描述
quantstats:quants的投资组合分析
quantstats执行投资组合分析的python库,通过向quant和投资组合经理提供深入的分析和风险度量,他们可以更好地了解自己的性能。
quantstats由3个主要模块组成:
- quantstats.stats-用于计算各种性能指标,如夏普比率、赢率、波动率等。
- quantstats.plots-用于可视化绩效、支取、滚动统计、月度回报等。
- quantstats.reports-用于生成度量报告、批量打印和创建可保存为HTML文件的催泪表。
下面是一个分析策略的简单示例:
快速启动
%matplotlibinlineimportquantstatsasqs# extend pandas functionality with metrics, etc.qs.extend_pandas()# fetch the daily returns for a stockstock=qs.utils.download_returns('FB')# show sharpe ratioqs.stats.sharpe(stock)# or using extend_pandas() :)stock.sharpe()
输出:
0.8135304438803402
可视化股票表现
qs.plots.snapshot(stock,title='Facebook Performance')# can also be called via:# stock.plot_snapshot(title='Facebook Performance')
输出:
创建报告
您可以创建7个不同的报告茶几:
- qs.reports.metrics(mode='basic|full",...)-显示基本/完整指标
- qs.reports.plots(mode='basic|full",...)-显示基本/完整绘图
- qs.reports.basic(...)-显示基本度量和绘图
- qs.reports.full(...)-显示完整的度量和绘图
- qs.reports.html(...)-以html格式生成完整的报告
让我们创建一个html茶几
(benchmarkcanbeapandasSeriesorticker)qs.reports.html(stock,"SPY")
输出将生成如下内容:
要查看可用方法的完整列表,请运行
[fforfindir(qs.stats)iff[0]!='_']
['avg_loss', 'avg_return', 'avg_win', 'best', 'cagr', 'calmar', 'common_sense_ratio', 'comp', 'compare', 'compsum', 'conditional_value_at_risk', 'consecutive_losses', 'consecutive_wins', 'cpc_index', 'cvar', 'drawdown_details', 'expected_return', 'expected_shortfall', 'exposure', 'gain_to_pain_ratio', 'geometric_mean', 'ghpr', 'greeks', 'implied_volatility', 'information_ratio', 'kelly_criterion', 'kurtosis', 'max_drawdown', 'monthly_returns', 'outlier_loss_ratio', 'outlier_win_ratio', 'outliers', 'payoff_ratio', 'profit_factor', 'profit_ratio', 'r2', 'r_squared', 'rar', 'recovery_factor', 'remove_outliers', 'risk_of_ruin', 'risk_return_ratio', 'rolling_greeks', 'ror', 'sharpe', 'skew', 'sortino', 'tail_ratio', 'to_drawdown_series', 'ulcer_index', 'ulcer_performance_index', 'upi', 'utils', 'value_at_risk', 'var', 'volatility', 'win_loss_ratio', 'win_rate', 'worst']
[fforfindir(qs.plots)iff[0]!='_']
['daily_returns', 'distribution', 'drawdown', 'drawdowns_periods', 'earnings', 'histogram', 'log_returns', 'monthly_heatmap', 'returns', 'rolling_beta', 'rolling_sharpe', 'rolling_sortino', 'rolling_volatility', 'snapshot', 'yearly_returns']
***即将提供完整文档***
同时,通过使用python的helpmethod:
help(qs.stats.conditional_value_at_risk)
Help on function conditional_value_at_risk in module quantstats.stats: conditional_value_at_risk(returns, sigma=1, confidence=0.99) calculats the conditional daily value-at-risk (aka expected shortfall) quantifies the amount of tail risk an investment
安装
使用pip:
安装quantstats。$ pip install quantstats --upgrade --no-cache-dir
要求
已知问题
不知什么原因,我找不到办法告诉西伯恩不要把 当指示保存时,monthly返回heatmap-因此即使保存了绘图(通过传递savefig={...}),它仍然会显示绘图。
法律问题
quantstats在apache软件许可证下分发。有关详细信息,请参见发行版中的LICENSE.txt文件。
P.S.
请给我一张便条,上面有你的任何反馈。
ran唤醒