安装并认证
请使用 Node 22 或更高版本。在 NARWHAL_API_KEY 环境变量中设置你的 API 密钥。让 SDK 只在服务器端运行,切勿在浏览器代码中放置密钥。请按快速入门完成设置。
// npm install narwhalapi
import { Narwhal } from "narwhalapi";
// Reads NARWHAL_API_KEY from the server environment.
const nw = new Narwhal();获取最新收益率曲线
请求美国 2 年期和 10 年期的 USA 收益率。响应包含 date、curve_type 和 yields,其中每一项都有 maturity 和 yield_percent。十进制值以精确的字符串形式返回,例如 "4.25"。参见收益率曲线参考。
const curve = await nw.economics.yieldCurve("USA", { maturity: ["2y", "10y"] }); console.log(curve.date, curve.curve_type); for (const point of curve.yields) { console.log(point.maturity, point.yield_percent); }读取每日历史
将 start 和 end 设置为所需的日期范围。迭代器会惰性地逐页读取每日历史,每页最多 1,000 个日期。此示例请求德国的 10 年期收益率。
for await (const day of nw.economics.yieldCurveHistoryIter("DEU", { maturity: ["10y"], start: "2026-01-01", end: "2026-03-31", })) { console.log(day.date, day.yields[0]?.yield_percent); }检查收益率曲线是否倒挂
用同一条曲线上的 10 年期收益率减去 2 年期收益率。差值为负表示曲线倒挂。仅在两个期限都存在时才计算。此示例为便于计算,将十进制字符串转换为数字。
const yieldOf = (maturity: string) => curve.yields.find((point) => point.maturity === maturity)?.yield_percent; const two = yieldOf("2y"); const ten = yieldOf("10y"); if (two && ten) { const spread = Number(ten) - Number(two); console.log(spread.toFixed(2), spread < 0 ? "inverted" : "not inverted"); }常见问题
可以使用哪些国家代码?
请使用 USA、GBR、DEU、JPN 或 CAN。每个国家都保留各自数据来源的曲线类型,因此可用期限和衡量口径各不相同。
十进制值是字符串还是数字?
十进制值以精确的字符串形式返回,例如 "4.25"。十进制输入同样必须是字符串;不接受数字作为输入。
可以跨国家比较相同期限吗?
请先查看各国数据来源的曲线类型和衡量口径。期限标签相同,并不意味着曲线可以互换使用。
发布于 。最近核查于 。