財務レポートで「スワップポイント」を見かけたり、危機の際に連邦準備制度が「スワップラインを開設した」というニュースを読んだことがあれば、同じ系統の概念に出会っています。では、通貨スワップとは何でしょうか。端的に言えば、二者が今日ある通貨を別の通貨と交換し、後日あらかじめ決めたレートで元に戻す契約です。企業の資金調達から中央銀行の緊急流動性供給まで、すべてこの一つの発想のバリエーションです。
このガイドでは「通貨スワップ」が指す3つのもの(FXスワップ、クロスカレンシースワップ、中央銀行スワップライン)を整理し、スワップポイントの計算を示し、Finexly APIドキュメントのライブレートで算出するコードを紹介します。
通貨スワップとは?
通貨スワップは2つのレッグ(取引)からなる契約です。近いレッグでは、二者が2つの通貨で金額を交換します。遠いレッグでは、後日同じ金額を元に戻します。遠いレッグのレートは事前に固定されるため、元本について為替リスクを負う当事者はいません。実質的には、一方の通貨を担保に他方の通貨を借りたことになります。
「スワップ」という言葉は幅広く使われるため、3つの商品を区別しておくと便利です。
- FXスワップ:スポット取引と逆方向のフォワード取引を組み合わせたもので、期間は通常オーバーナイトから数か月。
- クロスカレンシースワップ:数年に及ぶことも多い長期契約で、利払いも交換します。
- 中央銀行スワップライン:ある中央銀行が自国通貨を別の中央銀行に供給し、相手国の通貨を受け取る取り決め。
FXスワップ:スポットとフォワードの組み合わせ
FXスワップは、スポット取引とその反対のフォワード取引を1つの取引にまとめたものです。3か月間ドルが必要な欧州企業は、ユーロでドルをスポット購入すると同時に、3か月後に今日決めたレートでそのドルを売り戻す約束をします。
フォワードレートとスポットレートの差をスワップポイント(フォワードポイント)と呼びます。これは市場が相場の行方をどう見ているかという予測ではなく、2通貨の金利差から機械的に決まるもので、カバー付き金利平価と呼ばれる関係です。フォワードの復習にはスポットレートとフォワードレートのガイドをご覧ください。
スワップポイントの計算式
Forward = Spot × (1 + r_quote × d/360) / (1 + r_base × d/360)r_quote と r_base はそれぞれ決済通貨(クォート通貨)と基準通貨の年率、d は日数です(GBPなど365日基準の通貨もあります)。金利が高い通貨はフォワードディスカウント、低い通貨はフォワードプレミアムで取引されます。
FXスワップは外為取引高の中で群を抜いて最大の区分です。BIS三年毎調査では一貫して世界の1日平均取引高の約半分を占め、スポット取引を大きく上回っています。その多くは投機ではなく、金融機関による短期資金繰りです。
クロスカレンシースワップ:2通貨での資金調達と利払い
クロスカレンシースワップは期間が長く、2〜10年に及ぶことが多く、利払いも伴います。典型的な構造は次の3ステップです。
- 当初交換:スポットレートで元本を交換します。
- 期中の利払い:各当事者が受け取った通貨に対して、通常は四半期または半年ごとに利息を支払います。
- 満期の再交換:当初のスポットレートで元本を戻します。
典型例:米国企業がドイツに工場を建てたいとします。現地でユーロを借りると高くつく一方、本国ではドルを安く借りられます。そこでドルを借り、銀行とのスワップでユーロに替え、銀行にユーロ利息を支払い、ドル建てローンを賄うドル利息を受け取ります。結果として、直接借りるより実効コストが低いユーロ資金を得られる場合があります。
クロスカレンシー・ベーシス
理論上、カバー付き金利平価はスワップが金利差だけで値付けされると説明します。実際にはさらにクロスカレンシー・ベーシスと呼ばれるスプレッドが加わります。世界的にドル資金需要が強まるとベーシスが拡大し、スワップ経由でドルを調達するコストが上がります。ドル資金調達のストレス指標として注目され、2008年と2020年3月に大きく拡大しました。
中央銀行スワップライン
中央銀行スワップラインは、同じ二重構造を国家レベルで行うものです。連邦準備制度が外国の中央銀行に米ドルを供給し、その中央銀行は同額相当の自国通貨を、その時点の市場レートでFedに渡します。外国の中央銀行は受け取ったドルを自国の銀行に貸し出します。満期には同じレートで取引が巻き戻され、外国の中央銀行が利息を支払います。
巻き戻しは当初のレートで行われるため、Fedは為替リスクを負いません。この仕組みは、海外のドル不足が世界的な市場ストレスに発展するのを防ぐためのものです。Fed、ECB、イングランド銀行、日本銀行、カナダ銀行、スイス国立銀行の間には常設の取り決めがあり、危機時には他の中央銀行にも臨時のラインが提供されました。また、中国人民銀行(PBOC)は数十の中央銀行と二国間スワップ協定を結んでおり、主に人民元建ての貿易決済を支えています。
開発者にとって、スワップラインのニュースはレートを急変させ得ます。為替変動への対処ガイドで、アプリを堅牢にする方法を確認してください。
ライブレートでFXスワップを評価する
暗黙のスワップポイントを計算してみましょう。まずFinexlyからライブのスポットレートを取得します。
curl "https://api.finexly.com/v1/latest?base=EUR&symbols=USD&apikey=YOUR_API_KEY"Python
import requests
API_KEY = "YOUR_API_KEY"
def get_spot(base: str, quote: str) -> float:
r = requests.get(
"https://api.finexly.com/v1/latest",
params={"base": base, "symbols": quote, "apikey": API_KEY},
timeout=10,
)
r.raise_for_status()
return r.json()["rates"][quote]
def forward_rate(spot, r_quote, r_base, days, basis=360):
return spot * (1 + r_quote * days / basis) / (1 + r_base * days / basis)
spot = get_spot("EUR", "USD") # USD per 1 EUR
r_usd, r_eur = 0.045, 0.025 # example annual rates: replace with your source
fwd = forward_rate(spot, r_usd, r_eur, days=90)
points = (fwd - spot) * 10_000 # swap points in pips
print(f"Spot: {spot:.4f} 3M forward: {fwd:.4f} swap points: {points:.1f}")上記の金利は例示用です。本番ではトレジャリーのデータソースやSOFR、€STRなどの参照金利を使ってください。未決済スワップの時価評価では、遠いレッグの含み損益は 金額 × (現在のフォワード − 契約レート) です。契約レートは完全な精度で保存し、丸めと小数桁数のガイドに従ってください。
JavaScript
const API_KEY = "YOUR_API_KEY";
async function swapPoints(base, quote, rQuote, rBase, days) {
const res = await fetch(
`https://api.finexly.com/v1/latest?base=${base}&symbols=${quote}&apikey=${API_KEY}`
);
const { rates } = await res.json();
const spot = rates[quote];
const fwd = spot * (1 + (rQuote * days) / 360) / (1 + (rBase * days) / 360);
return { spot, fwd, points: (fwd - spot) * 10000 };
}
swapPoints("EUR", "USD", 0.045, 0.025, 90).then(console.log);留意すべきリスク
- カウンターパーティリスク:相手が債務不履行に陥ると元本が戻らない恐れがあります。担保契約でリスクを抑えられます。
- ベーシスリスク:長期スワップの期間中にクロスカレンシー・ベーシスが不利に動く可能性があります。
- ロールオーバーリスク:長期資産の資金調達に短期FXスワップを使うと、繰り返しの更新が必要で、市場が混乱するとコストが膨らみます。
- オペレーショナルリスク:日数計算の慣行の誤りや古いレートは評価ミスにつながります。キャッシュはAPIキャッシュとエラー処理のベストプラクティスに沿って適切に使いましょう。
よくある質問
通貨スワップを簡単に言うと?
今2つの通貨を交換し、後日あらかじめ合意したレートで元に戻す契約です。一方の通貨を借りながら他方を貸すイメージです。
FXスワップとクロスカレンシースワップの違いは?
FXスワップは通常短期で元本のみを交換します。クロスカレンシースワップは長期で、期間中の利払いも交換します。
中央銀行スワップラインとは?
ある中央銀行が自国通貨を別の中央銀行に供給して相手の通貨を受け取る取り決めで、後者が資金繰りの逼迫時に自国の銀行へ貸し出せるようにするものです。
スワップポイントは将来の為替レートの予測ですか?
いいえ。2通貨の金利差を反映したもので、市場の予想ではありません。将来のスポットレートは高くも低くもなり得ます。
通貨APIでスワップポイントを計算できますか?
はい。APIがスポットレートを提供し、参照元の金利を加えれば、上のコードのようにフォワードポイントを計算できます。
ライブデータでスワップの評価を始めましょう
リアルタイム為替レートをプロジェクトに組み込む準備はできましたか?無料のFinexly APIキーを取得してください。クレジットカードは不要です。月1,000件の無料リクエストから始め、成長に合わせて料金プランにアップグレードできます。コーディング前に通貨換算ツールでレートを確認することもできます。
Explore More
Vlado Grigirov
Senior Currency Markets Analyst & Financial Strategist
Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...
View full profile →