数据口径:实时价优先直接拉 Yahoo Finance(spark 接口,分两批,每批 ≤20 只,不走任何公共中转)。Yahoo 不返回跨域许可头,普通浏览器会拦截读取,直连失败时自动用新浪财经补(25 只美股 + 黄金 / 原油 / 铜,script 直连;黄金取 COMEX 标准合约 GC、原油取 NYMEX CL、铜取 COMEX HG 美分转美元,与微型合约同品种同价)。30 年美债 ZB / MWN 与天然气 NG 只有 Yahoo 有,直连被拦时只能走你自己的 Worker。美债以 32 分之一定价显示,如 108'120 = 108 + 12/32。SPCX(SpaceX)、CBRS(Cerebras)为非传统上市品种,按 Yahoo / 新浪标注口径显示;NBIS 为纳斯达克上市的 Nebius Group。
更新机制:页面打开时拉一次,之后每 5 分钟自动拉一次;页面一直开着才会更新,关掉后不跑。拉不到时显示上次成功的数据或截图基准价,并注明状态,不会用旧价冒充实时价。美股常规交易为北京时间 22:30–次日 05:00(冬令时),休市时段涨跌幅为上个交易日收盘值。
设置:自建 Worker(可选,留空就是纯直连)
页面默认不走任何中转,直接请求 Yahoo;直连被浏览器拦截时,用新浪补 25 只美股和金 / 油 / 铜。只剩美债 ZB / MWN 和天然气 NG 没有其他来源——想让这 3 个也稳定更新,就得由你自己的服务器去拉 Yahoo:把下面这段代码新建一个 Worker 部署,得到地址后填进输入框、点保存。这是你自己的服务器,不是公共中转。
export default {
async fetch(req) {
const u = new URL(req.url);
const target = u.searchParams.get('url');
if (!target) return new Response('missing ?url=', { status: 400 });
const r = await fetch(target, { headers: { 'User-Agent': 'Mozilla/5.0' } });
const h = new Headers(r.headers);
h.set('Access-Control-Allow-Origin', '*');
return new Response(r.body, { status: r.status, headers: h });
}
};
Worker 地址填这里(例如 https://xxx.workers.dev),保存后下次刷新即生效;留空则不用任何中转。