基于 DolphinDB 构建收益率曲线与波动率曲面的最佳实践

本页说明收益率曲线与波动率曲面构建的重要性,并概览 DolphinDB V3.00.4 提供的市场数据构建函数与相关示例。

Source: https://dolphindb.cn/news/detail/434

What this page covers

技能认证特训营第二期报名活动 (cta)

页面顶部提供限时报名入口,并提示专属福利优惠。

新闻栏目与文章标题/日期 (navigation)

该区域呈现新闻栏目标识、文章标题与发布日期信息。

前言:曲线与曲面构建的重要性与 DolphinDB 新增函数概览 (product_overview)

本节说明曲线/曲面构建在金融工程中的重要性,并概览 DolphinDB V3.00.4 的新增构建函数。

债券收益率曲线构建:Bootstrap/NS/NSS 理论与示例 (how_it_works)

本节介绍债券即期曲线构建用途,涵盖 Bootstrap、Nelson-Siegel(NS)与 Nelson-Siegel-Svensson(NSS)方法,并提供示例代码。

单货币利率互换曲线构建:工具范围、Bootstrap 结果与示例 (how_it_works)

本节解释 IRS 曲线构建使用的金融工具范围,展示 CNY_FR_007 与 CNY_SHIBOR_3M 的 Bootstrap 构建对比结果,并提供示例代码。

外币隐含利率曲线构建:利率平价与 Bootstrap 示例 (how_it_works)

本节说明通过 FxSwap 与即期报价结合利率平价推导外币零息利率,并展示 USD_USDCNY_FX 构建结果与代码示例。

外汇期权波动率曲面构建:delta→strike、SVI/SABR 与示例 (how_it_works)

本节介绍外汇期权 delta-vol 报价转换到 strike-vol 的步骤,并说明 SVI 与 SABR 模型拟合及曲面示例与代码。

工具函数:curvePredict 与 optionVolPredict (feature_list)

本节给出曲线插值/预测与曲面波动率查询的工具函数用法示例。

总结与展望:后续迭代方向与支持范围 (misc)

本节总结教程并列出未来拟增加的曲线/曲面类型与标的品种支持计划。

参考文献 (misc)

本节列出与曲线构建、波动率微笑/曲面相关的参考资料。

附录:脚本下载 (misc)

本节提供教程对应的 dos 脚本下载链接。

Facts Index

Entity Attribute Value Confidence
技能认证特训营第二期status正式开启(限时报名,享专属福利优惠)medium
技能认证特训营第二期限时报名urlhttps://www.qingsuyun.com/h5/e/217471/5/high
基于 DolphinDB 构建收益率曲线与波动率曲面的最佳实践publish_date2025.12.23high
DolphinDB V3.00.4released_functions_count推出四个市场数据构建函数high
bondYieldCurveBuildersupported_modelsBootstrap/NS/NSShigh
bondYieldCurveBuilderpurpose债券收益率曲线构建high
bondYieldCurveBuilderdocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/b/bondYieldCurveBuilder.htmlhigh
irSingleCurrencyCurveBuildersupported_modelsBootstraphigh
irSingleCurrencyCurveBuilderpurpose单货币利率互换曲线构建high
irSingleCurrencyCurveBuilderdocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/i/irSingleCurrencyCurveBuilder.htmlhigh
irCrossCurrencyCurveBuildersupported_modelsBootstraphigh
irCrossCurrencyCurveBuilderpurpose交叉货币利率互换曲线构建(外币隐含利率曲线构建)high
irCrossCurrencyCurveBuilderdocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/i/irCrossCurrencyCurveBuilder.htmlhigh
fxVolatilitySurfaceBuildersupported_modelsSVI/SABR/Linear/CubicSplinehigh
fxVolatilitySurfaceBuilderpurpose外汇期权波动率曲面构建high
fxVolatilitySurfaceBuilderdocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/f/fxVolatilitySurfaceBuilder.htmlhigh
收益率曲线与期权波动率曲面构建importance是金融工程和定量分析的核心环节,为定价一致性、风险管理与交易决策提供基础medium
曲线构建误差影响impact微小误差可能导致数百万甚至数亿的定价偏差或风险误判low
市场与产品变化对曲线/曲面构建的影响driversLIBOR 向 SOFR 过渡与结构性产品复杂化使模型和技术更复杂且更重要medium
bondCalculatorusage_in_process用于根据样本券 YTM 报价计算债券全价(dirty)high
bondCalculatordocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/b/bondCalculator.htmlhigh
Bootstrap 债券即期曲线构建流程method_description从剩余期限最小样本券开始,基于 YTM 得到 dirty,调整即期利率使 npv 与 dirty 误差小于阈值以得到对应期限即期利率,迭代得到整条曲线high
2025-08-18 国债即期曲线对比(Bootstrap vs CFETS)max_error最大误差为 20Y 期限 0.4964 bp;所有期限误差均小于 0.5 bpmedium
债券收益率曲线构建data_source参考 CFETS 2025 年 8 月份国债收益率曲线构建基准债券列表并选取 2025 年 8 月 18 日收盘数据medium
Nelson-Siegel(NS)模型origin由 Nelson 和 Siegel 于 1987 年提出high
NS 模型参数parameter_setβ0, β1, β2, λ(其中 λ>0,τ=T-t)high
NS 模型参数含义:β0interpretation控制利率水平(level),对所有期限影响相同,变化使收益率曲线水平上下移动high
NS 模型参数含义:β1interpretation控制曲线斜率(slope),因子载荷单调递减,对短端利率影响较大high
NS 模型参数含义:β2interpretation控制曲线曲率(curvature),因子载荷先增后减,对中端影响较大high
NS 模型参数含义:τ/衰减速度interpretationτ 值越大衰减越快(描述 β1 与 β2 因子载荷衰减速度)high
NS 模型构建流程calibration_objective基于样本券 YTM 计算 dirty,使用假设即期曲线对债券定价得 npv,最小化目标函数以得到四个参数high
Nelson-Siegel-Svensson(NSS)模型originSvensson 于 1994 年在 NS 基础上改进,增加两个参数以多模拟一个 hump 形状high
NSS 模型构建流程relationship_to_NS与 NS 类似,仅即期曲线的解析式不同high
bondYieldCurveBuilder 示例reference_date2025.08.18(国债收益率曲线构建示例)high
bondYieldCurveBuilder 示例methods_usedmethod='Bootstrap';method='NS';method='NSS'high
irSingleCurrencyCurveBuilderexample_reference_date2021.05.26(示例中用于构建 CNY_FR_007 与 CNY_SHIBOR_3M 曲线)high
利率互换(IRS)definition交易双方在约定时期内基于相同名义本金与不同利率计算方式交换利息现金流,通常为固定与浮动利率交换且不交换本金high
单货币利率互换曲线构建instrument_types_includedDepo、FRA、Futures、Swapshigh
国内市场单货币 IRS 曲线构建selected_instruments选取 Depo 和 Swaps 作为构建工具,采用 Bootstrap 方法high
2021-05-26 CNY_FR_007 曲线对比error_vs_benchmark与国内某大型机构的基准即期利率对比,误差几乎为零medium
2021-05-26 CNY_SHIBOR_3M 曲线对比max_error误差最大为 1M 期限的 1.0539 bp;其余期限误差均小于 0.5 bpmedium
irSingleCurrencyCurveBuilder 示例(例1)curve_namecurveName="CNY_FR_007"high
irSingleCurrencyCurveBuilder 示例(例1)day_count_conventionActual365high
irSingleCurrencyCurveBuilder 示例(例2)target_curve以人民币计价、参考 SHIBOR_3M 浮动利率的利率互换曲线high
外币隐含利率曲线构建importance_reason外汇产品定价需要输入两种货币的即期曲线以表示各自资金成本high
外币隐含利率曲线构建instrument_types_includedFxSwap 与 CrossCurrencySwaphigh
国内市场外币隐含利率曲线 Bootstrap 方法approach采用 FxSwap 与外汇即期报价,通过利率平价公式推导外币隐含利率曲线high
USD_USDCNY_FX 美元隐含收益率曲线示例reference_date2025.08.18medium
2025-08-18 USD_USDCNY_FX 曲线对比error_vs_cfets推导出的 Zero Rate 与 CFETS 官方美元即期利率高度吻合,误差几乎为零medium
irCrossCurrencyCurveBuilder 示例inputs_usedrefDate=2025.08.18;instTypes="FxSwap";ccyPair="USDCNY";spot=7.1627;dayCountConvention="Actual365";compounding="Continuous"(作为参数出现)high
外汇期权波动率曲面构建pricing_dependency外汇期权定价需要波动率;单个期权波动率需要按执行价与剩余期限从波动率曲面插值high
外汇期权市场报价形式quote_convention采用 delta-vol 报价而非 strike-vol;曲面构建第一步为 delta 转 strikehigh
delta→vol 计算(示例公式)sigma_25csigma_25c = sigma_atm + bf_25 + 0.5 * rr_25high
delta→vol 计算(示例公式)sigma_25psigma_25p = sigma_atm + bf_25 - 0.5 * rr_25high
delta→vol 计算(示例公式)sigma_10csigma_10c = sigma_atm + bf_10 + 0.5 * rr_10high
delta→vol 计算(示例公式)sigma_10psigma_10p = sigma_atm + bf_10 - 0.5 * rr_10high
delta→strike 转换method根据 Black-Scholes 的 delta 公式反推 strike(细节参考文献[5])high
SVI 模型inventor由 Jim Gatheral 提出high
SVI 模型变量定义k_definitionk=ln(K/F)(k 为对数 moneyness;K 为行权价;F 为远期汇率)high
SVI 模型变量定义omega_definitionω(k)=σ^2_imp × T(ω 为总方差;σ^2_imp 为隐含波动率平方;T 为到期时间)high
SVI 参数含义parameter_meaningsa(最小总方差/基准水平)、b(倾斜)、ρ(对称性,取值[-1,1]且通常为负)、m(中心位置)、σ(宽带)high
SVI 参数求解方法calibration_method可用 Levenberg-Marquardt 等算法最小化目标函数以求得五个参数high
SABR 模型参数parameter_setα, β(取值[0,1]), ρ, υ(vol-of-vol),并使用 K(行权价), F(远期汇率), T(到期时间)high
SABR 参数求解方法calibration_method采用 Levenberg-Marquardt 等算法最小化目标函数以求得四个参数high
USDCNY 外汇期权波动率曲面示例reference_date_and_method以 CFETS 2025 年 8 月 18 日 USDCNY 外汇期权 delta 报价矩阵为参数,使用 SVI 模型拟合波动率微笑并得到波动率曲面,可用于外汇期权定价medium
fxVolatilitySurfaceBuilder 示例key_inputsrefDate=2025.08.18;ccyPair="USDCNY";quoteNames=["ATM","D25_RR","D25_BF","D10_RR","D10_BF"];quoteTerms 从 1d 到 3y;spot=7.1627;输入 domesticCurve 与 foreignCurvehigh
curvePredictpurpose获取任意时间的曲线值high
curvePredictdocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/c/curvePredict.htmlhigh
curvePredict 示例输出curvePredict(curve, 2025.10.18)output: 0.0156high
curvePredict 示例输出curvePredict(curve, 1.0)output: 0.0160high
optionVolPredictpurpose获取指定时间与执行价时曲面上的波动率high
optionVolPredictdocumentation_urlhttps://docs.dolphindb.cn/zh/funcs/o/optionVolPredict.htmlhigh
optionVolPredict 示例输出optionVolPredict(surf, 2025.10.18, 7)0.035427722673281(在输出表格中)high
optionVolPredict 示例输出optionVolPredict(surf, 2025.10.18, [7.1,7.2])7.1: 0.029466799513362;7.2: 0.029268084254983(在输出表格中)high
后续迭代方向planned_additions增加更多曲线/曲面构建函数:商品远期曲线、CDS 信用利差曲线、商品期权波动率曲面等medium
irSingleCurrencyCurveBuildercurrent_support目前仅支持 CNY_FR_007 和 CNY_SHIBOR_3Mhigh
irSingleCurrencyCurveBuilderplanned_support后续会增加 USD_SOFR / EUR_ESTR 等曲线medium
收益率曲线与波动率曲面构建role_in_quant中间市场数据是定价与风控前提,也为量化策略提供帮助(提及参考[6])low
附录脚本downloadcurve_volsurf_builder.doshigh
curve_volsurf_builder.dosurlhttps://docs.dolphindb.cn/zh/tutorials/script/curve_surface_builder/curve_volsurf_builder.doshigh