为何Hummingbot中Avellaneda-Stoikov模型未对市场波动率(σ)取平方?
关于Hummingbot中Avellaneda-Stoikov策略波动率计算的解释
Avellaneda-Stoikov模型的保留价格、最优价差公式确实以方差σ²作为输入,但Hummingbot代码里计算的是标准差σ,原因主要有三点:
- 公式代入时会二次处理:代码先算出行业通用的标准差σ,在代入Avellaneda-Stoikov公式时会再做平方运算得到σ²,完全符合模型要求。这种拆分是因为行业里提到的“波动率”默认指标准差σ,而非方差,这样指标含义更直观。
- 代码复用性设计:
_indicator_calculation这个函数可能是多个策略共用的波动率计算模块,其他策略可能直接需要标准差σ,提前算出σ能提升代码复用性,避免重复开发。 - 符合历史波动率估算惯例:代码里的计算逻辑是历史波动率的常见估算方式——通过价格差分的平方平均再开根号得到标准差,这是量化领域的通用实践,方便开发者理解和维护。
如果去查看Hummingbot中Avellaneda-Stoikov策略的核心逻辑代码,能找到将返回的σ平方后代入模型公式的步骤,这也能验证上述说法。
内容的提问来源于stack exchange,提问作者Sander Fillet
相关产品推荐
相关产品推荐

