想法理解 起点:2026 年第一个交易日 10:00,按本应用推荐算法选股并模拟买入 1000 股。 之后每个交易日 15:00:按推荐算法决定「加仓 1000 股」或「清仓」。 终点:跑到现在(最近一个交易日),看整体盈亏。 我的看法(想法 + 注意点) 优点:用同一套推荐逻辑做「历史回放」,能检验「体系最强战法」在 2026 年至今这段区间的表现,且规则清晰(每日一次决策:加仓 or 清仓)。 需要事先约定: 10:00 的“推荐”用哪天的数据:当前应用是「收盘后全景扫描」,没有 10:00 的实时扫描。回测里通常用前一交易日收盘后的扫描结果当作「当日 10:00 的推荐」是合理做法。 合理 15:00 的加仓/清仓用哪天的推荐:同样用前一交易日收盘后的扫描即可,和 10:00 一致,避免未来数据。 用当天中午的全景扫描数据 价格:10:00 买入用当日开盘价近似,15:00 加仓/清仓用当日收盘价(没有分钟数据时的常规做法)。 用当时的实时价格 选哪只股买入:若当日多只「买入」,需要规则(例如只买一只:选推荐分最高或触发信号最多的;或按资金等权多只各 1000 股)。建议先做单只(例如全市场只选一只最强的「买入」),再扩展。 先做单只 实现方案(分步) 第一步:数据与时间范围 交易日历:2026 年第一个 A 股交易日(大概率是 2026-01-02)到「最近一个交易日」,只算交易日。 K 线:依赖现有 stock_kline_daily 或能拉到的历史日 K,保证「每个交易日 T」都有 T-1 及之前 的日 K(用于 T 日 10:00/15:00 的推荐都用 T-1 收盘后的逻辑)。 价格: 当日 10:00 买入 → 用该日 open; 当日 15:00 加仓/清仓 → 用该日 close。 第二步:每日逻辑(与现有推荐一致) 10:00(模拟) 用 T-1 收盘 的 K 线跑 detect_all_signals → 得到 signal_status / indicators。 对全市场(或当前关注的股票池)用 compute_recommend(..., is_holding=False),筛出 display_text == '买入'。 若当前无持仓:按约定规则选 1 只(或 N 只)买入,记录以 T 日 open 价买入 1000 股。 若已有持仓:可约定 10:00 不再新开仓,只做 15:00 的加仓/清仓(或也允许 10:00 新开,需你定)。 15:00(模拟) 仍用 T-1 收盘 的扫描结果,对当前持仓用 compute_recommend(..., is_holding=True)。 若得到 加仓 → 按 T 日 close 加仓 1000 股。 若得到 卖出 → 按 T 日 close 全部清仓(只清该只,若多只则逐只按推荐处理)。 其他(持有/观望等)→ 不加仓、不清仓。 这样「推荐」和现有应用完全一致,只是按日回放。 第三步:实现形式建议 脚本:单独回测脚本(如 backtest_recommend_2026.py),不改现有交易/扫描逻辑,只读历史 K 线、按日调用 detect_all_signals + compute_recommend,并维护「持仓、成本、每次买卖价格与股数」。 输出: 每日:日期、持仓、当日 10:00 操作(若有)、15:00 操作(加仓/清仓/无)、所用价格、累计盈亏。 最后:总收益、总收益率、最大回撤、交易次数等(可先做总收益和收益率)。 第四步:需要你拍板的点 选股:多只「买入」时是「只买一只(哪只?)」还是「多只各 1000 股」? 资金:是否要设总资金上限(例如只允许同时持有 1 只,或最多 N 只)? 清仓后:下一日 10:00 是否立刻可以再按推荐新买 1000 股,还是要有冷却/限制? 历史 K 线:stock_kline_daily 是否已有 2026 年至今的数据;若没有,是否允许用 AKShare/麦蕊等按需拉取并落库后再回测? 小结 想法:用 2026 首个交易日 10:00 起、每日 15:00 按本应用推荐做「加仓 or 清仓」的回测,是可行且和现有算法一致的。 方案:用「前一日收盘扫描 + 当日 open/close」做价格与推荐,写独立回测脚本,逐日调用现有 detect_all_signals 与 compute_recommend,统计盈亏。 下一步:你确认上面四个「选股/资金/清仓后/历史 K 线」的偏好后,我可以按这个方案写出具体回测脚本设计(含目录、入参、输出格式和伪代码),再落到你项目里的具体文件和调用方式。