AI提取的股票交易规则可信吗:逐条检查是否能执行
对盈利股票交易的一段解释,还不是能够执行的策略。“动量强”“管理层好”或“有信心时买入”,都没有告诉计算者读取什么输入、输入何时可得,以及条件成立后采取什么动作。应先将候选解释整理成可复核规则卡,再允许它进入任何虚拟执行流程。
本指南审查一条人工提供的候选规则,只使用固定单只股票 A、美元与合成价格。没有调用模型,没有分析真实日志。程序验证有限的规则词汇,并把观察决策和下一期成交分开。这属于外部研究方法,不能据此宣称 CoTrading 已经通过 AI 提取、批准或部署策略。
候选解释与支撑证据分别保存
保留候选原文及其所依据日志的截止时间。如果实际由模型提出,应另存模型身份、提示、响应和来源引用,不能用清理后的规则替换原响应。本文由人工编写,因此明确记录 human_candidate=True、model_calls=0。这是实验来源的一部分,不应因为题目谈到 AI 就省略。
参考提取流程中的至少五笔盈利完整往返,只能作为输入条件。它不能证明候选解释得了亏损、没有入选的机会或未来观察。应明确标注赢家选择,并把这个限制带入后续测试。对挑选出来的赢家描述得很合理,与在其他机会中失败完全可以同时发生,人工确认不能消除选择偏差。
SEC、NASAA 与 FINRA 联合 AI 提醒建议核实基础信息,不仅依赖 AI 输出。本文把它落实为逐字段证据映射。该来源没有批准本文规则或盈利主张;下面的审批身份也只确认明确的解释,不能扩大成对投资能力的背书。
将条件写成可观察的规则卡
规则卡包含版本、回看长度、进入条件、退出条件、成交政策、数量、币种、篮子与审核身份。只支持 close_gt_previous_mean 进入,以及 close_lt_previous_mean 退出。回看长度为此前两期收盘价,当前收盘与其算术均值比较,相等时不改变状态。这些都是合成规则的明示设定,不是对原交易者心理的推断。
每个字段都需要输入来源:价格来自合成收盘数组,篮子来自提供的 A 列表,审核者是非空夹具身份。真实接入还需要证券主表、市场日历、价格调整政策与数据可得时间。不能因为本地规则卡有了全部键,就把这些外部依赖标成已确认,更不能让模型补造当时无法观察的消息。
解析器拒绝缺失或未知字段,也拒绝空审核人、布尔型回看长度、不支持的数量或币种,以及小词汇表之外的条件。若这里直接接受任意自然语言,就只是把解释问题推迟到执行时。应将被拒绝的措辞保留在审查卡,取得证据或新的明确解释后再建立版本,而不是默默按作者直觉运行。
决策时间与成交时间分开
使用第 t 期收盘形成的决策,最早只能请求本例第 t+1 期的开盘成交,不能用参与判断的收盘价回填同一期交易。输入的开盘与收盘数组长度一致,每个事件都记录决策索引和成交索引。时间关系因此能够直接核对,不藏在一个含糊的“交易日期”字段里。
最前两期收盘仅供历史。索引二此前的收盘为 100、102,均值为 101;当前收盘 105,因此空仓规则请求买入。合成成交取索引三的开盘 104。持仓后,索引三收盘 99,与此前均值 103.5 比较,触发索引四开盘 100 的卖出请求。这里没有使用未来收盘决定之前的买卖。
最终事件明确为买入 decision=2、fill=3、price=104,以及卖出 decision=3、fill=4、price=100。它们说明时间规则能够执行,不说明收益好。本例没有费用模型或资金账户;解释信号是否可负担、是否完成交易之前,仍需进入独立、有资金约束的虚拟账户回放。
未知信息必须有明确去向
候选 buy_when_confident 被拒绝,因为计算者没有可观察的信心输入及阈值。tomorrow_close_up 也被拒绝,因为它引用未来结果,而非支持的决策时点特征。即使离线测试程序看得到完整价格数组,这两类规则仍然不合格,不能把“数据就在文件中”当作当时可用的证据。
行情缺口是另一机制:把索引一的收盘替换为 None,需要它的两个决策都变成未知,程序不产生任何事件。没有插值、缩短窗口或跨过缺口编信号。之后若历史窗口完整,可以按相同冻结规则评价新的观察,但不能用后来齐全的数据倒改此前未知决策,把恢复后的认识写回过去。
程序还拒绝非有限或非正价格,检查先于条件比较,避免 NaN 让一个条件悄悄变成假。下一期开盘缺失时,小例子将决策保留为未解决,不生成成交。真实系统还需要待处理委托生命周期;本文没有实现这一层,也不能把未解决事件当成已经正常撤单或成功成交。
审查台账可以每个条件一行,同时保存原措辞、接受的运算符、所需观察、可得边界与审核结论。关于公司质量的判断需要带日期的来源和可测映射,不能从只有价格的导出继承确认。映射失败要阻断审批,不能放进被执行器忽略的脚注。若后来取得证据,应保留原未知结果,再记录新版本如何解决,而不是覆盖原先的缺口。
还要把信号状态写清楚:候选仅在空仓时允许买入,仅在持仓时允许卖出。因此相同的价格比较,在不同初始持仓下可以得到不同动作。交接观察实验时应附初始状态,避免把状态造成的信号差异误报成规则解释不一致。规则卡审核解决条件如何计算,资金账仍需独立决定买入数量是否可负担,不能由一次条件成立直接推断账户应当满仓。
运行并复核独立样例
下载完整示例,保存为 R639.py,用 Python 3.12 或更新版本执行 python R639.py。程序仅使用标准库和合成数组。断言检查两笔事件的索引与价格、模糊及未来条件拒绝、缺历史行为、无效审批字段以及非有限行情,无需账户凭据、网络服务或模型。
Python JSON 文档说明,读成结构化对象并不等于通过模式验证:默认解码可以接受重复名称和特殊非有限数。本例直接接收 Python 字典并显式验证约定;真实 JSON 导入器还需先决定如何拒绝重复键、格式错误和过大输入,不能让最后一个重复字段静默覆盖先前值。
输出审批范围为 USD:A,不是所有美元股票、所有交易时段或任意账户设置。将规则卡与实际输出一起封存,同时保留每个条件的证据引用。审核者一旦改变回看长度或解释,应生成新候选并重新运行,而不是在旧审批记录中直接修改,让两次不同解释看起来像同一个实验。
不用修改历史故事消除差异
如果可执行候选与原日志不一致,应保留差异。原买入可能依赖导出中没有的信息、主观判断或另一成交约定。不能一直调整回看长度,直到选出的赢家都吻合,再把这种拟合称为独立确认。将差异写入规则卡,指出缺少的证据,并把关于交易者行为的猜测与已接受的机械定义分开。现有记录不足以确定条件时,拒绝或未知就是正确交付,不需要硬补成一条规则。
将可执行候选交给独立观察
交付物是规则卡、未解决字段清单与人工确认版本。每个必需字段都应有已接受定义或阻断性的未知状态。附加评论可以保持描述性,但不能通过未记录的自由裁量分支影响交易。被拒绝的候选同样要留档,避免只剩最后一条成功通过校验的解释,无法追查搜索过程。
下一步应冻结未来观察区间,在核实篮子内收齐计划机会,包括亏损、无信号与缺行情,虚拟资金和股数与真实持仓分离。可执行只是研究前提,不代表经济有效性,不保证再出现五个赢家,也不授权券商复制。长期调度、真实提取器或产品集成在本文都没有得到运行验证。
常见问题
本例通过 AI 提取了规则吗?
没有。候选由人工提供,程序检查有限词汇及时间契约,明确记录模型调用为零。
人工确认意味着策略能盈利吗?
不能。确认只固定一种可复核解释,之后仍需独立未来观察和包含费用、资金约束的账户验证。