金融工具:存储型与即席型
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 会按剩余本金比例缩放,而久期、凸性和收益率
则与缩放无关(scale-invariant)。所提供的 amount_value 被解释为当前剩余名义本金。
可赎回债券
添加一个由 { date, price } 组成的 calls 数组(即每 100 面值对应的赎回价格)。当你以价格方式
对可赎回债券报价时,设置 options.yield_worst: true 即可同时获得最差收益率(yield-to-worst)
(即到期收益率与各赎回收益率中的 min)。参见 指标。
浏览存储型目录
# 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 参考。