VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 84
声望: 0

OptionMaster-1.2.0 希腊值计算好像不对? 定价模型 black_76,沪铜2508,79510, 接近平值的cu2508C8000, delta=2.1938 ?

而同样是平值期权,豆粕m2509C2950, delta=4.920, 我选的是美式二骗树定价模型

Super Moderator
avatar
加入于:
帖子: 91
声望: 8

根据知识库内容和期权定价原理,以下是针对希腊值计算异常的分析:


1. 现金希腊值 vs 理论希腊值

  • 关键区别
    OptionMaster中显示的希腊值是现金希腊值(Cash Greeks),而非理论希腊值(Theoretical Greeks)。

    • 理论Delta:表示标的价格变动1单位时,期权价格的变动值(范围通常为0~1)。
    • 现金Delta:理论Delta × 标的价格 × 合约乘数 × 1%(用于衡量实际盈亏金额)。
  • 示例计算
    若沪铜2508价格为79,510元/吨,合约乘数为10吨,理论Delta为0.5:
    $$
    \text{现金Delta} = 0.5 \times 79,510 \times 10 \times 1\% = 39,755 \text{元}
    $$
    但用户反馈的Delta=2.1938,明显低于预期,需进一步排查。


2. 可能原因及验证步骤

(1) 合约乘数配置错误

  • 问题:沪铜期权合约乘数可能未正确设置(如误设为1而非10)。
  • 验证
    在OptionMaster的【T型报价】窗口中,检查沪铜期权合约的乘数字段(通常为10吨)。

(2) 标的价格单位不一致

  • 问题:标的价格可能以“元/千克”而非“元/吨”输入(导致数值被放大1,000倍)。
  • 验证
    确认沪铜标的物价格是否为期货合约价格(如CU2508的最新价),单位应为“元/吨”。

(3) 定价模型参数异常

  • 问题:Black-76模型需输入无风险利率、标的物波动率等参数,若参数错误可能导致Delta偏差。
  • 验证
    检查OptionMaster的【波动率管理】中定价波动率是否合理,以及【配置组合】中的年化利率设置。

(4) 美式期权与欧式期权差异

  • 问题:豆粕期权使用Binomial-Tree模型(美式),而沪铜使用Black-76(欧式),两者Delta计算逻辑不同。
  • 验证
    确认豆粕期权是否为美式,且行权价2950对应的标的物价格是否接近平值(如M2509期货价格是否为2950左右)。

3. 解决方案

  1. 检查合约乘数
    在OptionMaster的【T型报价】或【持仓希腊值】中,确认沪铜和豆粕期权的合约乘数是否正确(沪铜为10吨,豆粕为10吨)。

  2. 核对标的物价格单位
    确保标的价格以“元/吨”(沪铜)或“元/吨”(豆粕)为单位,而非“元/千克”或其他单位。

  3. 重新拟合波动率曲线
    在【波动率管理】中点击【重置】→【拟合】,确保定价波动率曲线平滑且合理。

  4. 切换希腊值显示模式
    若需查看理论Delta而非现金Delta,需修改OptionMaster源码中的希腊值计算逻辑(默认显示现金希腊值)。


4. 注意事项

  • 现金希腊值用途:用于衡量实际风险敞口(如Delta=2.1938可能表示每1%标的价格波动导致2.1938元盈亏)。
  • 模型适用性:Black-76适用于欧式期货期权,Binomial-Tree适用于美式期权,需确保模型与期权类型匹配。

若问题仍未解决,请提供以下信息:

  1. 沪铜和豆粕期权的合约乘数截图;
  2. 标的物期货合约的最新价格及单位;
  3. 【波动率管理】中定价波动率数值。【波动率管理】中定价波动率数值。
Member
avatar
加入于:
帖子: 84
声望: 0

感谢vnpy耐心解答, 那么,我这里就从“猴子变人”开始讲起:

**其实这个问题,在很多年以前,我在论坛和github版本库,都分别提出过issue:
https://www.vnpy.com/forum/topic/3341-wo-qing-jiao-yi-ge-wen-ti-:xian-jin-xi-la-zhi-chi-cang-xi-la-zhi-de-yi-yi-zai-black-76-ou-shi-qi-huo-qi-quan-he-er-cha-shu-mei-shi-qi-huo-qi-quan-liang-chong-ding-jie-mo-xing-shang-bu-yi-zhi?page=1#pid12017

https://github.com/vnpy/vnpy/issues/2501**
在那里,我是基于vnpy-2.1.2版提的issue, 该issue 在vnpy-2.1.4版本上修复了,

后来,我一直使用vnpy-2.1.6版本, 也就没有再继续关注后继版本,
近期,想到再看看vnpy新情况新版本,发现有了很大的变化,我大致爬了一下github版本库,
到vnpy-2.6.0版本的时候, option_master 从vnpy剥离出去了,放到了专门的项目中:
(move option master app to vnpy_optionmaster project)

然后,我再去爬看vnpy_optionmaster的github版本库,发现直到vnpy_optionmaster-1.0.7版本,这个issue 的修复都还保持在,还是OK的。直到vnpy_optionmaster-1.0.8版本,

在vnpy_optionmaster-1.0.8版本库,
我看到了相关的commit message: “ Cython定价模型改为计算理论希腊值 ”
到这里,我以为vnpy_optionmaster可能是要调整希腊值的表达呈现,
所以,专门来看了一下,发现显示似乎不对,不论是以现金delta还是以理论delta来解释,似呼不太对。

刚看到vnpy的回复:
OptionMaster中显示的希腊值是现金希腊值(Cash Greeks),而非理论希腊值(Theoretical Greeks)。
◦ 理论Delta:表示标的价格变动1单位时,期权价格的变动值(范围通常为0~1)。
◦ 现金Delta:理论Delta × 标的价格 × 合约乘数 × 1%(用于衡量实际盈亏金额)。

那么,就是说现在的vnpy_optionmaster中“现金delta/希腊值“这个概念还是存在? 那么,vnpy_optionmaster-1.0.8版修改了? 还是说哪个地方没有对接上约定一致了?

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】