Loading...
Loading...
本页面以技术细节解释本网站上每个价格的来源、我们如何将其归一化为可比较的单位、使用什么公式计算溢价、如何缓存数据、上游来源失败时会发生什么,以及由此产生数字的局限性。这里没有任何隐藏的内容——如果您能阅读公式和数据源列表,您就可以自己重现我们的输出。
我们尽可能直接读取每个交易所。从单一全球现货价格推导"本地价格"会机械地使溢价归零,违背网站存在的意义。下面列出的是我们实际调用的内容。
到达管道的每个价格在存储和任何溢价计算之前都被转换为美元/盎司(USD/oz)。这是唯一的规范单位;仪表板和API内部仅以USD/oz传递值。换算系数是固定常量——1金衡盎司 = 31.1034768克,1千克 = 1000克,1托拉 = 11.6638克——位于`src/lib/calculations/`中,不会从任何外部源刷新。
SGE Au9999报价580人民币/克,USD/CNY = 7.20
(580 / 7.20) × 31.1034768 = 80.56 × 31.1034768 ≈ 2,506.40 USD/oz
KRX黄金报价105,000韩元/克,USD/KRW = 1,360
(105,000 / 1,360) × 31.1034768 ≈ 77.21 × 31.1034768 ≈ 2,401.50 USD/oz
JPX期近黄金报价12,400日元/克,USD/JPY = 155
(12,400 / 155) × 31.1034768 = 80.00 × 31.1034768 ≈ 2,488.28 USD/oz
SGE Ag(T+D)白银报价7,800人民币/千克,USD/CNY = 7.20
7,800 ÷ 1000 = 7.80 CNY/g → (7.80 / 7.20) × 31.1034768 ≈ 1.0833 × 31.1034768 ≈ 33.70 USD/oz
对于每个非美元价格,我们尽可能使用在同一上游响应中捕获的交叉汇率。当此项不可用时(例如,读取JPX CSV只得到日元/克而没有USD/JPY),管道会单独读取汇率层,并在结果上盖一个`fxTimestamp`。如果`fxTimestamp`与金属价格时间戳偏离超过60分钟,则该换算被标记为派生而非同步,仪表板会显式地以"derived"标签呈现。
在每个价格归一化为美元/盎司之后,市场`M`的溢价计算为相对于COMEX的简单百分比差:
正值表示本地市场比COMEX更贵(溢价)。负值表示更便宜(折价)。结果总是以两位小数表示。我们在显示前不进行平滑、平均或其他降噪处理——今天7.34%的溢价和明天1.20%的溢价都按原样显示。在跟踪器中隐藏波动性违背了其目的。
管道在两个时钟上运行。每日UTC 00:00的Vercel cron作业拍摄所有数据源的完整快照,并将其写入驱动历史图表的历史数据集。全天,仪表板和各市场页面从Vercel KV(Redis)缓存层提供服务,该缓存以懒模式预热:某个小时内对给定(市场, 金属)对的首次用户请求触发上游获取,结果在该小时剩余时间内缓存。后续请求命中缓存。
| 数据类型 | TTL |
|---|---|
| 现货价格(Metals.dev/GoldAPI) | 15 min |
| 汇率交叉 | 60 min |
| SGE报价 | 15 min (rejects sentinel values) |
| KRX报价(T+1) | 6 hours |
| JPX结算CSV | 每日,结算时间发布后 |
| 历史快照数据集 | 每日记录一次,从不覆盖 |
每个价格数据源都包装在严格的解析器中。解析器仅在以下情况下返回值:(a)上游调用成功,(b)响应形状与预期模式匹配,(c)数值通过合理性检查(黄金>1000美元/盎司,白银>10美元/盎司,并且没有像-2.0这样的哨兵值)。如果任何检查失败,解析器返回null,上层按以下顺序尝试回退:
关键规则:派生值绝不会被悄悄提升为"实时"。如果我们显示派生值,页面会告知您,并附上最后一次成功读取的时间戳。
COMEX、MCX、SGE、KRX和JPX都遵循不同的假日日历。在周末读取时,几个数据源会返回最近的收盘价或哨兵值;我们公开时间戳,而不是假装该值是实时的。
当COMEX活跃合约月份展期时(例如,黄金从2月→4月,白银从3月→5月),基准价格会因日历价差而短暂跳跃。我们在持仓量转移后手动展期,而不是在日历日期上展期,并在变更日志中宣布展期。
Ag(T+D)以人民币/千克报价,而Au9999以人民币/克报价。我们在转换为美元/盎司之前将白银除以1000。这个除数中的历史错误会导致白银溢价被放大1000倍;这一点已被记录以防止再次发生。
KRX提供的是上一交易日的收盘价,而不是日内报价。KRX卡片始终带有"T+1"标签和前一日的时间戳;将其与今天的COMEX数据进行比较是苹果与橙子的比较,页面会就此发出警告。
当前的JPX集成解析黄金结算CSV。我们不显示JPX白银,因为Tocom的白银合约流动性非常薄弱,由此产生的溢价噪音多于信号。
我们发布的溢价是批发、税前的比较。印度的15%进口关税和3% GST、英国对白银的20%增值税、中国对非SGE黄金的13%增值税——这些都不会加到显示的溢价中。希望推断零售价格的读者应查阅税收比较页面。
对数据源、转换系数或上述公式的任何更改都被视为方法论更改。每次更改上线时我们做四件事:(1)更新实时管道;(2)在同一发布中更新本页面;(3)在下面的变更日志中发布带日期的条目;(4)将该更改重新应用于过去30天的缓存快照,如果对任何市场的影响超过0.10%,则编写差异说明。历史图表数据从不会被悄悄重写;如果必须更正,则受影响的日期会带有明确的注释。
方法论只有保持准确才有用。如果某个数据源的形态发生变化、某税率已过时、合约月份已展期或某项翻译不准确,请通过联系页面告知我们。我们会回复每一项更正。