# tidal **Repository Path**: Clark_Liu/tidal ## Basic Information - **Project Name**: tidal - **Description**: No description available - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-07-05 - **Last Updated**: 2026-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🌊 Tidal · 跟随潮汐 ### *不预测,只跟随。* **量化回测与 AI 辅助决策系统 —— 把你的交易思想接进来,用历史数据反复验证。** ![Python](https://img.shields.io/badge/Python-3.14.3-3776AB?style=flat-square&logo=python&logoColor=white) ![Platform](https://img.shields.io/badge/Platform-Windows-0078D6?style=flat-square&logo=windows&logoColor=white) ![Tests](https://img.shields.io/badge/tests-1961%20passed-brightgreen?style=flat-square) ![License](https://img.shields.io/badge/License-MulanPSL--2.0-blue?style=flat-square) ![Strategy](https://img.shields.io/badge/Strategy-Agnostic-8A2BE2?style=flat-square) ![Frontend](https://img.shields.io/badge/WebUI-Vanilla%20JS%20%2B%20ECharts-F7DF1E?style=flat-square)
--- > 潮水从不问明天涨向何方。 > 它只是顺着月亮的引力,一寸一寸地来,又一寸一寸地退。 > 真正的赢家不与大海赌方向——他只在潮起时上船,潮落时离岸。 > > **不预测顶底,只顺势进退。** > 这是趋势跟踪的哲学,也是「跟随潮汐」的灵魂—— > 与它服务的交易者所信奉的"知行合一、非红即绿、信号驱动、纪律第一",是同一片海。 --- ## 📖 目录 | | | |:---|:---| | [🧭 它是什么](#what-is-it) | [🚀 快速开始](#quick-start) | | [🪨 关于这个名字](#naming) | [🎯 四条信条](#creed) | | [⚙️ 核心能力](#capabilities) · [回测](#backtest) · [策略体系](#strategy) · [数据层](#data-layer) · [AI Agent](#ai-agent) · [WebUI](#webui) | [🗄️ 数据源](#data-source) | | [📚 文档地图](#docs) | [🧱 项目结构](#layout) | | [📊 项目规模](#scale) | [🗺️ 演进时间线](#timeline) | --- ## 🧭 它是什么 Tidal 是一个**策略无关**的 A 股量化回测与 AI 辅助决策系统。 它不替你决定"买什么"——那是你的交易思想该做的事。 它给你的是一套**脚手架**:把你的策略接进来、用历史数据验证、再用 AI 辅助复盘与计划。 > **Tidal 帮不擅长写代码的交易者,把脑中零散的直觉,搭成一套结构完整、可被验证的交易系统。** 一套完整的交易系统包含九个元素——**择时 · 选股 · 买入 · 建仓 · 持仓 · 止盈 · 止损 · 仓位管理 · 复盘与计划**。Tidal 让你像搭积木一样把它们组合起来,缺哪块补哪块,换哪块试哪块。 --- ## 🪨 关于这个名字 Tidal 诞生于 2026 年 7 月 5 日,从 `six_signal` 仓库独立而来。 回测引擎跑通 → 数据层稳固 → WebUI 立起来 → 帝纳波利策略成功接入(证明框架真的能承载别人的交易思想)→ AI Agent 落地,自带可选的复盘/选股/计划驾驶舱 → 策略组件化 + AI 自主生成组件 + 方案B 行为对齐。从"一个分支里的想法"到"一个有名字、有边界、有方向的产品",Tidal 走完了定位的跃迁。 **2026-09 起,策略创建的主通道再次进化**:从"AI 生成组件"转向 **「用户脚本 + 系统机械检查」**(ADR-0007)——你把外部 AI(或任何人)按契约模板起草的 `decide(ctx)` 函数贴进策略页「📜 策略脚本」,系统机械检查通过即可启用为策略;AI 判断不"合成"交易逻辑,系统也不手改你的脚本,**语义保真归你和你的外部 AI,系统只做格式与契约的门卫**。配套:脚本可声明账户级纪律(`MAX_POSITIONS` 并发开仓上限,ADR-0008)、AI 三线/回测全走同一份"当前绑定策略"、选股候选池由本地全市场信号扫描驱动(ADR-0009)。 --- ## 🚀 快速开始 ### 环境要求 | 项 | 要求 | 说明 | |:---|:---|:---| | 操作系统 | Windows | 通达信 tqcenter 数据源仅 Windows 可用;纯 Parquet 离线回测不依赖它 | | Python | **3.14.3** | 具体路径与装法见 `CODEBUDDY.md`「Setup」 | | 通达信客户端 | 已安装(TdxW) | 主力数据源;只用本地 Parquet 时可不开 | | AI API Key | 可选 | 不配不影响回测 / 数据 / 策略核心功能 | 依赖极少(见 `requirements.txt`):`pandas` · `numpy` · `requests` · `python-dotenv` · `fastapi` · `uvicorn` · `pyarrow` · `pypinyin` · `chinesecalendar`。**零前端构建链**——ECharts 已内置在 `webui/js/`,不依赖 CDN。 ### 三步上手 ```powershell # Python(3.14.3,跨机器写法:%USERPROFILE% 会自动展开为本机用户目录) $env:PYEXE = "$env:USERPROFILE\.workbuddy\binaries\python\versions\3.14.3\python.exe" # 1) 配置(首次使用) # 复制 data/config.example.json → data/config.json,改 tdx_root 为本机通达信路径 # 2) 跑测试验证环境(测试基线见 CODEBUDDY.md「Run Tests」;随代码持续增长) cd D:\Tidal Invoke-Expression "$env:PYEXE -m pytest tests -q" # 3) 启动 WebUI(浏览器自动打开 http://127.0.0.1:8000/) # ⚠ 顺序很重要:先开通达信客户端 → 再启服务;冷启动约 30-60 秒后才监听 8000 .\webui\start_backtest.bat # 命令行回测 Invoke-Expression "$env:PYEXE run_backtest.py 601609" # AI CLI 入口 Invoke-Expression "$env:PYEXE ai_review.py" Invoke-Expression "$env:PYEXE ai_screening.py" Invoke-Expression "$env:PYEXE ai_plan.py" ``` > **AI 功能**:WebUI 配置页直接填 API Key 保存到 `.env.local`(OpenAI 兼容格式),或手动设环境变量 `TIDAL_AI_ENABLED=1` + `TIDAL_AI_API_KEY`。不配 Key 不影响回测/数据/策略核心功能。 > > **换个策略试试**:内置六层趋势与帝纳波利两套参考实现;想接自己的,走策略页「📜 策略脚本」(契约模板 → 外部 AI 起草 → 贴回 → 机械检查通过即启用)。 --- ## 🎯 四条信条 | 信条 | 含义 | |:---|:---| | **策略无关是生命线** | 框架永不焊死任何策略。六层趋势、帝纳波利只是参考实现,你的策略同样能接进来。 | | **独立可活** | 核心(回测/策略/数据)不依赖 AI 也能完整运转。AI 是可选外挂,不是心脏。 | | **面向小白** | 有界面、配置傻瓜化。不会写代码的交易者,也能用起来。 | | **先验证,再实盘** | 任何想法先在历史里跑一遍。系统是决策的辅助,不是替你冲锋的机器人。 | --- ## ⚙️ 核心能力 ### 回测 - **固定回测** — 给定股票池 + 区间 + 策略 + 资金,输出绩效卡、净值曲线(vs 基准)、交易流水、个股 K 线下钻 - **动态选股回测** — 全市场(可按板块过滤)每日策略自选股 + 择时,坑位驱动,向量化预计算突破性能墙,可中断 - **回测历史留档 + 搜索/标签** — 每次回测自动存摘要(不覆盖),支持关键词搜索(策略名/区间)、最近 7/30 天筛选、**标签打标/过滤/编辑**,可重放到原页面、多选回顾对比(N 列绩效 + N 条独立配色净值线) - **结构化交易日志 CSV** — 每次回测跑完自动导出交易明细为 `output/交易日志/`(中文表头 UTF-8 BOM,Excel 直接打开不乱码,run_id 与历史存档一致),积累个人交易数据库供 AI 复盘 - **多策略对比回测** — 同区间同池多策略并行跑,净值曲线叠加+大盘基准虚线+指标横比表(最优高亮) - **稳健性回测 + 基准对比** — 多区间跑批(滚动/自定义)+ 多轨道评估(建仓日偏移),回答"跑赢大盘没有"与"跨市况稳不稳"(`run_robustness.py`) - **因子评估研究** — 多轨道评估 + 因子增强(IC/分层回测)+ 残差化(`src/factors/`,WebUI「因子分析」页,研究模块未接入主链路) - **因子正确性防线(2026-08-25)** — 因子表达式引擎(`src/factors/expression_engine.py`,AST 白名单非 eval,禁负 shift/全序列 rank)+ Point-in-time 基本面快照(`src/factors/point_in_time.py`,公告日对齐、未来公告不可见)+ 因子因果审计测试(截断未来后信号不变,守护"偷看未来"类 bug) - **组合健康度检查** — 读当前持仓算集中度/行业占比/相关性/仓位合规,告警+违规分级(`src/portfolio_health.py`,纯分析、策略无关,WebUI「组合健康」页) - **组合优化器(2026-08-25)** — `src/portfolio/optimizer.py`:等权/均值方差/风险平价/因子中性四种权重优化,纯 numpy 零新依赖;协方差按调仓日截断(防前视)、Ledoit-Wolf 收缩、z-score→年化收益映射(防角点解)、单票上限约束;已接 AI 工具 `optimize_weights`(候选+分数 → 配置权重+组合风险统计)和**管道组件**(`portfolio_optimize_weights`,策略管理页可给任意策略添加,动态回测按优化权重分配) - **ML 防泄漏管线(2026-08-25,框架就绪待模型)** — `src/ml/`:purge/embargo 时间切分 + 训练窗口落库 + 预测拒绝 in-sample + 只在训练段 CV。模型接口可插拔,内置零依赖 `NumpyLinearRegressor`;未来接 sklearn/xgboost 只需换模型对象 - **回测结果可审计(2026-08-25)** — 回测结果显式带出执行假设(成交时序/佣金/印花税/过户费/滑点),跨版本口径变化可见(`CostModel.assumptions()` + `BacktestEngine.assumptions()`) 回测引擎完整建模:T+1 延迟、涨跌停、停牌、滑点、佣金、印花税、过户费;执行模型为**买开盘卖收盘、卖出当日生效不隔夜**。 ### 策略体系 - **最少只需实现 `decide(ctx)` 一个方法**即可接入回测,其余接口均有默认实现 - **策略管道组合架构(ADR-0001)** — 策略由可插拔的 `PipelineComponent` 节点按固定顺序拼装(共享 `DecisionState`),替代单体 `decide()` - **内置六层趋势图策略**(SixLayer)— 非红即绿、白色信号入场、5-3-2 建仓、移动止损,**方案B 已完成:经典 decide 降级为兼容层,`six_layer` 默认走 7 组件管道**,经典代码保留为 LEGACY 供对拍/参考 - **帝纳波利策略**(DiNapoli)— DMA 置换均线判向、斐波那契 ABC 三买点、COP/OP/XOP 分批止盈、风险倒推仓位,已拆为 5 个管道组件 - **通用组件库(ADR-0002,持续扩充)** — 跨策略复用的交易积木,读写标准 `g_signals` 命名空间:均线金叉/站上均线/突破新高/RSI 超买超卖/布林收口/量能突破等信号、信号选股、均线多头排列过滤(支持位移 REF + strict 严格模式)、板块共振、固定止损止盈/分批止盈/移动止损/ATR 移损+利润分级/横盘保护/极端止盈/信号回补/跌破均线止损、大盘均线过滤、动态仓位(收益率波动反比)、持仓数上限、信号买入 - **用户策略脚本(ADR-0007,2026-09 起策略创建主通道)** — 策略页「📜 策略脚本」:复制内置**契约模板**给外部 AI → 对方起草 `decide(ctx)` 函数体 → 贴回编辑器 → `script_check` **机械检查**(语法/契约/ctx 只读/反模式/烟雾测试,语义不审)→ 启用(`script:XXX`)成为可回测策略;已启用脚本被修改会自动回到草稿。脚本可定义 `STRATEGY_DESC` 一句话自报(`src/user_scripts.py` `ScriptedStrategy`) - **脚本声明式纪律(ADR-0008)** — 脚本顶部声明 `MAX_POSITIONS = N`,系统套壳**机械裁剪**:加仓/卖出放行、超限新开仓按脚本返回顺序裁尾部、名额次日生效;另有 `IGNORE_MARKET_GUARDRAIL = True` 豁免大盘护栏。声明式常量 = "用户声明意图、系统机械执行",不引入语义判断 - **AI 自主生成组件(2026-09-03 起已降级为第二通道)** — 组件库不足时 AI 生成组件代码 + L1-L5 五层自检(语法/接口/静态反模式/卖出语义/信号产出)+ 可重新修正;`config.features.ai_generate_entry=false` 后隐藏「+新建策略」入口(代码保留,验证跑顺后可关) - **新建策略(结构化表单 → AI 组件拼装)** — 填结构化表单(买入/卖出/标的/大盘/仓位)→ AI 从组件库选组件拼装 → 生成策略天然是组件组合,点开即可配置;**组件库无法表达时才由 AI 生成组件**(同上,第二通道) - **策略管理页** — 动态发现策略列表、合规校验、**点击策略行展开组件配置面板**(分类分组、参数编辑+toggle开关+tooltip说明、保存/重置)、**"➕添加组件"**(组件库弹窗插入组件+排序+默认参数,同类型多实例 `id_N`)、**"📋复制策略"**(`POST /api/strategy/clone` 深拷贝生成进阶版) - **组件启用 A/B 对比** — 在组件面板一键对比「全部启用 vs 当前配置」回测,7 项指标并排展示,快速验证某个组件是否真的有用 - **策略绑定** — 回测两线 `backtest_strategies.fixed/dynamic` + AI 线 `line_strategies.ai` 各自绑定策略;2026-09 起 **AI 三线(复盘/选股/计划)统一绑 `line_strategies.ai`**,回测两线与其当前同值(均为 `script:四轨脚本6号`),换策略只需改一处 - **动态回测管道适配** — `CompositeStrategy` 支持 `decide_dynamic`/`precompute`,同一管道跑动态回测(全市场自选股),六层动态回测缺口已补 - **多策略对比回测** — 同一区间同一池,多策略并行跑,净值曲线叠加+基准线+指标横比表 接策略三步走:建类继承 `BaseStrategy` → 实现 `decide` → config 报名字。详见 `docs/策略接入规范.md`。 ### 数据层 - **主力**:通达信 tqcenter 本地数据源(前复权统一口径) - **存储**:本地 Parquet(`data/quotes/{code}.parquet`),回测优先读,避免每次远程取 - **降级链**:本地 Parquet → 通达信 tqcenter → 备用源 - **数据同步页**:按板块批量同步,进度条 + 新鲜度提示 - **交易日历**:`chinesecalendar` 库,缺失时自动降级为只排周末 ### AI Agent(可选外挂) AI 已完整落地,支持 CLI 和 WebUI 两种入口: - **三线满血** — 复盘(持仓诊断 + 人在环追问)、选股、交易计划(仓位决策 + 拥挤度 + 分持仓/空仓操作清单)。三线统一绑定当前策略(`line_strategies.ai`),AI 决策全部基于策略自报接口(describe/get_signals),不脑补策略规则 - **会话基准日 L(2026-09-08)** — AI 三线的"今天"= 本地行情最新已收盘交易日(`src/ai/session_date.py`),凌晨熬夜复盘/选股/计划不错位;plan 目标日 = `next_trading_day(L)` - **选股 3.0「策略信号驱动」(ADR-0009,2026-09-08)** — 选股候选池的唯一来源 = `scan_market_signals`:读本地全市场行情(5563 只)对当前绑定策略跑真实 `get_signals`(fresh 模拟、同回测口径、当日缓存、ST 排除),**策略真实触发的建仓信号才进池**;主线板块/题材只做参考信息与深度排序验证,**无排除权**(不再"非主线直接排除"漏掉左侧低位金叉票) - **AI 决策信号闭环** — 复盘/计划报告末尾输出结构化【决策信号】(动作/评分/置信度/关键位),自动落库 `data/decision_signals.json`;`python hit_rate.py` 用本地 K 线按 1/3/5/10 日窗口算"观点命中率"。**落盘完成门槛(2026-09-08)**:仅正常完成的报告才落盘/写 checkpoint/记信号——ask_user 等待超时(5 分钟)按中断处理不保存,避免半成品报告污染当天复盘槽 - **决策护栏** — 评分与动作五档口径一致校验(拦截"打分 75 却喊观望")+ 价格关系校验(拦截"买入 10 元止损 11 元")+ 大盘转弱时 buy 自动降 watch(指数收盘 < MA20 判定);脚本在顶部声明 `IGNORE_MARKET_GUARDRAIL = True` 可显式豁免该大盘护栏 - **SSE 流式 + 网页人在环** — 实时显示 AI 调工具过程,遇主观题弹框等你回答 - **二十余个工具** — 路X 本地免费(行情/K线/指标/持仓/策略自报 describe/**组合权重优化**/**scan_market_signals 全市场信号扫描**等)+ 路Y MCP 增强(研报/公告/选股/宏观/涨停结构,连不上自动静默降级) - **AI 自主生成策略(2026-09-03 起第二通道)** — 组件库不足时 AI 生成组件代码 + L1-L5 五层自检 + 可重新修正;生成链路已加固(json_mode 强制 JSON + 降级重试、非法转义/裸换行容错、SSE 实时进度、自定义指标感知——AI 生成 DMA 位移均线策略已端到端打通)。策略创建主通道已切到用户脚本(ADR-0007),本入口保留待降级(`config.features.ai_generate_entry=false` 隐藏) - **省积分设计** — 一般数据走本地免费工具,MCP 仅用于本地没有的特殊信息 - **只读 SQL 双防线(2026-08-25)** — `src/readonly_sql.py`:应用层校验(单条 SELECT/WITH)+ sqlite `mode=ro` 物理只读,为 AI 查数据工具提供安全基线 - **优雅降级** — 没配 API Key 或 MCP 失效时,AI 功能不可用但主系统(回测/数据/策略)照跑 入口:WebUI「AI 助手」页 或 `python ai_review.py` / `python ai_screening.py` / `python ai_plan.py`。 ### WebUI 单页 SPA,**14 个页面**(固定回测 · 策略对比 · 动态回测 · 回测历史 · 因子分析 · 策略管理 · 数据同步 · 日报简报 · AI助手 · AI战绩 · 持仓账户 · 组合健康 · 账户净值 · 配置),深浅双皮肤,零前端构建链(原生 HTML + JavaScript + ECharts)。页面 JS 按模块拆分(`webui/static/js/pages/*.js` + `js/core/`),改动只动对应模块、浏览器强刷生效。 固定回测 · **策略对比** · 动态回测 · **回测历史(搜索/标签/多选对比)** · **因子分析** · **策略管理(📜 策略脚本主通道 · 组件面板 · 添加/复制 · 回收站)** · 数据同步(预加载无闪烁) · **日报简报(三线信号/持仓/降级一页汇总,`/api/brief`)** · **AI 助手(SSE 流式 + 人在环 + 「跳过」+ 尾盘决策卡)** · **AI 战绩(决策信号/命中率)** · **持仓账户(快照编辑 · 流水半自动联动 · 归档 · 成交价闸门)** · **组合健康(集中度/行业/相关性/合规)** · **账户净值(历史净值曲线)** · 配置 ### 健康检查 `GET /api/health` — 一键诊断通达信连接、Parquet 覆盖、配置完整性、AI Key 状态。 --- ## 🗄️ 数据源 | 来源 | 类型 | 说明 | |:---|:---|:---| | 通达信 tqcenter | **主力** | 本机运行通达信客户端即可,行情/K线/板块/龙虎榜(前复权) | | 本地 Parquet | 回测优先 | 数据同步页批量下载后缓存到 `data/quotes/`,回测直接读 | | 通达信远程 MCP | 增强(可选) | 研报、公告、新闻、宏观、自然语言选股、涨停结构。失效不影响主流程 | > 换机只改 `data/config.json` 的 `data_source.tdx_root`,不用动代码。 --- ## 📚 文档地图 | 文档 | 用途 | |:---|:---| | `CONTEXT.md` | **领域术语表**(策略脚本/管道/决策状态/信号扫描等统一语言,代码与讨论一致性的基准) | | `docs/★Tidal入口_先读这份_2026-07-05.md` | **接手第一份**:项目身份、与实盘的分家、用户铁律 | | `docs/新会话接手提示词.md` | 最新接手清单 / 技术现状 / 已踩的坑 | | `docs/项目总览_功能与架构.md` | **完整项目说明书**(基线为 08 月末;09 月后的变更以 README + ADR 为准) | | `docs/策略接入规范.md` | 三步把你的策略接进来(管道/脚本两类来源) | | `docs/动态选股策略接入规范.md` | 动态回测的接口契约与实现示例 | | `docs/AI_Agent工程规划.md` | AI Agent 施工蓝图与进度锚点 | | `docs/待开发功能清单.md` | 候选开发方向(以实盘真实痛点定优先级,已完成项滚动移入) | | `docs/adr/0001~0011` | **架构决策档案**:管道组合 · 通用组件库 · 快照模型 · checkpoint 跨运行记忆 · 工具护栏降级 · 试跑参数编辑 · **用户脚本替代 AI 生成** · **脚本声明式纪律 MAX_POSITIONS** · **选股3.0 信号驱动** · **报告确定性骨架(画像/快照/mech 机械分/run# 链)** · **尾盘决策(受控的收盘确认制偏离)** | | `docs/帝纳波利A股实战交易系统_V3.md` + `strategies_user/dinapoli/` | 帝纳波利策略规格与实现 | | `docs/知行合一·非红即绿六层趋势图交易策略手册(v2.6.1).md` | 六层策略手册(L1-L6/白信号/5-3-2 建仓) | | `strategies_user/策略设计文档_模板.md` | 写策略前先想清九个元素 | | `CODEBUDDY.md` | 工程说明书:环境命令 · 测试回归策略 · 重启纪律 · Windows 编码铁律 | --- ## 🧱 项目结构 ```text D:\Tidal ├─ run_backtest.py 固定股票池回测 CLI ├─ run_backtest_dynamic.py 动态选股回测 CLI ├─ run_robustness.py 稳健性跑批 + 基准对比 ├─ ai_review.py / ai_screening.py / ai_plan.py AI 三线 CLI 入口 │ ├─ src/ 核心源码(策略无关) │ ├─ backtest/ 回测引擎(engine / broker / cost / metrics / 对比 / 稳健性) │ ├─ strategies/ 策略基类 · 管道组合 · 内置策略 · 通用组件库 · 脚本机械检查 │ ├─ indicators/ 指标与信号计算(六层体系等) │ ├─ factors/ 因子研究(表达式引擎 / point-in-time / 因果审计) │ ├─ ml/ ML 防泄漏管线(purge / embargo 切分) │ ├─ portfolio/ 组合优化器(等权/均值方差/风险平价/因子中性) │ ├─ ai/ AI Agent(工具函数 · playbooks · 三线 · 决策护栏) │ ├─ data_sync.py Parquet 批量同步 │ ├─ tdx_data_source.py 通达信 tqcenter 数据源 │ ├─ trading_calendar.py 交易日历 │ └─ portfolio_health.py 组合健康度检查 │ ├─ strategies_user/ 用户脚本与外部策略(dinapoli/ 等) ├─ webui/ WebUI(server.py 后端 + static/ 原生单页 SPA) ├─ docs/ 文档与 ADR(0001~0011) ├─ tests/ pytest 测试 ├─ tools/ 工程脚本(git_commit / 方案B 对拍 / 因子验证) ├─ data/ 配置 · 本地行情 Parquet · 运行态数据 └─ output/ 回测产物 · 交易日志 · 复盘/选股/计划报告 ``` --- ## 📊 项目规模
| 维度 | 规模 | |:---|:---| | 全量测试 | **1961 passed** · 4 skipped(2026-09-11 全量基线;当前收集 **2045 项**,2026-10-11) | | API 端点 | **108 个**路由(回测/对比/动态/历史/策略/脚本/组件/AI/账户/组合健康/配置/日志) | | 管道组件注册表 | **74 个**(六层 + 帝纳波利 + 通用组件库 + 用户生成组件) | | WebUI 页面 | **14 个**(原生 HTML/JS + ECharts,零构建链) | | 架构决策档案 | **11 篇** ADR(`docs/adr/0001~0011`) | | 仓库 | [Gitee](https://gitee.com/Clark_Liu/tidal) · main 分支 |
--- ## 🗺️ 演进时间线
展开完整时间线(2026.07.05 起)
**2026.07.05 — 潮水,以自己的名字涌起。**
**2026.07.30 — 策略组件化,管道闭环。**
**2026.08.01 — 通用组件库落地,策略可拼装。**
**2026.08.10 — 方案B 行为对齐,经典降级为兼容层,策略统一为组件。**
**2026.08.11 — A-F 六刀落地(历史搜索/标签 · 交易日志CSV · 组合健康 · 动态管道 · 组件库+5 · 评估报告转组件)+ 复制策略/添加组件。**
**2026.08.12 — AI 生成组件中文名修复,全量测试首次 0 failed(1262 passed)。**
**2026.08.13 — 借鉴 daily_stock_analysis 落地 AI 决策信号闭环(观点命中率 · 决策护栏 · 大盘护栏)+ 数据源熔断器 + LLM fallback 模型链 + max_tokens 自动解析(修复 DeepSeek 长对话空回复)。**
**2026.08.25 — 借鉴 quantitative_analysis 落地(执行假设可审计 · 因子因果审计测试 · 组合优化器+AI 接入 · 因子表达式引擎 · 只读 SQL 双防线 · ML 防泄漏管线 · Point-in-time 基本面);修复信号广播 bug(信号列逐行因果)+ 类路径强制组件化 + pytest.ini 配置修复。全量测试 1655 passed。**
**2026.08.26-29 — WebUI 整体重构 v2:单文件原型拆为 `webui/static/`(index.html 壳 + js/core + js/pages 13 模块),后端 /ui 与 / 同源;AI 战绩页/持仓账户/组合健康/账户净值接真实接口。**
**2026.09.03 — ADR-0007 用户脚本主通道落地:策略创建从「AI 生成组件」切到「用户脚本 + 系统机械检查」(策略页📜策略脚本 · 契约模板 · script_check · 草稿/启用状态机 · script: 加载),AI 生成入口降级保留。**
**2026.09.07 — ADR-0008 脚本声明式纪律 MAX_POSITIONS(顶部声明、系统套壳机械裁剪超限新开仓);四轨脚本6号经外部 AI 两轮修正(强度排序/volume 化)审读通过。**
**2026.09.08 — AI 三线会话基准日改数据驱动 L(熬夜复盘/选股/计划不错位)+ 复盘半成品不落盘门槛 + ADR-0009 选股3.0「策略信号驱动」(本地全市场信号扫描为候选池唯一来源);组合健康/账户净值页修复。全量测试 1883 passed。**
**2026.09.10 — ADR-0010 报告确定性骨架四批落地:scan cap 服务端锁 100 + screening_profile 全名单形态画像 + market_snapshot 情绪口径聚合(连板=连续涨停天数,当日跨线缓存)+ mech/delta 机械分底座 + 报告 run#/superseded 链 + 决策信号完整性自动补持仓 hold;组合健康权重分母改占总资产口径。全量测试 1938 passed / 4 skipped。**
**2026.09.12 — 四轨因子组接通 EXPMA 体系;AI 战绩页补使用说明;修复图表"幽灵元素"。全量测试 1961 passed / 4 skipped。**
**2026.09.16 — 三线报告版式规范化(可读性);尾盘简报 token 预算优化;组合健康矩阵显示名修正。**
**2026.09.17 — 三线头部降级说明表格化;新增「日报简报」页;交易批次闸门(防误录成交价)。**
**2026.09.25 — 启动器修复:双候选 Python 路径(WorkBuddy 运行期搬 D 盘善后),跨机器启动链路恢复。**
**2026.09.28 — 桌面启动器致命语法错误修复(bat 块内括号转义)+ 启动链落盘追踪。**
**2026.09.29 — 启动脚本全 ASCII 化(避免 chcp 解析事故)+ 应用控制(SAC)拦截排查手册。**
**2026.10.08 — 账户净值惰性补点;`/init` 复核(工程说明书校核 + 计数修正 + 记忆归并)。**
**2026.10.09 — 启动自愈双车道(bat 内重试 + 隐藏看门狗兜底,判定只看端口 8000 是否真 LISTEN)+ 数据新鲜度端点 + 交易日历修复;`git_commit.py` 中文 pathspec 修复。**
**2026.10.11 — README 结构重构:目录导航 · 徽章 · 快速开始前置 · 项目结构图 · 时间线折叠。测试收集规模 2045 项。**
---
*Tidal 由 `six_signal` 仓库独立而来,与实盘脚本永久分家。* **不预测,只跟随。**