mirror of
https://ghfast.top/https://github.com/aeroxw/easy_tdx_max.git
synced 2026-09-12 14:34:18 +08:00
feat: CLI 对齐 WebUI/SDK 分析能力 — 一键参数寻优+策略列表+组合级WF/一条龙
CLI 此前缺失的三块补齐,引擎层复用现成实现(ParamGridOptimizer/ STRATEGY_PRESETS/evaluate_portfolio/PortfolioWalkForwardEngine), CLI、Web API 与 Python SDK 三条通路能力对等: - 新增 easy-tdx optimize 参数网格寻优命令:单策略网格搜索 (--strategy 用预设网格或 --param 自定义),--all 一键寻优所有 内置策略并按总收益率全局排名(对齐 WebUI /optimize 页与 /backtest/optimize-all/run/async);--workers 进程级并行; 策略名/参数名联网前前置校验快速失败 - optimizer 新增 optimize_all_strategies 规范实现(模块级 worker 可 pickle、主进程解析 label、跨策略进程池并行、presets 可注入 子集网格),CLI 与后续 Web 端共用 - 新增 easy-tdx strategies 内置策略列表命令(名称/参数默认值/ 预设网格/说明;--output json 与 GET /backtest/strategies 同构) - portfolio 补 --evaluate(组合级一条龙)/ --wf(组合级 WF)/ --auto-fees,输出与 WebUI /portfolio 页同构 - 测试新增 12 例(optimize 互斥/未知策略/未知参数校验、strategies 表格与 JSON、portfolio 新旗标、optimize_all_strategies 排名序/ skipped/JSON 原生类型);pytest 1611 通过、ruff/mypy 全绿 - 文档同步:README、docs/backtest_usage.md CLI 章节+目录、 CHANGELOG 未发布小节、examples/20_cli/cli_examples.sh 补 回测系列 §39-48(输出样例均为真实行情实测)
This commit is contained in:
@@ -22,6 +22,9 @@
|
||||
- [交易记录](#交易记录)
|
||||
- [序列化输出](#序列化输出)
|
||||
- [CLI 命令行](#cli-命令行)
|
||||
- [内置策略列表(strategies)](#内置策略列表strategies)
|
||||
- [参数网格寻优(optimize)](#参数网格寻优optimize)
|
||||
- [组合级分析(portfolio)](#组合级分析portfolio)
|
||||
- [进阶用法](#进阶用法)
|
||||
- [预计算指标列](#预计算指标列)
|
||||
- [缠论结果注入](#缠论结果注入)
|
||||
@@ -437,6 +440,65 @@ easy-tdx backtest SZ 000001 --strategy-file my_strategy.py --table
|
||||
| `--indicators` | — | 预计算指标(逗号分隔) |
|
||||
| `--table` | False | 表格输出 |
|
||||
| `--output` | json | 输出格式:json / table / csv |
|
||||
| `--wf` | False | 附加 Walk-Forward 样本外验证 |
|
||||
| `--wf-windows` | 7 | Walk-Forward 窗口数 |
|
||||
| `--evaluate` | False | 一条龙评估(回测+WF+适配性+评分+评级+基准对比) |
|
||||
| `--auto-fees` | False | 按标的品种自动解析费率 |
|
||||
|
||||
### 内置策略列表(strategies)
|
||||
|
||||
```bash
|
||||
# 表格列出全部内置策略(名称/参数/预设寻优网格)
|
||||
easy-tdx strategies
|
||||
|
||||
# JSON 输出(含完整参数 schema,与 Web API GET /backtest/strategies 同构)
|
||||
easy-tdx strategies --output json
|
||||
```
|
||||
|
||||
### 参数网格寻优(optimize)
|
||||
|
||||
对注册表内置策略的 1-2 个参数做网格搜索,按总收益率排名:
|
||||
|
||||
```bash
|
||||
# 单策略:用该策略的预设寻优网格(见 strategies 命令)
|
||||
easy-tdx optimize SZ 000001 --strategy ma_cross
|
||||
|
||||
# 单策略:自定义网格(--param 参数名=值1,值2,可多次指定)
|
||||
easy-tdx optimize SZ 000001 --strategy ma_cross --param fast=5,10,15 --param slow=20,60
|
||||
|
||||
# 一键寻优所有内置策略:逐策略按预设网格寻优后全局排名
|
||||
easy-tdx optimize SZ 000001 --all
|
||||
|
||||
# 并行加速(2+ 进程级并行;1 = 串行 + 指标缓存复用)
|
||||
easy-tdx optimize SZ 000001 --all --workers 4
|
||||
```
|
||||
|
||||
**optimize 参数**:
|
||||
|
||||
| 参数 | 默认值 | 说明 |
|
||||
|------|--------|------|
|
||||
| `--strategy` | — | 注册表策略名(与 `--all` 二选一) |
|
||||
| `--all` | False | 一键寻优所有内置策略(STRATEGY_PRESETS 预设网格) |
|
||||
| `--param` | 预设网格 | 自定义参数网格,如 `fast=5,10,15`(最多 2 个参数,笛卡尔积 ≤ 200) |
|
||||
| `--cash` | 1000000 | 初始资金 |
|
||||
| `--commission` | 0.0003 | 佣金率 |
|
||||
| `--slippage` | 0.0 | 滑点 |
|
||||
| `--workers` | 1 | 并行进程数 |
|
||||
| `--top` | 15 | 表格输出显示前 N 行 |
|
||||
|
||||
Python API 同名能力:`easy_tdx.backtest.optimizer.ParamGridOptimizer`(单策略)与
|
||||
`easy_tdx.backtest.optimizer.optimize_all_strategies`(一键全策略)。
|
||||
|
||||
### 组合级分析(portfolio)
|
||||
|
||||
```bash
|
||||
# 组合级 Walk-Forward 样本外验证(全部标的日期并集切窗,每窗独立开仓)
|
||||
easy-tdx portfolio --stocks SZ:000001,SH:600519 --strategy-file strategies/ma_cross.py --wf --wf-windows 7
|
||||
|
||||
# 组合级一条龙评估:组合回测 + 组合WF + 跨标的适配性 + 综合评分
|
||||
# + 组合评级 + 等权买入持有基准对比(与 Web UI /portfolio 页同构)
|
||||
easy-tdx portfolio --stocks SZ:000001,SH:600519 --strategy-file strategies/ma_cross.py --evaluate
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user