ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Alpha101/191因子平台:EasyXT 101因子分析一站式量化研究方案

Alpha101/191因子平台:EasyXT 101因子分析一站式量化研究方案

【免费下载链接】EasyXT

EasyXT是基于miniqmt中xtquant的二次开发封装库,旨在简化xtquant的使用,提供更友好的API接口。通过统一的接口设计、智能参数处理和完善的错误处理,让量化交易开发变得更加简单高效。

项目地址:https://gitcode.com/gh_mirrors/ea/EasyXT
点击查看免费下载

如果你在寻找Alpha101 因子的现成实现,EasyXT 项目内置的101因子分析平台值得一试:它完整实现了 WorldQuant Alpha101 全部 101 个因子,并扩展至 191 个 Alpha 因子,把因子计算、IC 分析、分组回测、策略构建到实盘部署整合到一个可视化界面中,是新手做量化因子研究的完整起点。

为什么需要 101 因子分析平台

手动研究因子时,新手通常会遇到这些痛点:

  • 因子公式多、实现难:Alpha101 的 101 个公式涉及 rank、sma、correlation、ts_sum 等大量算子,逐一手写代码费时费力
  • 分析链路不完整:算完因子后还要自己做 IC 检验、分层回测、绩效评估,代码散落各处
  • 研究到实盘断层:因子研究结果难以直接转化为可回测、可实盘的策略

101因子分析平台针对这些问题设计,位于 101因子/101因子分析平台/,核心特性包括:

能力说明
🎯 完整因子库Alpha101 全部 101 个 + Alpha191 扩展 90 个,共 191 个因子
📊 可视化工作流拖拽式节点编排,零代码构建因子研究流程
🚀 高性能计算基于 pandas 向量化计算,支持多进程与缓存
📈 完整分析工具IC/IR 分析、分组回测、夏普比率与最大回撤等绩效评估
🔌 EasyXT 集成无缝对接 EasyXT 数据接口,支持 DuckDB / QMT / Tushare 数据源

快速开始:三步启动因子分析平台

平台基于 Streamlit 构建,Windows 用户可直接双击启动脚本,一键拉起 Web 界面:

# Windows 一键启动(自动检测并启动 Streamlit) 启动应用.bat # 启动后访问 http://localhost:8501

或者手动指定端口运行:

cd 101因子/101因子分析平台 streamlit run main_app.py --server.port=8510 --server.address=127.0.0.1

依赖安装参考 101因子/101因子分析平台/requirements.txt,核心包为 pandas、numpy、scipy、matplotlib、streamlit 等。若界面异常,可运行 清除缓存并重启.bat 清理缓存后重启。

启动后,左侧导航提供完整的研究动线:因子分析 → 信号生成 → 组合构建 → 回测验证 → 实盘部署,入口实现在 101因子/101因子分析平台/main_app.py。

因子计算引擎:191 个因子的底层实现

因子引擎位于 101因子/101因子分析平台/src/factor_engine/,结构清晰:

  • alpha101.py:Alpha101 全部 101 个因子(alpha001–alpha101),严格对应 WorldQuant 原始公式
  • alpha191.py:90 个扩展因子(alpha102–alpha191),覆盖动量、反转、波动率等类型
  • operators.py:40+ 基础算子(ts_sum、sma、stddev、correlation 等),因子公式全部由算子组合而成
  • calculator.py:统一计算入口,负责数据加载与因子批量计算
  • neutralization.py:因子中性化与标准化处理

对于会写代码的读者,几行即可调用因子计算器:

from src.factor_engine.calculator import FactorCalculator calculator = FactorCalculator() # 加载多只股票的价格数据 data = calculator.load_data( symbols=['000001.SZ', '600000.SH'], start_date='2024-01-01', end_date='2024-12-31' ) # 计算单个因子(支持 alpha001–alpha191) factor = calculator.calculate_single_factor(data, 'alpha001')

平台默认的参数(如时间窗口、分层数量、交易成本等)集中定义在 101因子/101因子分析平台/config/settings.py 的FACTOR_CONFIG与BACKTEST_CONFIG中,可按需调整。

从 IC 分析到分组回测:验证因子有效性

算出因子只是第一步,判断因子有没有用才是关键。分析模块位于 101因子/101因子分析平台/src/analysis/,提供完整的检验工具链:

  1. IC/IR 分析(ic_analysis.py):计算因子值与未来收益的相关系数,并自动做数据质量校验(样本量、缺失值比例等),快速筛掉无效因子
  2. 分组回测(group_backtest.py):按因子值分组(默认 10 组),检验收益单调性,计算多空策略收益
  3. 绩效评估(enhanced_performance.py):夏普比率、最大回撤、年化收益等指标,并生成可视化图表
  4. 因子相关性(factor_correlation.py):分析因子间的重叠度,为多因子组合去冗余

官方建议的研究顺序是:先做 IC 分析筛选有效因子,再进入分组回测验证,最后构建多因子策略。

可视化工作流:拖拽式搭建因子研究

不想写代码?平台内置可视化工作流引擎(101因子/101因子分析平台/src/workflow/engine.py),通过节点编排即可完成研究:

from src.workflow.engine import WorkflowEngine engine = WorkflowEngine() engine.add_data_node(symbols=['000001.SZ'], start='2024-01-01', end='2024-12-31') engine.add_factor_node('alpha078') # 选择 Alpha101 第 78 号因子 engine.add_ic_analysis_node(periods=1) # 1 期 IC 检验 results = engine.execute()

各类节点实现位于 101因子/101因子分析平台/src/workflow/nodes/(数据节点、因子节点、分析节点等)。在 Web 界面的「📊 因子工作流」页面中,可以实时查看计算结果、保存与加载工作流,适合反复迭代不同因子的组合。

策略回测与实盘代码生成

平台不止于研究,还打通了落地环节:

  • 📝 配置编辑器:可视化编辑 YAML 策略配置,免去手写配置文件
  • 📊 策略回测:基于 2024 年完整数据(价格+市值)做历史回测,内置持仓详情与调仓分析
  • 🔄 网格回测:页面实现见 101因子/101因子分析平台/src/workflow/grid_backtest_page.py
  • 💻 实盘代码生成:回测满意后一键生成实盘交易代码,配合 EasyXT 的交易接口(easy_xt/trade_api.py)接入 QMT/MiniQMT 执行

策略示例可直接参考 easyxt_backtest/config/examples/ 下的 YAML 配置,其中alpha101_strategy.yaml就是一个现成的 Alpha101 多因子策略模板。

数据准备与常见问题

数据从哪来?

平台通过 EasyXT 适配器(101因子/101因子分析平台/src/easyxt_adapter/data_loader.py)统一取数,支持三种数据源:

  • DuckDB 本地库:推荐方式,离线查询快,历史数据一次性下载
  • QMT/MiniQMT:本地行情软件实时数据,启动平台时会自动尝试登录 QMT
  • Tushare:在线 API 补充数据(需自行申请 Token)

更多数据源配置说明可查阅 docs/DATA_CONFIG_GUIDE.md 与 docs/assets/TROUBLESHOOTING.md。

新手常见问题

Q:因子计算很慢怎么办?A:优先缩小股票池和时间范围;平台默认启用磁盘缓存(见 settings.py 的CACHE_CONFIG),重复计算会直接命中缓存。

Q:回测应该用什么时间段?A:当前本地库覆盖 2024 年全年(含市值数据),建议回测区间设为 2024-01-02 至 2024-12-31。

Q:如何扩展自己的因子?A:在src/factor_engine/alpha101.py中仿照现有因子新增方法,用 operators.py 中的基础算子组合即可,无需改动引擎。

写在最后

101因子分析平台把"因子公式实现 → 有效性检验 → 组合回测 → 实盘落地"这条链路完整收拢在一个界面里,对刚接触 Alpha 因子研究的新手尤其友好:先跑通现成的 alpha001,再做 IC 筛选,最后生成实盘代码,一条完整闭环即可练手。更多细节可参考平台自身的说明文档 101因子/101因子分析平台/README.md,以及 EasyXT 主文档 docs/ARCHITECTURE.md 了解整体架构。

⚠️ 量化研究结果不构成投资建议,历史回测收益不代表未来表现,实盘前请务必充分使用模拟盘验证。

【免费下载链接】EasyXT

EasyXT是基于miniqmt中xtquant的二次开发封装库,旨在简化xtquant的使用,提供更友好的API接口。通过统一的接口设计、智能参数处理和完善的错误处理,让量化交易开发变得更加简单高效。

项目地址:https://gitcode.com/gh_mirrors/ea/EasyXT
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进