ChatGPT 分析 BTC 准不准?准确率测试怎么做
看到一张“ChatGPT 看多 BTC”的截图,先别急着数它猜对了几次。它看到的是哪个时点的数据?“看多”指一小时还是两天?价格没变算谁对?这些问题没定下来,准确率就没有统一的分母。下面从评分规则写起,用一张小表说明如何读结果。
1. 这套测试怎么做 #
先记录模型名称或版本、执行时间、完整提示词、输入文件、是否联网及联网返回的材料。模型拿不到当天行情时,只写“截至今天”并不能补上数据。应把带来源和截止时间的行情材料一并保存,让别人能看到它当时到底依据了什么。
如果要测未来 48 小时的方向,在结果发生前保存输出,等窗口结束再打分。拿过去的日期提问可能混入模型已经知道的后续事件;禁止联网也不能保证消除这类历史信息泄漏。提示词和阈值要先用早期数据确定,评估期不边看结果边改。时间序列的训练、评估顺序可参考 TimeSeriesSplit 文档;实际还要根据 48 小时标签窗口处理相邻样本的重叠。
一个可保存的输入格式:
记录编号:{ID}
数据截止时间:{UTC 时间}
材料:{行情数据、来源 URL、抓取时间}
任务:只依据所附材料,判断未来 48 小时的类别:上涨 / 下跌 / 震荡。
本次规则:涨幅大于 2% 为上涨,跌幅超过 2% 为下跌,其余为震荡。
输出:一个类别、理由及对应的材料编号;材料不足时明确说明。
不要补写材料中没有的实时价格、新闻或链上数字。
评分前固定起点价格 P₀ 与 48 小时后价格 P₄₈ 的来源、交易对、报价种类和取样时刻,用 r = (P₄₈ / P₀ − 1) × 100% 划分实际标签。这里的 2% 只是演示阈值,并非经过优化的交易参数:
- r > 2%:上涨。
- r < −2%:下跌。
- −2% ≤ r ≤ 2%:震荡,包含两个边界。
- 另记拒答、无效格式和事实核对结果。不能悄悄删掉拒答后只报剩余答案的准确率;应同时报告总请求数、有效分类数和覆盖率。
例如起点和终点都为 100,实际类别只能是震荡。如果规则让“看多”和“看空”也都得分,同一条记录就能证明三个相反判断都正确,算出的准确率没有比较价值。
2. 用 200 条虚构记录练习计分 #
假设有 200 条有效分类,按“预测类别”排成行、“实际类别”排成列。以下九个格子的数量是人为构造的,不来自模型调用。真实测试还需附可复查的逐条日志及无效输出计数。
| 预测类别 | 实际上涨 | 实际下跌 | 实际震荡 | 合计 |
|---|---|---|---|---|
| 上涨 | 58 | 20 | 19 | 97 |
| 下跌 | 17 | 23 | 22 | 62 |
| 震荡 | 10 | 6 | 25 | 41 |
| 合计 | 85 | 49 | 66 | 200 |
对角线相加得到 58 + 23 + 25 = 106,整体准确率为 106 / 200 = 53%。预测上涨的 97 条里有 58 条对,比例为 59.8%;预测下跌为 23 / 62 = 37.1%;预测震荡为 25 / 41 = 61.0%。这些是各预测类别的精确率,不是“实际上涨时识别出多少”的召回率。比如上涨召回率的分母应为 85,结果为 58 / 85 = 68.2%。
3. 53% 该和什么比较 #
这里有三个类别,不能直接把抛硬币的 50% 当基线。可以在评估前约定一个“每次都预测上涨”的简单对照;它在这张虚构表中会猜对 85 条,即 42.5%。如果按训练集的最多类别选择固定预测,也要先在训练集选好,再放到同一评估窗口计分,不能看到测试答案后才挑最好的一类。DummyClassifier 文档列出了这类简单对照的定义。
算例中的 53% 比这个对照高 10.5 个百分点,仅说明表内算术关系。没有真实记录,不能据此判断模型有效。真实测试还要报告日期范围、类别分布和误差;同一天反复提问、相邻 48 小时窗口共享行情,都可能使记录相关。200 条记录并不自动等于 200 个独立样本,因此不能不加检验就套用独立试验的置信区间。
重复提问测的是稳定性。另举一组独立的教学数字:25 组相同输入,每组问 5 次;其中 18 组至少有 4 次同方向,则这个“一致率”为 18 / 25 = 72%。剩下的 28% 只是未达到该门槛的组数比例,不能解释成“第五次反转的概率”。“涨、涨、涨、涨、跌”明明满足 4 次一致,第五次却不同。重复五次都答同一个错误,稳定性仍然很高。
方向判断和交易盈亏也要分开。分类表没有进出场价格、仓位、手续费、资金费和滑点,无法推出任何收益率。
4. 七类信息分别去哪核对 #
下面是核对清单,不是从 200 次实验里摘出的错误记录,也没有按发生频率排序。把输出中的事实拆成一条一条,比给整段文字一个“可信”标签更容易检查。
| # | 信息类型 | 需要留下的字段 | 核对材料 | 容易混淆的地方 |
|---|---|---|---|---|
| 1 | ETF 资金 | 基金名称、交易日、单位、统计口径 | 发行方披露及注明方法的资金流数据 | 净流入、持仓变化、成交额不是同一个数 |
| 2 | 链上转账 | 链、交易哈希、地址、区块时间 | 对应链的区块浏览器 | 转入交易所地址不直接证明已卖出 |
| 3 | 交易所上市 | 产品、交易对、开放时间、地区 | 交易所对应产品公告 | 现货上市不能替代合约上线证据 |
| 4 | 成交量 | 场所、交易对、计价币、时间窗口 | 交易所原始数据及其字段定义 | 单一交易对与全市场统计不可直接互换 |
| 5 | 均线突破 | 价格序列、周期、均线算法、截止时间 | 按相同数据重算指标 | 盘中触及和收盘突破有区别 |
| 6 | 宏观讲话 | 发言人、日期、原话及上下文 | 发布机构的原始文字或视频 | 新闻转述的语气不等于发言人的明确承诺 |
| 7 | 公司持币 | 公司、公告日、交易期间、数量 | 公司投资者关系公告或监管文件 | 公告日期不一定是实际买入日期 |
找不到来源,先标“未核实”,不要直接判它真实,也不要仅凭没搜到就断言事件不存在。若来源确实与输出冲突,再保留原句、来源和冲突字段,记为事实错误。这样别人才能复查你的标注。
5. 怎么验证 #
先查来源是否支持原句。网页能打开还不够,要看日期、单位和对象是否一致。新闻引用了另一篇报道时,尽量追到公告、数据表或原始讲话。
再把事实与推断分开。“某地址转账”是可查的记录,“持有人准备卖出”是解释。即使前一句正确,也不能替后一句完成验证。
最后复算可计算的部分。百分比、均线和仓位变化都应留下输入与公式。可以重复提问检查输出是否稳定,但多次回答一致不能替代独立证据。
6. 留下能复查的分析记录 #
这篇方法示例没有给出“ChatGPT 预测 BTC 的真实准确率”。要回答那个问题,需要先执行并保存一套明确的实验,再看它相对预先确定的基线是否有可重复的差异。一次方向猜对,也不说明其中引用的事实全对。
日常整理材料时,可以先让模型按下面的格式回答,再逐条核查。它的作用是让依据更容易查找,本文没有测过它能降低多少错误率。需要其他任务格式,可接着看 交易分析 Prompt 库。
材料:[逐条附来源、截止时间和数据] 请按三栏整理:材料中的事实 / 你的推断 / 尚缺的证据。 每条事实标出材料编号;不要添加材料外的实时数字。 涉及计算时写出输入和公式。 对每个推断给出能推翻它的证据条件。 材料不足的项目写“无法从所附材料确认”。
把输入、原始回答和核对记录留在一起。以后更换模型或提示词时,才能在同样的评分方法下比较,而不是凭两张风格不同的截图决定谁更准。
— PromptDeck,2026-09-24 修订