交叉匯率說明

使用共用同一基準貨幣的兩個匯率計算交叉匯率,確認方向,並避免時間戳記不一致或過早捨入輸入值。

一頭白色獨角鯨觀察由小橋連接的三枚貨幣代幣。

兩個共用同一基準貨幣的匯率

假設範例快照顯示 1 USD = 0.80 EUR,且 1 USD = 120 JPY。若要計算一歐元值多少日圓,請將每 USD 可兌換的 JPY 匯率,除以每 USD 可兌換的 EUR 匯率。USD 單位會相消。

EUR 兌 JPY 的範例交叉匯率
120 JPY/USD ÷ 0.80 EUR/USD = 150 JPY/EUR
10 EUR × 150 JPY/EUR = 1,500 JPY

當單位已形成鏈條時相乘

相同輸入也可以重新排列。將每 USD 兌 0.80 EUR 的匯率取倒數,得到每 EUR 兌 1.25 USD,再乘以每 USD 兌 120 JPY 的匯率,同樣得到每 EUR 兌 150 JPY。

公式遵循單位,而不是適用於所有情況的「總是相乘」捷徑。基準貨幣相同,目標匯率除以來源匯率即可;若報價貨幣相同或方向混合,先將每個匯率寫成「每單位供給貨幣可收到的貨幣」。

謹慎反轉結果

每 EUR 兌 150 JPY 的反向匯率為每 JPY 兌 1/150 EUR,顯示時約為 0.00666667。換算金額時,請保留比這個縮短顯示值更多的計算精度。

一項實用檢查是:正值匯率乘以未捨入的倒數,應等於一。除以零、匯率缺失或數值非正值,都屬於無效輸入,而非貨幣換算結果。

取得相容的輸入

Narwhal 可以針對請求的基準貨幣回傳選定貨幣。以下請求取得相對於 USD 的 EUR 和 JPY;它不保證得到上述範例值。每筆回傳記錄都有自己的時間戳記和 stale 旗標。

請求兩種輸入貨幣
curl --request GET \
  --url "https://api.narwhalapi.com/v1/fx/rates/USD?currencies=EUR,JPY" \
  --header "Authorization: Bearer $NARWHAL_API_KEY"

同一回應可能包含不同的觀測時間

不要因為兩個匯率出現在同一個 HTTP 回應中,就假設它們來自同一市場時刻。由較早觀測值和較新觀測值組合出的衍生匯率具有混合的時間背景。

  • 比較輸入時間戳記和兩個 stale 旗標。
  • 依你的使用情境選擇可接受的時間差;沒有通用的門檻值。
  • 將兩個輸入觀測值與衍生結果一起保留。
  • 若以單一經過時間概括資料時效,請採用較舊的輸入值,並仍保留兩個時間戳記。

計算出的交叉匯率是指示性結果

相容的中間匯率或參考匯率可算出指示性交叉匯率,但不能據此確定可成交的交易價格。買賣價差、交易場所和觀測時間的差異,可能使另行報價的貨幣對匯率不同。

請保持匯率類型一致,避免在相除前先將每個匯率捨入。如果只需要換算金額,請透過文件所載的換算操作直接請求目標貨幣對,並保留回傳的匯率與時間背景資訊。

來源與參考

發布日期: 。最近審閱日期: 。