课程  因子投资  机器学习  Python  Poetry  ppw  tools  programming  Numpy  Pandas  pandas  算法  hdbscan  聚类  选股  Algo  minimum  numpy  algo  FFT  模式识别  配对交易  GBDT  LightGBM  XGBoost  statistics  CDF  KS-Test  monte-carlo  VaR  回测  过拟合  algorithms  machine learning  strategy  python  sklearn  pdf  概率  数学  面试题  量化交易  策略分类  风险管理  Info  interview  career  xgboost  PCA  wavelet  时序事件归因  SHAP  Figures  Behavioral Economics  graduate  arma  garch  人物  职场  Quantopian  figure  Banz  金融行业  买方  卖方  story  量化传奇  rsi  zigzag  穹顶压力  因子  ESG  因子策略  投资  策略  pe  ORB  Xgboost  Alligator  Indicator  factor  alpha101  alpha  技术指标  wave  quant  algorithm  pearson  spearman  tushare  因子分析  Alphalens  涨停板  herd-behaviour  momentum  因子评估  review  SMC  聪明钱  trade  history  indicators  zscore  波动率  强化学习  顶背离  freshman  resources  others  AI  DeepSeek  network  量子计算  金融交易  IBM  weekly  LLT  backtest  backtrader  研报  papers  UBL  quantlib  jupyter-notebook  scikit-learn  pypinyin  qmt  xtquant  blog  static-site  duckdb  工具  colors  free resources  barra  world quant  Alpha  openbb  数据  risk-management  llm  prompt  CANSLIM  Augment  arsenal  copilot  vscode  code  量化数据存储  hdf5  h5py  cursor  augment  trae  Jupyter  jupysql  pyarrow  parquet  数据源  quantstats  实盘  clickhouse  notebook  redis  remote-agent  AI-tools  Moonshot  回测,研报,tushare 

tools »

Quantstats Reloaded


Table of Content

Quantstats 是一款用于交易策略绩效分析的 Python 库,深受量化圈用户喜爱,在 Github 上获得了超过 5.8k 的 stars。但很遗憾,由于原作者长期未维护,现在新安装的 Quantstats,尤其是在 Python 3.12 及以上高版本中,几乎无法运行。

我们带来了更新。


Quantstats 是 Ran Aroussi 的一个开源项目。Ran Aroussi 是一位软件开发者、金融创新者和独立创业者。他创建了多个受欢迎的 Python 库,比如广为人知的 YFinance(17.9k stars)和 Quantstats。他还创立了 Tradologics —— 一个程序化交易的云平台。目前他还是一名播客,主持着『Old School, New Tech』节目。

与匡醍一样,他致力于『创建工具以帮助人们更智能地工作』,并分享『可操作的技巧、真实世界的策略,以及关于编码、独立开发、金融和创业的内幕故事』。

也可能正是因为参与的活动太多,他不得不忽略了对 Quantstats 这一知名项目的维护责任。最后一次更新还是 8 个月前。此后,社区已提交了大量 issue report。例如,在 Python 3.12 版本下(其他版本新安装 Quantstats 也可能出现),会遇到如下错误:

issue 416

这是一个只在 Jupyter Notebook 下出现的问题,主要由于 nbformat 升级导致。该问题修复后,你还可能遇到如下错误:

issue 420

几个月来,尽管社区不断提交修复,但作者一直没有时间发布新版本。可能因为原版 Quantstats 没有单元测试和 CI,每次发布都需手动测试,极为繁琐,作者难以抽身。

在匡醍的量化课程中,我们也向学员推荐了 Quantstats。为保证学员体验,我们决定接手 Quantstats 的维护工作,并发布了 quantstats-reloaded 新包(原包只能由 Ran Aroussi 发布)。

如果你也受到 Quantstats 问题影响,请使用 quantstats-reloaded。本版本除了修复 #416、#420 等 bug,还进行了如下重构:

Abstract

  1. 移除了对 yfinance 的依赖,改用人工合成数据进行测试,大幅提升测试可复现性。
  2. 改用 poetry 进行依赖管理,未来将提供更严格、基于语义的依赖版本控制。
  3. 增加了单元测试,覆盖率由 0% 提升至 21%。
  4. 移除对过时 Python 版本(如 3.6~3.9)的支持。
  5. 增加了多平台、多版本测试框架和 CI。

考虑到 #416 等 bug 的紧迫性,我们提前发布了该版本。后续将在提升单元测试覆盖率、通过多平台(mac、windows、linux)和 CI(GitHub Actions)测试后,发布新版本。

现在,请尝试:

1
pip install quantstats-reloaded