Files
stock/验算.md
T
freedakgmail 9c7d7abdd4 Initial commit
2026-07-17 18:49:35 +08:00

55 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
想法理解
起点: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 线」的偏好后,我可以按这个方案写出具体回测脚本设计(含目录、入参、输出格式和伪代码),再落到你项目里的具体文件和调用方式。