Backtrader 量化回测实践(6)——量化回测评价工具Quantstats

Backtrader 量化回测实践(6)——量化回测评价工具Quantstats

1.概述

Quantstats是用于量化金融分析和投资组合优化的Python库。该库提供了各种工具,可从不同来源获得金融数据,进行技术和基本分析,并创建和测试投资策略。还可以使用可视化工具来分析股票和投资组合。
Quantstats是一款简单易用的定量金融分析工具,因此它将是本研究的首选库。
用BT进行回测后,内置的Analysis分析指标,可以作为回测结果的考量指标,但是没有对于结合市场指标评价回测结果。例如策略年化收益率5%,但是大盘市场走势,大盘指数年化收益率6%,说明策略并不理想。

1964年,威廉·夏普在《金融学期刊》上发表的论文里,首次把金融资产的收益拆成两部分。和市场一起波动的部分叫贝塔收益,不和市场一起波动的部分就叫阿尔法收益。
阿尔法收益,指的是跑赢大盘的超额收益。战胜市场平均水平获得的收益。主要承担的是非系统性风险,也就是证券组合带来的风险。
贝塔收益,就是跟随整个市场波动获取的平均收益。风险主要来自于市场的系统性风险。

Quantstats可以实现市场参考,设定一个基准策略,对比量化策略,在A股通常把基准设定为沪深300指数的收益率。

安装简单,不做赘述。

2. QuantStats主要功能

在GitHub上介绍:
主要有三个功能:

QuantStats is comprised of 3 main modules:
quantstats.stats - for calculating various performance metrics, like Sharpe ratio, Win rate, Volatility, etc.
quantstats.plots - for visualizing performance, drawdowns, rolling statistics, monthly returns, etc.
quantstats.reports - for generating metrics reports, batch plotting, and creating tear sheets that can be saved as an HTML file.
  • 1.统计功能,计算各类性能指标,夏普率,胜率,波动率等;
  • 2.绘图功能,可视化性能指标,最大回撤,滚动统计,月度回报率等;
  • 3.报告功能,生成度量报告,批量绘图,创建HTML报告;
(1)统计功能

统计指标很丰富。

str_stats = ''
for k in dir(qs.stats) :
    if k[:1] != '_':
        str_stats += k + ','

print(str_stats)

统计指标:

adjusted_sortino,autocorr_penalty,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,distribution,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,omega,outlier_loss_ratio,outlier_win_ratio,outliers,payoff_ratio,pct_rank,probabilistic_adjusted_sortino_ratio,probabilistic_ratio,probabilistic_sharpe_ratio,probabilistic_sortino_ratio,profit_factor,profit_ratio,r2,r_squared,rar,recovery_factor,remove_outliers,risk_of_ruin,risk_return_ratio,rolling_greeks,rolling_sharpe,rolling_sortino,rolling_volatility,ror,serenity_index,sharpe,skew,smart_sharpe,smart_sortino,sortino,tail_ratio,to_drawdown_series,treynor_ratio,ulcer_index,ulcer_performance_index,upi,value_at_risk,var,volatility,warn,win_loss_ratio,win_rate,worst

可以逐一测试。

(2)报告功能
   You can create 7 different report tearsheets:

    qs.reports.metrics(mode='basic|full", ...) - shows basic/full metrics
    qs.reports.plots(mode='basic|full", ...) - shows basic/full plots
    qs.reports.basic(...) - shows basic metrics and plots
    qs.reports.full(...) - shows full metrics and plots
    qs.reports.html(...) - generates a complete report as html
    Let's create an html tearsheet

主要报告功能说明:

qs.reports.metrics(mode='basic|full", …) - 展现基础/所有指标
qs.reports.plots(mode='basic|full", …) - 展现基础/所有绘图
qs.reports.basic(…) - 展现基础指标和绘图
qs.reports.full(…) - 展现所有指标和绘图
qs.reports.html(…) - 生成html完整报告

(3)绘图功能
str_stats = ''
for k in dir(qs.plots) :
    if k[:1] != '_':
        str_stats += k + ','

print(str_stats)

绘图功能:

daily_returns,distribution,drawdown,drawdowns_periods,earnings,histogram,log_returns,monthly_heatmap,monthly_returns,plotly,returns,rolling_beta,rolling_sharpe,rolling_sortino,rolling_volatility,snapshot,to_plotly,warnings,yearly_returns,

3.测试准备

(1)数据说明
  • 收益率用收盘价,pandas的方法:pct_change计算。
  • quantstats需要的策略数据格式为Series,值是收益率,索引是日期,必须为datetime格式。
  • 基准数据用沪深300指标。
  • 无风险收益率,假设按三年期存款利率3%。
(2)环境版本

后面有的功能会报错,所以列示出需要的环境版本。

QuantStats 0.0.62
pandas 2.0.3
m

为了在Windows上安装ADB工具,你可以按照以下步骤进行操作: 1. 首先,下载ADB工具包并解压缩到你自定义的安装目录。你可以选择将其解压缩到任何你喜欢的位置。 2. 打开运行窗口,可以通过按下Win+R键来快速打开。在运行窗口中输入"sysdm.cpl"并按下车键。 3. 在系统属性窗口中,选择"高级"选项卡,然后点击"环境变量"按钮。 4. 在环境变量窗口中,选择"系统变量"部分,并找到名为"Path"的变量。点击"编辑"按钮。 5. 在编辑环境变量窗口中,点击"新建"按钮,并将ADB工具的安装路径添加到新建的路径中。确保路径正确无误后,点击"确定"按钮。 6. 返到桌面,打开命令提示符窗口。你可以通过按下Win+R键,然后输入"cmd"并按下车键来快速打开命令提示符窗口。 7. 在命令提示符窗口中,输入"adb version"命令来验证ADB工具是否成功安装。如果显示版本信息,则表示安装成功。 这样,你就成功在Windows上安装了ADB工具。你可以使用ADB工具来执行各种操作,如枚举设备、进入/退出ADB终端、文件传输、运行命令、查看系统日志等。具体的操作方法可以参考ADB工具的官方文档或其他相关教程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [windows环境安装adb驱动](https://blog.youkuaiyun.com/zx54633089/article/details/128533343)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Windows下安装使用ADB,简单易懂教程](https://blog.youkuaiyun.com/m0_37777700/article/details/129836351)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值