工具:已儲存 vs. 臨時(stored vs ad-hoc)
emrgex 以一件事來區分**已儲存(stored)工具與臨時(ad-hoc)**工具:該債券是否已存在於目錄中。
| 定義位置 | 現金流時間表 | 估值 | |
|---|---|---|---|
| 已儲存 | 在目錄中(以 id 引用) | 已持久化(發行人的時間表) | 每次呼叫重新計算 |
| 臨時 | 在你的請求中內嵌 | 由各項特徵產生 | 每次呼叫重新計算 |
無論採用哪種方式,價格、殖利率、存續期間、凸性與應計利息都不會被儲存——它們會在每次請求時,依工具的慣例,從時間表重新計算。
工具欄位
當你定義一個臨時工具(或檢視一個已儲存工具)時,這些是相關欄位:
| 欄位 | 是否必填 | 備註 |
|---|---|---|
id | 是(臨時) | 你在請求中對該工具的引用 |
rate_type | 是 | NOMINAL / EFFECTIVE / AT_MATURITY / PRICE_QUANTITY |
day_count | 是¹ | FpML/ISDA 名稱;PRICE_QUANTITY 不使用 |
coupon_type | 否 | FIXED(預設)或 ACCRUAL |
frequency | 是² | 每年票息次數 |
start | 是 | 發行/首次計息日 |
maturity | 是 | |
coupon_rate | 否 | 年度票息率,以小數表示(0.06 = 6%) |
face_value | 是 | 通常為 100 |
unit_nominal | 否 | 最小可交易面額;會將推導出的名目金額取整 |
eom | 否 | 月底滾算(end-of-month roll) |
ex_div_days | 否 | 除息天數 |
amortizations | 否 | { date, amount } 的陣列——見下文 |
calls | 否 | { date, price } 的陣列——使該債券成為可贖回債券 |
¹ 除 PRICE_QUANTITY 外皆為必填。² AT_MATURITY / PRICE_QUANTITY 會強制將 frequency 設為 1。
攤還型債券
加入一個 { date, amount } 的 amortizations 陣列(每個日期償還的本金)。攤還型債券以目前流通在外面額報價(市場標準):價格與 DV01 會依流通在外比例縮放,而存續期間、凸性與殖利率則具尺度不變性。所提供的 amount_value 會被解讀為目前流通在外的名目金額。
可贖回債券
加入一個 { date, price } 的 calls 陣列(每 100 面額的贖回價格)。當你以價格為可贖回債券報價時,將 options.yield_worst: true 設定為啟用,即可同時取得最差殖利率(yield-to-worst)(即到期殖利率與各贖回殖利率中的 min)。參見 Metrics。
瀏覽已儲存目錄
# list instruments (filterable, paginated)
curl "https://calc.dev.emrgex.com/v1/admin/instruments?issuer=Hacienda&limit=20"
實用的篩選條件(皆為選填,以 AND 組合):rate_type、day_count、calculation_code、currency、issuer(子字串)、name(子字串)、q(搜尋 id/nemo/isin/issuer/name)、amortizing、callable、maturity_from / maturity_to、coupon_min / coupon_max,以及 sort、order、limit、offset。limit=0 只回傳總筆數。參見 API reference。