天智信号盘:让一条净值曲线,替我回答"选股到底准不准"
本文最后更新于 2026年6月20日 中午
做选股系统的人,迟早会遇到一个尴尬的问题:它选的票,到底准不准?
你跟着它买,赚了,是它选得好还是你操作得好?亏了,是它不行还是你拿不住?只要”人”还在回路里,这个问题就永远说不清。
这篇文章记录的,是我给自己的选股系统配的一个”裁判”——天智信号盘:一套完全不掺人工、自动盯盘择时建仓的 A股纸面交易系统。它的唯一使命,就是用一条客观的净值曲线,诚实地回答那个问题。
一、为什么需要一个”裁判”
我有一套叫 天智精选 的选股系统:每个交易日收盘后,从全市场算出当日的精选名单(多策略共振 + 资金面叠加,按综合分排序)。
问题是,名单选得好不好,一直靠”感觉”。我自己也会下场买,于是账户的盈亏里,混着”选股的功劳”和”我操作的功劳(或锅)”,根本分不开。
解决办法其实很朴素——把两件事彻底分开,各跑各的账:
- 「我的水平」:我自己的真实台账,我怎么操作它就怎么记。
- 「天智的水平」:一个独立的纸面账户,机械地照天智精选信号自动买卖,一点人工都不掺。
两个账户同一天、同样 50 万本金起跑,跑上几个月,两条净值曲线往一块儿一摆——谁强谁弱,一目了然。这就是天智信号盘的全部出发点:不证明”我”,只证明”信号本身”。
一个容易踩的坑:我一开始让纸面盘”镜像”我的手动操作(我买它也买)。后来才反应过来——这样它证明的还是”我”的水平,不是信号的。镜像盘是个伪命题,必须是纯信号盘。
二、信号从哪来:昨天的收盘,今天的行情
天智精选的名单是收盘后才算得出来的(要用当日收盘价算指标)。这带来一个时间差:
- 今天盘中,你能拿到的最新名单,其实是昨天收盘算出来的那批。
- 今天的名单,要等今天收盘后才有。
很多人会忽略这点,写出”用今天收盘价买今天名单”的回测——这是典型的未来函数,那个价你当时根本买不到。
天智信号盘老老实实遵守现实:
信号用上一交易日(收盘后算出的)天智精选,在今天的交易时段、按今天的实时行情建仓。
三、建仓时点之争:固定几点钟,是不可取的
最初我把建仓定在每天上午 10 点。很快就发现不对劲:
- 如果一只票低开高走,10 点买在相对低点,没问题;
- 如果它高开低走,10 点恰好买在早盘冲高的顶,后面一路阴跌——等于专门接盘。
一个固定时点的快照,分不清这只票今天是”越走越强”还是”冲高回落”。
所以建仓逻辑被推翻重做:不定死时点,开盘后持续盯盘,谁今天确实在走强,才买谁;不行就 PASS,全部 PASS(空仓持币)也完全可以。
这套”盯盘”由一个每分钟触发一次的引擎完成(A股 Level-1 行情约 3 秒一档,判断”今早是否走强”,一分钟的粒度绰绰有余,不需要秒级)。
四、决策链:六道闸,全过才买
每一分钟,引擎对候选票(昨日精选 Top10)逐只过闸。任何一条不满足,直接 PASS——不是”再观察”,是直接放弃这一分钟的它。
走强初筛(先用免费的实时报价快速筛)
- 现价 ≥ 今开(没高开低走)
- 现价在当日 (最高−最低) 区间的上 1/3(贴近当日高点 = 正在走强)
- 当日红盘(涨幅 > 0)
- 量比 > 1(放量)
四条硬规则(确认趋势与资金)
- 价格 > VWAP——趋势成立(VWAP 由成交额/成交量实时算出)
- 近 5 分钟成交量 > 当日均值的 1.2 倍——资金确认
- 当日涨幅 < 7%——避免在末端追高
- 近 5 分钟价格斜率 > 0——动量向上(对最近几根分钟价做最小二乘拟合)
资金面确认
- 昨日主力资金净流入 > 0——主力在买的票才考虑
第 5~8 这几条需要”时间序列”(5 分钟成交量、斜率),靠的是当天的分钟明细数据。一个工程上的小巧思:先用免费的实时报价过掉大部分(规则 5、7、9 几乎零成本),只有通过初筛的票,才去拉一次分钟明细算规则 6、8——把数据请求压到最少。
早盘的自我保护:开盘头几分钟分钟数据不足 6 根,无法计算 5 分钟趋势,引擎一律不买,自然把建仓延后到数据足够之后——这恰好就是”综合分析后再下手”。
五、仓位与出场:趋势在,就一直拿
仓位用等权:每只约 17%,总仓位封顶 85%(永远留 ≥15% 现金,满 5 只也不顶死)。下午若仓位没满,会把候选池扩展到精选第 11~30 名里今天走强的票补上。
出场则贯彻一个理念——持有期不是事先定的”线”,而是趋势的结果。趋势在就一直拿,趋势走坏才走。 所以没有”固定止盈”,也没有”持有满 N 天就卖”,取而代之的是:
| 出场信号 | 含义 |
|---|---|
| 止损 −5% | 保命底线 |
| 移动止盈(峰值回调 2%) | 让利润奔跑,从最高点回撤 2% 才走 |
| 跌出精选 | 信号转弱,换票 |
| 主力转负 | 主力资金由净流入转净流出 |
| 跌破 VWAP(仅限亏损票) | 亏损票又丢了当日均价 = 日内趋势破,早退;赢家不受影响,交给移动止盈管 |
最后两条,是从一份”数据模型设计”文档里提炼出来的——它提醒了我一个原本漏掉的维度:资金面。原先我只看价、量、动量,却忘了 A股 里”主力在不在场”往往才是关键。(那份文档里还有一堆 MySQL 全量入库、Redis、Kafka 之类的”架构升级”,对一个个人纸面盘纯属过度工程,果断没要。好的设计不是堆架构,是知道哪些不要。)
六、几个工程上的”坑”
把想法变成天天能自动跑的系统,魔鬼都在细节里:
- 谁来定时触发:纸面盘服务本身没有定时器,可靠的调度放在一个常驻容器的 cron 里。但 cron 最细只能到 1 分钟——想要秒级就得另起常驻进程,得不偿失,1 分钟够用。
- 一个差点全盘皆输的 Bug:定时任务用
curl --data "{}"发请求(不带Content-Type),结果被 Web 框架判成 body 解析错误(422),根本到不了业务逻辑——意味着每分钟的盯盘调用会全部静默失败。要不是上线前用”定时任务的精确发法”做了一次冒烟测试,这个坑会一直潜伏到第一个交易日。教训:冒烟测试一定要复刻真实调用方式,而不是你”以为”的方式。 - 节假日守卫:定时任务在工作日的法定节假日也会触发,而那天行情是”冻结”的——得有机制识别”今天到底是不是交易日”,否则会拿陈旧的价去误操作。(这条还在我的待办清单上。)
七、写在最后
天智信号盘现在长这样:
1 | |
它不一定能赚钱——任何选股在普跌或震荡市都会失灵。但它能做到一件更重要的事:用一条诚实的、不掺人情的净值曲线,告诉我”天智精选”这套选股,到底值不值得我用真金白银去跟。
在用真钱跟之前,先让数据说话。我觉得,这才是做交易系统该有的态度。
👉 欢迎光临「天智精选」 tianzhi.vgtmy.us.kg ,请提出宝贵意见。
本文仅记录个人系统的设计思路,不构成任何投资建议;文中系统为纸面模拟,不涉及真实下单。