You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅调整指定参数最小化两个期权定价函数的价格平方差和

期权定价模型参数校准实现方案(平方差和最小化)

需求说明

仅调整theta、alpha1、alpha2、beta1、beta2五个参数,最小化以下两个期权定价函数输出价格的平方差和:

Function1 <- function(phi,SpotPrice,Strike, TimetoMaturity, Volat, Liborrate, DividendYield)
Function2 <- function(Strike, Liborrate, theta, alpha1, alpha2, beta1, beta2, TimetoMaturity)

实现步骤

1. 预定义固定参数

首先将不需要优化的公共参数赋值为实际业务取值,固定后传入损失函数:

  • 固定参数列表:phi、SpotPrice、Strike、TimetoMaturity、Volat、Liborrate、DividendYield

若需同时校准多组不同合约(不同行权价/到期日),可将Strike、TimetoMaturity等可变参数传入向量格式,损失函数计算时自动批量算平方差和即可。

2. 定义平方差损失函数

# 损失函数输入为待优化的5个参数组成的向量,输出为两个模型价格的平方差/平方差和
loss_calculator <- function(opt_params) {
  # 拆分待优化参数
  theta <- opt_params[1]
  alpha1 <- opt_params[2]
  alpha2 <- opt_params[3]
  beta1 <- opt_params[4]
  beta2 <- opt_params[5]
  
  # 计算两个模型的价格输出
  price_model1 <- Function1(
    phi = phi_fixed,
    SpotPrice = SpotPrice_fixed,
    Strike = Strike_fixed,
    TimetoMaturity = TimetoMaturity_fixed,
    Volat = Volat_fixed,
    Liborrate = Liborrate_fixed,
    DividendYield = DividendYield_fixed
  )
  
  price_model2 <- Function2(
    Strike = Strike_fixed,
    Liborrate = Liborrate_fixed,
    theta = theta,
    alpha1 = alpha1,
    alpha2 = alpha2,
    beta1 = beta1,
    beta2 = beta2,
    TimetoMaturity = TimetoMaturity_fixed
  )
  
  # 单合约返回平方差,多合约返回所有样本的平方差加总
  return(sum((price_model1 - price_model2)^2))
}

3. 执行参数优化

使用R内置的优化函数求解最小平方差对应的参数:

# 设定待优化参数的初始值,需符合参数实际合理区间,避免陷入局部最优
init_params <- c(theta = 0.05, alpha1 = 0.15, alpha2 = 0.2, beta1 = 0.1, beta2 = 0.3)

# 执行优化,L-BFGS-B方法支持参数上下限约束
optim_result <- optim(
  par = init_params,
  fn = loss_calculator,
  method = "L-BFGS-B",
  # 可根据参数业务逻辑调整取值上下限,如下设所有参数为非负
  lower = c(0, 0, 0, 0, 0),
  upper = c(10, 5, 5, 2, 2)
)

4. 提取优化结果

  • 最优参数:optim_result$par,按顺序对应theta、alpha1、alpha2、beta1、beta2
  • 最小平方差和:optim_result$value

注意事项

  • 初始值设置对优化结果影响较大,可尝试多组不同初始值验证结果稳定性
  • 若参数存在明确的业务约束(如beta系数小于1、theta在某个固定区间内),需在优化的上下限参数中明确配置,避免输出无实际意义的参数结果
  • 多合约校准场景下需确保两个函数输入的可变参数(行权价、到期日等)长度一致,避免计算时报错

内容的提问来源于stack exchange,提问作者Nazario Maria Cruciano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:48:02