mirror of
https://github.com/shy3130/tick-stock-panel.git
synced 2026-11-02 10:26:13 +00:00
refactor(core): 策略与信号全面去内置化, 转为用户自定义定义
- 策略: 引擎只加载 data/strategies/{custom,ai,composite} 与研究模板目录,
原 25 个内置策略一次性迁移为用户自定义文件(ID 不变, 引用零迁移);
研究模板移至 app/strategy/research, 打包 spec 同步; 新装环境策略库为空
- 信号: 管线不再硬编码任何信号表达式; 涨跌停判定价成为运行时列
limit_up_price/limit_down_price(生效价∓0.005 容差), 20 个信号转为
data/user_data/custom_signals 定义(显式 column 沿用 signal_* 原列名);
依赖解析/注入顺序/当日路径 prev-join 全部定义驱动; 语义统一为历史路径
口径(顺带修正当日路径 BOLL 比较符与翘板/炸板空值两处既有偏差)
- 前端: 信号库单列表(全部可编辑), SignalPicker/监控选项/信号标签全走
定义接口; 回测页新增免责声明(模拟性质/数据源准确性不作保证/不构成
投资建议)
- 测试: 25 个策略夹具与 20 个信号种子入库 tests/fixtures, 受影响测试
全部自包含化(不依赖运行目录用户数据); 77 万行 MA 死叉新旧表达式对拍
逐行一致; 回测实跑 45 笔卖点信号出场验证矩阵链路
- 同批包含工作区既有进度: 策略结果 ext 列同日投影修复(含测试)、数据源插件、fuyao/auth/api_gateway/data_integrity 调整、README 信号库
描述与 strategy.md 导入路径补充
验证: 后端 2592 passed(空数据目录 CI 模拟 2588 passed, 4 例为模拟环境
伪影复验排除); 前端 vitest 125 passed + tsc 0 错 + vite build 通过
This commit is contained in:
@@ -318,6 +318,11 @@ uv run --extra dev python -m ruff check app/plugins/<your_plugin>/ tests/test_<y
|
||||
- `client.py` — httpx 客户端(X-api-key 认证 + 统一信封解包 + 分页 + 页间隔限频 + 单标的日K + dump 预签名下载, S3 下载不带 Key 头)
|
||||
- `provider.py` — Provider 实现(实测/文档双字段名映射、百分数→小数制、volume 股→手、上海零点戳 +8h 时区、dump 按 release 版本缓存、软失败、Key 探测)
|
||||
- `tests/test_fuyao_provider.py` — 73 个契约测试, 是新插件的测试范本
|
||||
- **`backend//`** — 自部署行情服务(runtime: none, 纯 HTTP 零依赖)
|
||||
- 提供 `daily`(A 股日K, 分钟仓库按日聚合的原始价; 历史深度随仓库积累变厚, 新装服务仅近端)、`full_minute`(批量分钟: `get_intraday_batch` 全天修复轮按当日窗口+分块拉取, `get_intraday_latest` 稳态增量轮按 SH/SZ/BJ 股票分段单请求)、`realtime`(全市场列式快照, 含 ETF — 单请求一轮; 无指数, 未实现 `get_realtime_indices` → 指数由本地日K兜底); 未声明 `minute`/`adj_factor` 等 → 对应能力回退 TickFlow; volume(手)/amount(元)与项目口径一致零换算(快照涨跌幅由 provider 推导, 天然小数制); 服务地址默认 `http://127.0.0.1:8310`, 可用 `` 覆盖; Key 在服务端 `/keys` 页创建后于设置页卡片直接配置(先探后存), 或 `.env` 配 ``
|
||||
- `client.py` — httpx 客户端(Bearer 认证 + HTTP 状态码/detail 信封解包 + 服务端护栏常量: 单请求 codes ≤2000、分钟 bar ≤200k、日K cell ≤400k)
|
||||
- `provider.py` — Provider 实现(日K 矩阵→长表、停牌 cell 跳过、批大小按窗口跨度动态计算、修复轮 provider 侧过滤当日 bar 防 `_write_minute_partition` 跨分区写放大、分钟显式 schema 防 #458 稀疏列推断问题、快照 last≤0 行跳过防 -100% 伪涨跌、批间软失败隔离、Key 探活回报标的数)
|
||||
- `tests/_provider.py` — 35 个契约测试(矩阵映射/单位零换算/分块进度/历史 bar 过滤/分段失败隔离/快照列式映射/软失败/loader 注册)
|
||||
- **`backend/app/plugins//`** — Node 型插件, 通过 subprocess 桥接调用
|
||||
- `bridge.py` — Python↔Node 桥接 + availability 检测
|
||||
- `bridge.mjs` — Node 端(并发池、重试、SDK 解析)
|
||||
|
||||
Reference in New Issue
Block a user