インストールと認証
Node 22以降を使い、APIキーを環境変数 NARWHAL_API_KEY に設定してください。SDKはサーバー側で使い、キーをブラウザのコードに入れないでください。セットアップはクイックスタートに従ってください。
// npm install narwhalapi
import { Narwhal } from "narwhalapi";
// Reads NARWHAL_API_KEY from the server environment.
const nw = new Narwhal();最新のイールドカーブを取得する
USAの2年債と10年債の利回りをリクエストします。レスポンスには date、curve_type、yields が含まれ、各エントリに maturity と yield_percent があります。10進数の値は "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ページあたり最大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年債利回りを引きます。スプレッドがマイナスなら逆イールドです。両方の年限がある場合にのみ計算してください。この例では、計算のために10進数の文字列を数値に変換しています。
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 のいずれかを使います。各国は独自の情報源のカーブの種類を持つため、利用できる年限と指標は異なります。
10進数の値は文字列ですか、数値ですか?
10進数の値は "4.25" のような正確な文字列で返されます。10進数の入力も文字列で渡す必要があり、数値は入力として受け付けられません。
国をまたいで同じ年限を比較できますか?
まず各国の情報源のカーブの種類と指標を確認してください。年限の表記が同じでも、カーブが互換になるわけではありません。
公開日: 。最終確認日: 。