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

文章提供标题、作者与发布日期等文章信息。

Source: https://dolphindb.cn/blogs/298

What this page covers

技能认证特训营第二期报名提示

页面顶部提供活动提示与限时报名链接入口。

基于 DolphinDB 构建收益率曲线与波动率曲面的最佳实践(文章信息)

页面给出文章标题、作者与发布日期信息。

前言与内置函数概览

阐述曲线/曲面构建的重要性,并列出 DolphinDB V3.00.4 提供的四个市场数据构建函数及模型。

债券收益率曲线构建

介绍即期曲线的用途,并说明债券收益率曲线从到期收益率到即期利率的构建方法与模型。

债券曲线:Bootstrap 方法

解释使用 Bootstrap 从债券价格/收益率推导即期利率的核心算法流程,并给出与 CFETS 曲线对比结果描述。

债券曲线:Nelson-Siegel(NS)模型

给出 NS 模型的参数含义、瞬时远期利率与即期利率关系,并描述通过最小化目标函数拟合参数的流程。

债券曲线:Nelson-Siegel-Svensson(NSS)模型

说明 NSS 在 NS 基础上增加参数以模拟更多 hump,并给出瞬时远期利率与即期利率形式及构建流程概述。

债券曲线构建示例(代码)

提供基于 2025-08-18 国债数据的 bondYieldCurveBuilder 使用示例,演示 Bootstrap/NS/NSS 三种方法调用。

单货币利率互换曲线构建概述

定义利率互换(IRS)及其定价所需的互换曲线,并列出构建所用市场工具类型。

单货币互换曲线:市场数据示意

展示用于单货币利率互换曲线构建的市场数据终端界面示意与说明。

单货币互换曲线:Bootstrap 结果与对比

说明国内市场选用 Depo 与 Swaps 的 Bootstrap 构建,并给出 CNY_FR_007 与 CNY_SHIBOR_3M 的对比结论与误差描述。

单货币互换曲线构建示例(代码)

给出 irSingleCurrencyCurveBuilder 的两段示例代码:CNY_FR_007 与 CNY_SHIBOR_3M。

外币隐含利率曲线构建概述

说明外汇产品定价需要两币种即期曲线,并列出用于构建外币隐含利率曲线的工具类型。

外币隐含利率曲线:Bootstrap 与利率平价推导

基于外汇掉期与即期报价使用利率平价公式推导外币零息利率,并展示 USD_USDCNY_FX 结果与 CFETS 对比描述。

外币隐含利率曲线构建示例(代码)

提供 irCrossCurrencyCurveBuilder 的 USDCNY 示例代码,包括交易日历、期限、掉期点与本币曲线输入。

外汇期权波动率曲面构建概述(delta→strike)

说明外汇期权波动率曲面从 delta-vol 报价转换为 strike-vol,并给出计算示例与参数含义说明。

SVI 模型

定义 SVI 总方差模型的参数与目标函数,并说明可用 Levenberg-Marquardt 等算法拟合微笑曲线。

SABR 模型

给出 SABR 隐含波动率近似公式、参数含义与目标函数,并说明用数值算法拟合参数以得到 smile。

波动率曲面构建示例(SVI 与 USDCNY 数据)

展示 2025-08-18 USDCNY 市场报价与 SVI 拟合曲面示意,并给出 fxVolatilitySurfaceBuilder 的完整示例代码。

工具函数:curvePredict

介绍 curvePredict 用于在曲线构建后获取任意时间点/期限的曲线值,并给出调用示例与输出。

工具函数:optionVolPredict

介绍 optionVolPredict 用于获取指定日期与执行价的曲面波动率,并给出多种输入形式的示例与输出。

总结与展望

概述教程内容、对比基准结果,并列出后续计划扩展更多曲线/曲面函数与支持更多标的曲线。

参考文献

列出与曲线构建与波动率微笑/曲面相关的参考链接与文献条目。

附录:脚本下载

提供示例脚本 curve_volsurf_builder.dos 的下载链接。

Facts Index

Entity Attribute Value Confidence
技能认证特训营第二期 报名链接 https://www.qingsuyun.com/h5/e/217471/5/ high
基于 DolphinDB 构建收益率曲线与波动率曲面的最佳实践 发布日期 2025-12-23 high
基于 DolphinDB 构建收益率曲线与波动率曲面的最佳实践 作者署名 Luxing high
DolphinDB V3.00.4 推出的市场数据构建函数数量 四个市场数据构建函数 high
bondYieldCurveBuilder 支持模型 Bootstrap/NS/NSS high
bondYieldCurveBuilder 用途/描述 债券收益率曲线构建 high
irSingleCurrencyCurveBuilder 支持模型 Bootstrap high
irSingleCurrencyCurveBuilder 用途/描述 单货币利率互换曲线构建 high
irCrossCurrencyCurveBuilder 支持模型 Bootstrap high
irCrossCurrencyCurveBuilder 用途/描述 交叉货币利率互换曲线构建(外币隐含利率曲线构建) high
fxVolatilitySurfaceBuilder 支持模型 SVI/SABR/Linear/CubicSpline high
fxVolatilitySurfaceBuilder 用途/描述 外汇期权波动率曲面构建 high
收益率曲线与期权波动率曲面构建 重要性/作用 金融工程和定量分析的核心环节,确保定价精确性一致性,并为风险管理和交易决策提供基础;微小误差可能导致数百万甚至数亿的定价偏差或风险误判 medium
市场发展对曲线/曲面构建的影响 复杂化驱动因素举例 LIBOR 向 SOFR 过渡、结构性产品复杂化使曲线/曲面模型与技术更复杂且更重要 medium
bondCalculator 在 Bootstrap/NS 曲线构建中的用途 根据样本券到期收益率(YTM)报价得到债券全价(dirty) high
2025-08 国债即期曲线(Bootstrap vs CFETS) 最大误差 20Y 期限 0.4964 bp;所有期限误差均小于 0.5 bp medium
国债收益率曲线 Bootstrap 示例 使用的数据日期 2025-08-18 收盘数据(基于 2025 年 8 月份基准债券列表) medium
Nelson-Siegel (NS) 模型 参数数量与名称 四个参数:β0、β1、β2、λ(且 λ>0) high
NS 模型参数经济含义(β0/β1/β2) 控制因素 β0 控制 level(利率水平);β1 控制 slope(短端影响更大);β2 控制 curvature(中端影响更大) high
Nelson-Siegel-Svensson(NSS)模型 相对 NS 的改进 为多模拟一个 hump 形状而增加两个参数(Svensson 1994) high
bondYieldCurveBuilder 示例 演示的方法参数 method='Bootstrap'、method='NS'、method='NSS' high
利率互换(IRS) 定义要点 交易双方在约定时期内基于相同名义本金、不同利率计算方式交换利息现金流;通常固定对浮动;不交换本金 high
单货币利率互换曲线构建 涉及工具类型 存款利率(Depo)、远期利率协议(FRA)、利率期货(Futures)、利率互换(Swaps) high
国内市场单货币互换曲线 Bootstrap 构建 选用的工具 选取 Depo 和 Swaps 作为构建工具 high
CNY_FR_007 曲线(2021-05-26) 与基准即期曲线误差 误差几乎为零(对比国内某大型机构 Benchmark Zero Rate) medium
CNY_SHIBOR_3M 曲线(2021-05-26) 最大误差与其他期限误差 最大误差为 1M 期 1.0539 bp,其余期限误差均小于 0.5 bp medium
irSingleCurrencyCurveBuilder 示例 1 曲线名称(curveName) CNY_FR_007 high
irSingleCurrencyCurveBuilder 示例 referenceDate 2021.05.26 high
外币隐含利率曲线构建 常用工具 外汇掉期(FxSwap)提供短期利率信息;货币交叉互换(CrossCurrencySwap)提供中期到远期利率信息 high
国内市场外币隐含利率曲线 Bootstrap 推导 输入与方法 采用 FxSwap 和外汇即期报价,通过利率平价公式推导外币隐含零息利率曲线 high
USD_USDCNY_FX 隐含收益率曲线(2025-08-18) 与 CFETS 对比误差 误差几乎可以忽略不计(示例:1Y 最大误差 0.0090 bp) medium
USDCNY 隐含收益率曲线示例 refDate 2025.08.18 high
USDCNY 隐含收益率曲线示例 spot 7.1627 high
外汇期权波动率曲面构建 报价形式与步骤 外汇期权报价采用 delta-vol;第一步为 delta 转 strike(先由 ATM/BF/RR 得到各 delta 的 vol,再由 Black-Scholes delta 反推 strike) high
SVI 模型 参数集合 a、b、ρ、m、σ(并使用总方差 ω(k)=σ^2_imp×T 与 k=ln(K/F)) high
SVI 模型拟合方法 优化算法示例 可采用 Levenberg-Marquardt 等算法最小化目标函数求出五个参数 medium
SABR 模型 参数集合与范围 α、β(取值范围[0,1])、ρ、υ;并使用 K、F、T 作为输入变量 high
SABR 模型拟合方法 优化算法示例 采用 Levenberg-Marquardt 等算法最小化目标函数求出四个参数 medium
USDCNY 波动率曲面示例(SVI) 使用的市场数据日期 2025 年 8 月 18 日(外汇交易中心数据) high
fxVolatilitySurfaceBuilder 示例 ccyPair USDCNY high
curvePredict 用途 获取任意时间的曲线值 high
curvePredict 示例输出 curvePredict(curve, 2025.10.18) 0.0156 high
curvePredict 示例输出 curvePredict(curve, 1.0) 0.0160 high
optionVolPredict 用途 获取指定时间和执行价时曲面上的波动率 high
optionVolPredict 示例输出 optionVolPredict(surf, 2025.10.18, 7) 0.035427722673281 high
optionVolPredict 示例输出 optionVolPredict(surf, [2025.10.18, 2026.10.18], [7.1, 7.2]) 在 2026.10.18 的结果 7.1: 0.042188693924168;7.2: 0.044408563755123 high
irSingleCurrencyCurveBuilder 当前支持的曲线范围 目前仅支持 CNY_FR_007 和 CNY_SHIBOR_3M high
后续迭代方向 计划新增的曲线/曲面类型 商品远期曲线、CDS 信用利差曲线、商品期权波动率曲面等 medium
后续迭代方向 计划扩展的单货币互换曲线标的 后续会增加 USD_SOFR / EUR_ESTR 等曲线 medium
附录脚本 文件名与链接 curve_volsurf_builder.dos:https://docs.dolphindb.cn/zh/tutorials/script/curve_surface_builder/curve_volsurf_builder.dos high