
寸土寸金的版面有点不和谐
完啦,这个错误改正得改好几处吧,新版本上线又耽误了
而且这个隐含波动率是错的,用的是股票期权的波动率
应该可以自动判断是啥品种吧用对应的函数
软件用的是下面这个函数
这个是各种都可以定
不对啊波动率指标用的是BlackScholes,波动率不对啊,指标和系统自带的对的上,肯定也不对啊,应该用
理论价是隐含波动率来的,隐含波动率不对,理论价就不对,因系统自带的和自带的im波动率指标用的是股票期权的价格去计算的隐含波动率,所以全错,期货期权应该是用
而系统自带的隐含波动率是1,是股票期权


收到, 和后台反馈下;
建议:为隐含波动率计算增加品种自适应或模型选择参数
现状问题
目前 ImpliedVolatility 内部写死调用 BlackScholes(对应 OptionsComplex 的第1种模型——股票期权/现货期权)。当用户在期货期权品种上使用时,理论价模型需要切换为 BlackModel(对应 OptionsComplex 的第3种模型),但现有函数无法自动调整,导致计算错误的隐含波动率。用户必须自己重新编写一套几乎一样的迭代逻辑,复用性差且容易出错。
改进方案
1. 方案一(推荐):增加“定价模型”参数,让用户显式选择
在 ImpliedVolatility 中新增一个 Integer PricingModel 参数,约定值为:
a. 1:股票期权,内部调用 BlackScholes(对应 OptionsComplex 的模型1)
b. 3:期货期权,内部调用 BlackModel(对应 OptionsComplex 的模型3)
这样用户可在策略中根据具体品种传入正确模型。可采用类似 Enum_StockOption、Enum_FutureOption 的枚举常量提高可读性。
伪代码示意
If (PricingModel == 1)
BlkSchVal = BlackScholes(...);
Else If (PricingModel == 3)
BlkSchVal = BlackModel(...);
2. 方案二(更智能):根据当前数据合约属性自动判断
让 ImpliedVolatility 内部通过读取当前品种(Symbol)的合约类别(股票/指数→现货期权,商品/金融期货→期货期权)自动选择模型。这需要提供类似 SymbolType 或 UnderlyingType 的函数。优点是完全自动化,缺点是当同一公式跨品种调用时可能需要额外控制。
3. 配套统一封装
建议同时增加一个通用的 “期权理论价” 函数(如 OptionTheoPrice),它封装 OptionsComplex 的不同模型,根据品种或参数自动分发,使 BlackScholes 和 BlackModel 统一入口,后续无论是计算理论价还是隐含波动率都能直接复用。
实现后的效果
● 期权交易者只需调用一次 ImpliedVolatility,传入或由系统自动识别是股票期权还是期货期权,即可得到正确的隐含波动率。
● 不再需要为不同标的类型维护多份极其相似的迭代代码。
● 新函数兼容旧代码,原 ImpliedVolatility 可保留为默认模型1的版本,避免破坏现有用户策略。
行情报价,T报价都要改,最好不要叫隐含波动率太占地方,叫隐波或者IV,节约T报价空间!赞👍!赞👍!赞👍!赞👍