Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MY_ENGINE — ETF 回测引擎

基于日线数据的 ETF 量化回测引擎,内置图形界面、数据维护(TickFlow 下载 / 清洗 / 指标计算)与 9 种内置策略。

快速开始

安装依赖:

pip install pandas numpy matplotlib pillow tickflow

启动图形界面:

python GUI/main.py

命令行批量回测:

python MAIN/BACK_TEST.py

目录结构

MY_ENGINE/
├── GUI/          # 图形界面(入口 main.py)、股票池 stock_pool.txt
├── MAIN/         # 脚本入口:BACK_TEST.py 批量回测、TODAY.py 查看近 20 日高低点
├── BASE/         # 回测核心引擎 backtest_ai.py(Figuration 类)、SUPPORT.py
├── SUPPORT/      # 数据下载 DOWNLOAD.py、指标计算 MACD.py
├── DATA/         # 按日整理的行情 CSV(每文件包含多只标的)
├── UNCLEANED/    # 原始下载数据 + 清洗脚本 DEAL.py
├── OUTPUT/       # 回测输出:对比图、各策略日志与图表
└── TEST/         # 测试脚本

数据流程

  1. TickFlow 按股票池下载日线数据,原始文件写入 UNCLEANED/
  2. UNCLEANED/DEAL.py 清洗合并到 DATA/ 的按天 CSV
  3. SUPPORT/MACD.py 计算 EMA / KDJ 指标列并写回 DATA/
  4. 回测引擎读取 DATA/,结果输出到 OUTPUT/

内置策略

方法 策略 状态
method_1 买入持有 ✅ 可用
method_2 MACD + KDJ ⚠️ 需先计算指标列
method_3 MACD 零轴交叉 ⚠️ 需先计算指标列
method_4 MA5 × MA20 金叉死叉 ✅ 可用
method_5 海龟突破 ✅ 可用
method_6 逆势 Counter ✅ 可用
method_7 Bollinger ✅ 可用
method_8 ER-Turtle ✅ 可用
method_9 GK-Skew ✅ 可用

输出说明

OUTPUT/<标的代码>/ 下包含:

  • comparison.png / comparison.txt — 各策略资产曲线对比与指标(夏普比率 / 年化收益率 / 最大回撤)
  • log_<策略名>/ — 各策略的独立回测日志与图表

已知说明

  • 每个策略独立运行,失败不会影响其它策略,原因会显示在结果表中
  • method_2 / method_3 需先在「数据维护」页计算 MACD / KDJ 指标列
  • 下载清洗会重建每日文件并清空指标列,之后需重新计算指标再回测
  • 界面已自动配置 matplotlib 中文字体,图表中文图例可正常显示

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages