真正有用的,不是让 AI 报股票,而是把选股想法变成可检验的公式
正文约 6000 个汉字 · 6 张公开网页截图 · 含公式、提示词与回测骨架
图 1|DeepSeek 官网首页。图片来源:deepseek.com,2026 年 10 月 24 日访问
说明:本文讨论工具与方法,不推荐任何证券,不承诺收益。市场有风险,决策需独立完成。
先说结论
DeepSeek 负责把模糊想法写成规则,通达信负责用真实数据检验;人负责决定这条规则是否值得相信。跳过中间任何一步,最后都容易变成“AI 给了一段代码,我拿它赌明天”。
▍ 一、先把误会拆掉:DeepSeek 不是行情软件
很多人打开 DeepSeek,第一句话就是:“帮我选三只明天能涨的股票。”
这句话看似直接,实际把最难的部分藏了起来。它默认 AI 知道今天的盘口、你的风险承受能力、你准备拿几天、什么价格算买贵了,也默认“上涨”可以被语言预测。现实里,这些条件一个都没有给清楚。
DeepSeek 的长处是读长文、理逻辑、写代码、做归纳。它不是交易所,也不是券商终端。默认情况下,它拿不到你的实时行情,不知道你自选股里有什么,更不会自动读取你的账户。即使打开了联网搜索,搜索结果也不等于完整的逐笔成交、盘口挂单和全部公告。把“聊天框”当“交易按钮”,方向从一开始就偏了。
通达信补的,恰好是另一半。它负责本地行情、历史数据、公式计算、条件选股和盘中预警。DeepSeek 负责把一句模糊的判断,改写成一段可以落地的规则;通达信负责把这段规则放进真实数据里跑一遍。一个像会写说明书的助手,一个像装满数据的实验室。两者拼在一起,价值不在“AI 报代码”,而在“人能把自己的想法说清楚,并且接受检验”。
▍ 二、这套组合真正解决的,是三件苦活
第一件苦活,是把“我觉得它会涨”翻译成条件。什么叫强?是收盘价创二十日新高,还是涨幅超过百分之五?什么叫放量?是成交量比昨天多,还是超过五日均量的一半?这些话在人脑子里是感觉,写进公式就必须变成数字。DeepSeek 最擅长做的,就是追问并且补齐这些含糊处。
第二件苦活,是写第一版代码。通达信公式不算难,但函数名、标点、输出格式、复权方式,对没有编程经验的人仍然是一道门槛。让 DeepSeek 先写草稿,人再到公式编辑器里测试,通常比自己从空白框开始快得多。
第三件苦活,是找反方观点。一个策略最怕的不是亏一次,而是你只看见它成功的那几次。可以让 DeepSeek 专门扮演挑刺的人:未来函数在哪里?样本是不是太短?有没有把停牌和涨跌停算进去?行情好和行情差时,信号数量差多少?这种“自己跟自己抬杠”的过程,比再多问十遍“哪只票能买”更有用。
角色
该做的事
不该做的事
DeepSeek
拆解条件、写公式草稿、解释报错、设计核验清单、做反方审查
代替行情终端、预测明天涨跌、替你下单
通达信
提供本地行情、公式计算、条件选股、历史阶段选股、预警
自动保证公式有效、替你做仓位管理
使用者
定义问题、核对数据、判断逻辑、控制风险、承担结果
把 AI 的输出当成投资建议
▍ 三、最稳妥的入口:让 DeepSeek 写通达信公式
如果你不打算写 Python,也不想折腾接口,先从通达信自带的公式系统开始。官方帮助写得很清楚:公式管理器用 `Ctrl+F` 打开,条件选股用 `Ctrl+T` 调用。这个入口适合大多数普通投资者,因为所有计算都发生在本地软件里,不需要把持仓和账户信息交给任何模型。
图 2|通达信官方帮助中的公式管理器入口,菜单同时标出了 `Ctrl+F` 与 `Ctrl+T`。图片来源:help.tdx.com.cn
实际操作顺序并不复杂:
1. 先补数据。打开通达信的盘后数据下载,把日线数据补齐。公式写得再漂亮,本地没有足够的历史 K 线,选出来的结果也会残缺。
2. 按 `Ctrl+F` 打开公式管理器,在左侧选择“条件选股公式”,再选一个分类,点击“新建”。
3. 给公式起一个能看懂的名字,例如“二十日新高放量”。不要把名字写成“必胜”“稳赚”这种情绪词,过几周你自己都分不清它到底在测什么。
4. 把 DeepSeek 生成的源码粘进编辑区,先点“测试公式”。测试通过只代表语法没错,不代表逻辑正确。
5. 保存后按 `Ctrl+T` 进入条件选股,选中刚建的公式,再设置选股范围和执行日期。
6. 不要急着看结果。先挑十只你熟悉的股票,把公式画到 K 线上,一根一根核对信号出现的位置。
图 3|通达信官方帮助中的“新建条件选股公式”界面,包含公式名称、公式类型、编辑区和测试按钮。
▍ 四、给 DeepSeek 的提示词,不能只写“帮我选股”
有效的提示词要像给同事交代任务,而不是许愿。至少要交代四件事:你要找什么形态,允许使用哪些函数,哪些情况必须排除,输出成什么格式。
下面这段可以直接修改后使用:
提示词模块
要写清楚的内容
角色
让模型明确自己是通达信公式助手,不是投顾
任务
把选股想法改写成条件选股公式,而不是直接报股票
约束
只用常见函数,禁用未来函数和跨周期,英文标点,一个最终输出
交付
代码、逐行解释,以及三种最容易让公式失真的情况
DeepSeek 可能会给出类似下面的一版。先说明,这只是教学示例,不是买卖建议:
N:=20;
M:=5;
突破:=CLOSE>REF(HHV(HIGH,N),1);
放量:=VOL>MA(VOL,M)*1.5;
趋势:=MA(CLOSE,20)>MA(CLOSE,60);
非ST:=IF(NAMELIKE('S'),0,1) AND IF(NAMELIKE('*'),0,1);
XG:突破 AND 放量 AND 趋势 AND 非ST;
这段代码不长,但每一行都对应一个可以被质疑的判断。`REF(HHV(HIGH,N),1)` 取的是昨天往前二十天的最高价,刻意把今天排除在外;如果写成 `HHV(HIGH,N)`,今天的高点也进了计算,突破条件就会变得含糊。`VOL>MA(VOL,M)*1.5` 只说明今天比过去五天平均量多五成,不代表主力进场。`MA(CLOSE,20)>MA(CLOSE,60)` 只描述趋势方向,不保证后面还有空间。至于排除 ST,只是把一类特殊交易规则先拿开,不是提高胜率的魔法。
这就是人必须参与的地方。AI 可以把句子翻译成代码,却不能替你判断这个句子值不值得相信。
▍ 五、第二次提问,专门让 DeepSeek 找漏洞
第一版公式出来后,不要马上拿去做选股。把代码原样发回去,再问一轮:
请以量化研究审计员的身份审查下面这段通达信公式。
重点检查:未来函数、跨周期引用、复权口径、停牌、涨跌停、ST、新股、
数据不足、参数过拟合。请逐项指出可能出现的问题,并给出修改建议。
不要直接给我新的股票代码。
这一轮往往会暴露很多第一版看不出来的坑。比如公式里用了当天的收盘价,却假设当天收盘就能成交;比如把五日均量当成全天数据,却忽略了盘中信号会变化;比如用前复权价格计算历史信号,却拿不复权价格计算收益;再比如选股范围里混进了上市不足六十天的新股,均线还没形成,结果自然失真。
还可以让 DeepSeek 给出三个反例:什么情况下这个公式会连续发出信号却没有后续?什么情况下它完全选不到股票?什么情况下它看起来有效,其实只是因为某一年行情特别好?能回答这些问题,才算真正开始研究。
▍ 六、如果你的通达信支持量化接口,可以再往前一步
公式选股适合快速筛选,但要做更细的统计,单靠软件界面不够。通达信官方提供了量化平台,部分版本带有 `PYPlugins/user/tqcenter.py`。它的作用是把本地行情和公式计算能力开放给 Python 调用。注意,这不是所有版本都默认具备的能力,先在自己的安装目录里确认文件是否存在,再决定要不要走这条路。
图 4|通达信量化平台官方文档中的盘后数据下载与 Python 调用说明。
官方示例的写法大致如下,模型名、字段和权限请以你本机文档为准:
from tqcenter import tq
tq.initialize(__file__)
df = tq.get_market_data(
field_list=["Open", "High", "Low", "Close", "Volume"],
stock_list=["600000.SH"],
start_time="20200101",
end_time="20251231",
period="1d",
dividend_type="front",
)
print(df.tail())
这段代码真正的价值,不是“AI 能炒股”,而是把行情变成了可以检查的数据表。你可以让 DeepSeek 帮你写读取、清洗、计算和画图的代码,但第一步永远是核对:行数对不对,最后一天是不是最新交易日,复权方式和客户端显示是否一致,停牌日有没有被错误填充。
如果本机没有 TQ 接口,也别硬折腾。通达信本身有“数据导出”功能,可以把当前屏幕或指定品种的行情导出为文本或表格文件。不同版本的菜单名称略有差异,常见路径在“系统”菜单下。导出时要注意,默认可能只导出当前窗口可见的 K 线,想覆盖更长时间,需要先把图表缩放到足够多的历史数据,或者使用高级导出并确认日期范围。
拿到导出文件后,可以让 DeepSeek 根据前五行内容写一个稳健的读取脚本:
import pandas as pd
path = "你的导出文件.txt"
raw = pd.read_csv(path, sep=None, engine="python", encoding="gbk")
raw.columns = [str(c).strip() for c in raw.columns]
print(raw.head())
print(raw.shape)
print(raw.tail(3))
不要小看这三行检查。很多人后面算出一堆漂亮结果,最后发现文件只导出了半年,或者把成交量单位当成了股数,或者把日期列读成了字符串。数据错一寸,结论能错一丈。
▍ 七、回测不是“选出来看看涨没涨”
条件选股给你的是“某一天符合条件的一批股票”,不是一套完整策略。要验证它,至少还要回答:哪天买,哪天卖,买得到吗,卖得掉吗,交易成本是多少。
一个最朴素的验证骨架是这样:
df = df.sort_values("date").reset_index(drop=True)
# 信号在收盘后确认,次日开盘买入,持有 5 个交易日后收盘卖出
df["buy_price"] = df["open"].shift(-1)
df["sell_price"] = df["close"].shift(-6)
df["trade_return"] = df["sell_price"] / df["buy_price"] - 1
# 只统计有信号、能买入、能卖出的样本
trades = df[df["signal"] & df["buy_price"].notna() & df["sell_price"].notna()].copy()
print("信号数:", len(trades))
print("平均收益:", trades["trade_return"].mean())
print("胜率:", (trades["trade_return"] > 0).mean())
print("最大单笔亏损:", trades["trade_return"].min())
这只是计算骨架,不是可以直接上实盘的交易系统。真实检验还要补上手续费、印花税、滑点、停牌、涨跌停无法成交、除权除息和复权口径。更重要的是,必须留出一段样本外时间。比如用 2021 年到 2023 年调参数,用 2024 年到 2025 年验证;不能在全样本上反复调到最好看,再拿同一段样本吹成绩。
看结果时,别只看胜率。一个策略胜率百分之七十,但每次赚一块、亏十块,照样可能亏钱。至少要同时看信号数量、平均收益、收益中位数、最大回撤、换手率、交易成本和不同年份的稳定性。样本少于一百笔时,所谓胜率很容易被几笔偶然交易带偏。
▍ 八、通达信里最该警惕的,是“未来函数”和“跨周期”
未来函数不是玄学。它的意思是:公式在计算今天这根 K 线时,用了今天还不可能知道的信息。最典型的例子是引用未来价格、未来高低点,或者用会来回重绘的转向函数。这样写出来的曲线往往特别漂亮,因为它在“事后看图说话”。
通达信官方函数列表会直接标注一部分未来函数。例如 `DHIGH`、`DOPEN`、`DLOW`、`DCLOSE`、`DVOL` 都被说明为不定周期数据,属于未来函数。实际写公式时,`REFX`、`ZIG`、`PEAK`、`TROUGH`、`BACKSET` 这类函数也要格外小心。它们不是绝对不能碰,但绝不适合拿来做“看到信号就能买”的历史验证。
图 5|通达信官方函数列表明确标注部分不定周期函数“属于未来函数”。
另一个隐蔽的坑是跨周期引用。通达信官方文档在讲小周期引用大周期时明确提醒:跨周期时可能引用到未来数据。原因不复杂,周线要到周五收盘才最终确定,你在周三用“本周周线”做判断,很容易把还没走完的一周当成已经完成的事实。回测里看起来百发百中,实盘里信号却会变。
还有一个常见误区,是把“历史阶段选股”当成严谨回测。它可以帮助你回看某一天哪些股票符合条件,但如果没有统一买卖规则、成本模型和样本外验证,它仍然只是筛选,不是策略评估。把筛选结果当成净值曲线,是很多人自欺的开始。
▍ 九、一套普通人周末就能跑完的流程
如果你不想把这件事做成工程项目,可以按下面这套流程走。它不轻松,但比“问 AI 要三只票”靠谱得多。
第一步,选一个你愿意解释给朋友听的问题。不要写“找强势股”,改成“最近二十天创出新高、成交量放大、均线向上的股票,在未来五天有没有超额收益”。问题越具体,后面越容易验证。
第二步,让 DeepSeek 把问题拆成条件,要求它给出每个条件的含义、可能的误判和替代写法。不要接受“这个条件很有效”这种没有出处的结论。
第三步,把条件写成通达信公式,在公式管理器里测试,再挑十只股票做肉眼核对。看信号是不是出现在你以为的那一天,看行情软件显示的成交量和公式用的成交量是不是同一口径。
第四步,把符合条件的股票和历史日期导出来,用 Python 或表格做一次最简单的统计。先算次日开盘买入、五日收盘卖出的平均收益,再算扣掉成本后的结果。不要先画净值曲线,先看原始交易明细。
第五步,做三次敏感性检查:把持有期从五天改成十天,把放量倍数从 1.5 改成 1.2,把选股范围从全市场改成沪深主板。结果如果稍微改一个参数就完全变脸,说明它很可能只是拟合了某段行情。
第六步,留出四周只观察、不实盘。每天记录信号数量、事后五天表现和你自己的判断偏差。四周后再问自己:我是在验证策略,还是在给已经想买的股票找理由?
这套流程跑完,你大概率会发现一个不太浪漫的事实:AI 让你更快地写出了第一版,但真正耗时的部分,仍然是定义问题、清洗数据和承认错误。
▍ 十、合规边界:自己研究和卖“信号”是两回事
用 DeepSeek 和通达信做个人研究,和把公式包装成收费荐股产品,是两种完全不同的行为。证监会公告〔2012〕40 号对“荐股软件”有明确界定:如果软件提供具体证券品种的投资分析意见、价格走势预测、品种选择建议、买卖时机建议,并向投资者销售或提供、直接或间接获取经济利益,就可能落入证券投资咨询业务的监管范围。没有相应资格,不能靠卖“AI 选股神器”赚钱。
判断自己有没有踩线,可以先问三个问题:
• 有没有给出具体证券、明确买卖点,或者收益承诺?
• 有没有向不特定对象收费,或者用会员、课程、社群变相收费?
• 有没有把模型生成的内容包装成持牌投顾的专业意见?
三个问题里只要有一个答案是“有”,就不要急着发布或售卖。先把工具说明、风险提示和内容边界补齐,必要时咨询专业人士。
图 6|证监会公告〔2012〕40 号,国务院公报转载页面。
这条边界对内容创作者同样重要。你可以讲方法、讲公式语法、讲怎么验证;但把模型输出的具体股票说成“明天必涨”,再引导别人付费跟单,风险就不是技术风险了。更不要把自己的账户密码、券商登录信息、身份证照片和完整持仓贴进不明来源的“AI 炒股工具”。模型不需要这些,骗子才需要。
如果只是自己用,建议尽量把数据留在本地。通达信的公式计算本身就在本地完成,DeepSeek 只处理你主动贴过去的公式和脱敏后的统计结果,这样既降低泄露风险,也减少把“模型猜测”混进真实数据的机会。
▍ 十一、几个最常见的问题,提前说清楚
第一个问题:公式明明测试通过,为什么一只股票都选不出来?
先别怀疑代码。先看本地历史数据够不够长。公式里用了六十日均线,结果本地只下载了三十根 K 线,计算结果当然是空值。再看选股日期是不是非交易日,或者选股范围是不是只勾了一个很小的板块。还有一种常见情况,是你把条件写成了“今天必须同时满足所有条件”,而现实中这几个条件本来就很少同时出现。可以先把条件拆开,一次只留一个,看看每一步各能选出多少只股票,再逐条加上去。
第二个问题:一选就是几百只,根本看不过来怎么办?
这通常不是公式写错了,而是条件太宽。真正该做的不是马上加五个限制把它压到十只,而是先想清楚你要解决什么问题。若只是复盘,几百只可以接受;若要做交易,就必须有排序规则,比如按成交额、波动率、离均线距离排序。通达信的条件选股更擅长回答“符合还是不符合”,不擅长替你判断“哪一只更好”。不要为了让结果好看,硬塞进一堆只对历史样本有效的过滤条件。
第三个问题:客户端选出十只,Python 算出来只有七只,谁错了?
大概率两边用的数据口径不一样。查四件事:K 线数量是否相同,复权方式是否相同,停牌日怎么处理,公式参数有没有默认值。通达信客户端条件选股往往会使用本地全部可用数据,而程序里如果只取了最近两百根 K 线,长周期指标就会缺值。官方量化文档也专门提醒过,计算结果不一致时先检查 K 线数量。另一个容易漏掉的点是,客户端显示的“信号当天”可能用的是收盘后数据,而你的程序在当天开盘前就做了判断,这属于时间对齐错误,不是模型能力问题。
第四个问题:盘中预警一闪一闪,收盘后又消失了,是怎么回事?
先检查公式有没有用未来函数,再检查它是不是用了当天尚未走完的成交量、最高价和最低价。盘中最后一根 K 线没有收盘,价格和量都在变,任何依赖“今日最终值”的条件都会闪烁。解决方式不是把预警刷新频率调快,而是把信号确认时间放到收盘后,或者明确接受“盘中只是提醒,收盘再确认”。如果一个策略只能在盘中看到、收盘就消失,它不适合拿来做历史验证。
第五个问题:回测曲线很漂亮,实盘却完全不是那回事,问题通常在哪?
最常见的差距来自成交假设。回测里假设信号出现后一定能按开盘价买入,实盘里可能一字涨停买不到;回测里假设收盘一定卖得掉,实盘里可能停牌或者跌停。还有人只算了股票涨跌,没算佣金、印花税和滑点;或者把当天的收盘价当成当天可以成交的价格。把买卖时间往后推一根 K 线,把涨停、跌停、停牌和成本都加进去,很多“神策略”会立刻现原形。这不是坏事,越早现原形,越少交学费。
第六个问题:能不能让 DeepSeek 同时看财报,再用通达信选股?
可以,但要小心时间顺序。财报有披露日期,不能因为 2025 年年报里写着 2024 年的数据,就在 2024 年年初拿它选股。正确做法是以公告披露日为可用时间,把财务字段按日期对齐,再做筛选。可以用 DeepSeek 帮你整理财报要点、生成对比表,也可以让它写通达信的财务条件,但每一步都要回到原始公告核对。模型读错一个单位,可能就把“万元”看成“元”,最后选出来的公司完全变样。
▍ 十二、它到底改变了什么
过去,一个普通投资者想把选股想法做成规则,常常卡在三件事:不会写公式、不会清洗数据、没人反驳。DeepSeek 把前两件事的门槛压低了一些,第三件事则可以用多轮质询问出来。通达信则提供了真实行情和本地计算能力。三者合在一起,普通人才有机会完成一次像样的“假设、实现、验证、复盘”。
但 AI 没有改变投资的底层规律。收益来自企业盈利、估值变化、风险承担和交易纪律,不来自一段看起来很聪明的代码。公式可以帮你缩小观察范围,不能替你承担回撤;模型可以帮你写止损逻辑,不能在你手抖时替你按下卖出;历史数据可以告诉你过去发生了什么,不能保证下一次还这样发生。
所以,DeepSeek 加通达信最合理的用法,不是让 AI 直接告诉你买什么,而是把一句话变成一条可检验的规则。DeepSeek 负责把话说明白,通达信负责把话放进历史里检验,你负责判断这句话值不值得下注。
如果只能记住一句话,我希望是:先有规则,再有公式;先看样本外,再谈实盘。
热门跟贴