阅读说明: 文中的指数点位用于说明一次历史工程错误,不代表当前价格、投资观点或收益预测;真实错误样本不等于全系统验证。
系列归属:金融科技与合规(主) · AI 工程研发实践(兼) · 系统架构与工程观点(兼)
许多投资问答的第一道防线是“给数字加来源”。但真实研发中更难发现的错误,恰恰发生在正确数据已经进入模型之后:资料是真的、时间窗口也给了,模型最后却写出了另一组数值,语言仍然像一份完整的研究报告。
我们的 ETF Agent 曾有过这样的真实记录:某个指数年度低点在已取得的 2025 年收盘价序列中是 3589.44,模型回答却写成 3722.51。更矛盾的是,文章另一处回撤计算已经使用过 3589.44。事后复查证明两张已读取的收盘表均含 243 条 2025 年交易日数据;错误出现在模型解释与组织最终答案的过程,而不是据此可以直接认定 Runtime 把正确行情吞掉了。
这个案例真正值得分享的不是指数点位,而是有来源、会计算、能写报告,是三层独立能力。
一、金融数值首先要回答“这是谁、哪天、用什么口径算的”
“今年最低价”至少存在几个未说出口的条件:今年是自然年还是滚动一年,时间按交易所本地日还是用户所在时区,使用收盘价还是盘中最低价,是否复权,有没有停牌或缺失记录。
在基金研究里,同一个问题还可能是基金净值、指数价格、ETF 二级市场成交价或跟踪指数的收盘点位。即使数值来自真实供应商,只要把对象或时间窗换了,算术完全正确也会得出用户不需要的答案。
因此我们逐步把金融数据看成一组带身份的事实:instrument、字段、观察时间、样本窗口、供应商和缺失状态。引用标签能帮助回到来源,但它不能自动证明模型对时间条件的理解正确。
二、真实失败告诉我们:错的不一定是数据链路
那次错误最初很像典型的“上下文太长导致数据丢失”。我们自然会想加大窗口、重新读取、增加工具调用次数。然而,复查原模型请求与记录后,正确的 3589.44 不但存在于已取得数据里,还被模型在另一处采用。
由此可以排除一个过早结论:不能仅凭最终答错,就说 Runtime 没有把数据交给模型。 也不能反过来,因为看到了正确值,就说整篇分析没有问题。
后来一次独立计算交接能够把数值纠正为 3589.44,却错误地把表格 hash 当成可引用的来源 ID。计算准确了,引用链反而没有正确成立。再下一次真实复验里,模型部分引用变成合法身份的短前缀;系统没有偷偷把前缀“猜成”完整引用,而是保留未核验状态。
三个现象分别落在不同位置:数值解释、计算产物转交、引用身份。把它们统一称为“幻觉”,会让研发动作失去方向。
三、我们为什么坚持可复算,而不是依赖多模型投票?
对于平均值、回撤、相关性、区间极值这类确定性运算,重复问三个模型“你确定吗”不等于独立核验。若三次请求消费的是同一份错误口径,结果一致还可能增加错误自信。
更可靠的方式是对已取得且获准的结构化数据执行明确运算,并把计算窗口、字段和输出绑定在一起。例如计算一个日收盘序列的年度最低值,必须先把日期窗口限定到对应交易年,然后在非空收盘价上求最小值,并保留对应日期。用于价格与回撤的调整口径应另行声明,不可把两个序列混用。
graph TD
UserQuestion --> DefineMarketObject
DefineMarketObject --> FreezeDataWindow
FreezeDataWindow --> AuthorizedSource
AuthorizedSource --> StructuredCalculation
StructuredCalculation --> ClaimReview
ClaimReview --> PublishedNumbers
这里的运算工具不应顺便决定“这个组合值得买”,它只负责在限定输入上提供可复核数值。模型继续负责解释意义、比较条件和不确定性;输出出现与运算结果不同的数字时,应具体定位到哪项主张,而不是让程序尝试理解全文“投资建议是否正确”。
四、真实金融来源不是一个万能认证印章
一份基金招募说明书可以证明产品的跟踪目标或费用条款在其文档时点怎样表述,但不能证明今天基金的二级市场价格;某个指数官网可以提供指数编制或当期样本数据,却未必能证明私人账户买卖行为。
所以来源治理除了“读过没有”,还要明确来源权力范围。在我们自己的受控数值链路中,私人持仓的权威不能从公开网页上一串碰巧相同的金额自动获得;公开文件的引用,也不能替代私人组合风险计算需要的实际持仓和时间窗口。
金融输出常有多种“真”同时存在:官方公告是事实,历史收盘数据是事实,计算结果是派生事实,用户实际投资盈亏又是另一条账本。将它们放到同一个看起来专业的 PDF 里,不会让它们天然互相验证。
五、别让一篇漂亮报告替一个未完成的研究盖章
截至我们这轮记录,自主组合研究仍有整题 partial、部分来源/计算与正常 HTML 交付未完成的情况;个别专项获得了可复核计算或文件交付,只能按其范围记账。即使后面能做到所有引用完整、数值再现,预测收益与投资建议质量仍需要独立验证,投资回报更不可能由这些工程回归直接推出。
这就是为什么金融 AI 的验收不能只问“是否给出一篇答案”。更应该抽出几条决定结论的数值,按原问题的对象、日期、取数口径和计算方式让它由工具重新算出来;再看模型是否忠实解释了那个结果。
在金融研究里,专业表达很便宜,把数字正确地带过每一道交接并让别人复算,才是难以靠文风替代的工作。我们已经有了部分工程实践,也依然保留那些未被证明的质量结论。这比把一份格式漂亮的报告宣布为“已验证”更值得信任。
延伸阅读与交流
本文也整理进了工程手记,欢迎到独立阅读站阅读本篇,结合目录、架构图和前后篇连续阅读。
系列文章与图文资料整理在 GitHub 仓库。如果这篇文章对你有帮助,欢迎点个 Star 支持,也欢迎通过 Issues 交流问题。
本文由 AI图鉴自动抓取并翻译,版权归原作者所有;如需查看原文请点下方链接。
Read: The index points in the text are used to describe a historical engineering error that does not represent current prices, investment views or income projections; the real error sample is not equivalent to a system-wide validation.
Series attributed to: Financial Technology and Compliance (main) AI Engineering Research and Development Practice (joint) Systems Architecture and Engineering Perspective (joint)
The first line of defence for many investment questions and answers is “to add a number of sources”. But even more difficult to discover in real research and development is when the correct data have entered the model: the information is true, the time window is given, and the model ends with another set of values, and the language is still like a complete study.
Our ETF Agent had a true record of an index's annual low point in the bid sequence of 2025, 3589.44, and the model answer was 3722.51. Paradoxically, the other retraction calculation in the article has been used 3589.44. The ex post facto review proved that the readout forms contained 243 transaction date data for 2025; the error occurred in the process of model interpretation and the organization ' s final answer, rather than the direct conclusion that Runtme swallowed the correct pattern.
What is really worth sharing in this case is not index points, but sources, computing, reporting and three levels of independence.
I. Financial values begin with the answer: “Who, when, and by what calibre”
There are at least a few unspecified conditions for “minimum prices this year”: Whether this is a natural year or a rolling year, at the local day of the exchange or at the time of the user's time zone, using the closing price or the lowest price on the disk, whether the rights are duplicated, whether the cards are suspended or missing.
In the Fund ' s study, the same issue may also be the entry point of the Fund ' s net value, index price, ETF secondary market offer or tracking index. Even if the values were derived from the real supplier, the correct arithmetic would give the answer that the user does not need if the object or the time window is changed.
Thus, we are gradually looking at financial data as a set of identity facts: instrument, field, observation time, sample window, supplier and missing state. Reference to labels can help return to the source, but it does not automatically justify the model ' s understanding of time conditions.
ii. True failure tells us that data links are not necessarily wrong
The error initially resembled the typical “too long context for data loss”. We naturally want to expand the window, reread and increase the number of tool calls. However, following a review of the original model requests and records, the correct 3589.44 exists not only in the data available, but also in the model being used elsewhere.
This precludes the premature conclusion that Runtme cannot simply say that he did not give the data to the model because of a final error. Nor can it be the other way around, because the correct value is seen, and the whole analysis is clear.
A subsequent independent run-off can correct the value to 3589.44, but wrongly treats the form Hash as a reference source ID. The calculation is accurate and the reference chain is not properly established. In the next real check, the model part references become a short prefix of legal identity; the system does not secretly “guess” the prefix as a full quote, but retains the unverified status.
Three phenomena are in different positions: numerical interpretation, transfer of computational products, and reference to identity. They are referred to as illusions, which deprives R&D of direction.
Why do we insist on recalculation rather than relying on multi-model voting?
For certain operations such as averages, fallbacks, correlations, intervalent extremes, it is repeated that the three models “Are you sure” do not amount to independent verification. If the three requests were for the same wrong calibre, the unanimous result could also increase false confidence.
More reliable is the implementation of clear calculations for the structured data obtained and approved and the binding of the computing window, field and the output. For example, the calculation of the annual minimum value of a day-receiving sequence must first limit the date window to the corresponding transaction year, then minimize the non-empty collection price and keep the corresponding date. The calibration used for price and fallback should be stated separately and the two sequences may not be mixed.
graph TD
UserQuestion --> DefineMarketObject
DefineMarketObject --> FreezeDataWindow
FreezeDataWindow --> AuthorizedSource
AuthorizedSource --> StructuredCalculation
StructuredCalculation --> ClaimReview
ClaimReview --> PublishedNumbers
The computing tool here should not be used to decide that “this combination is worth buying”, but only to provide a reviewable value on a limited input. The model continues to be responsible for explaining meaning, comparison conditions and uncertainty; when the output produces a number different from the result of the operation, the claim should be specifically located, rather than allowing the programme to try to understand the “correctness of the investment proposal” as a whole.
IV. True sources of finance are not a universal certification seal
A fund recruitment statement can prove how the target or cost clause of the product is expressed at the time of its documentation, but it cannot prove the Fund ' s secondary market price today; a network of index agents can provide indexing or current sample data, but it does not necessarily prove the sale of private accounts.
The source governance therefore needs to clarify the scope of the source's authority, in addition to “never read”. In our own controlled value chain, the authority of a private warehouse cannot be automatically obtained from a series of competing amounts on a public web page; nor can the reference to public documents replace the actual hold and time window required for the calculation of private portfolio risk.
There are often multiple “reals” of financial output: official announcements are true, historical collection data are true, calculations are derived from the fact that the actual investment gains and losses of users are another account book. Put them in the same seemingly professional PDF that doesn't naturally validate each other.
V. Don't let a beautiful report cover an unfinished study. Chapter
As of the time of this round of records, the autonomous portfolio study still has a whole set of issues, partial source/calculation and normal HTML delivery not completed; individual special-purposes have been provided with reviewable calculations or document delivery and can only be accounted for within their scope. Even if all quotes can be followed by full and reproducing values, the quality of forecast returns and investment proposals will need to be independently validated, and return on investment returns will be less likely to be rolled out directly from these projects.
That's why Finance AI's acceptance check can't just ask "Is there an answer?" It would be more appropriate to draw out the values of the decision conclusions and to recalculate them with the tools by the object, date, calibration and calculation of the original problem; then to see whether the model faithfully explained that result.
In financial research, professional expression is cheap, and it is difficult to replace the word with words that correctly bring the numbers through each of them and bring them back. We already have some engineering practice and still retain unproven qualitative conclusions. This is more credible than declaring a report in a beautiful format “validated”.
Extension reading and communication
This paper has also been collated into the project manual and is welcome to the independent reading site, which combines catalogues, charts and back-to-back readings.
A series of articles and graphics were organized in GitHub warehouse. If this article helps you, welcome some Star support, and welcome the exchange through Issues.
Auto-fetched and translated by AI Atlas. All rights belong to the original author.