vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 78
声望: 0

Delta对冲, 在对冲阈值检查的时候, 用的是标的物的理论Delta, 不是现金Delta.

检查用户界面设定的对冲阈值是否小于标的物理论Delta的60% (underlying.theo_delta (widget.py, Line 665668)
而对冲引擎在判断是否执行对冲的时候, 用的却又是整个组合的现金Delta. portfolio.pos_delta (engine.py Line 429
432)

1, 为什么在对冲阈值检查的时候, 是用标的物的Delta的60%? 而不是用整个组合的 Delta?
2, 为什么在对冲阈值检查的时候, 是用标的物的理论Delta? (underlying.theo_delta), 而不是用现金Delta?
3, 那么, 用户界面上输入的Delta目标 和 对冲阈值(这个好像是容忍Delta偏离范围?) , 这用户输入的 那又是什么Delta呢? theo_delta? pos_delta? underlying delta? 还是指整个组合的Delta? theo_delta? pos_delta?
哈哈哈~ 我转迷糊了

widget.py, Line 665~~668......:

Check delta of underlying

    underlying = self.option_engine.get_instrument(vt_symbol)
    min_range = int(underlying.theo_delta * 0.6)
    if delta_range < min_range:
        msg = f"Delta对冲阈值({delta_range})低于对冲合约"\
            f"Delta值的60%({min_range}),可能导致来回频繁对冲!"
        QtWidgets.QMessageBox.warning(
            self,
            "无法启动自动对冲",
            msg,
            QtWidgets.QMessageBox.Ok
        )
        return
#

engine.py Line 429~~432...:

Do nothing if portfolio delta is in the allowed range

    portfolio = self.option_engine.get_portfolio(self.portfolio_name)
    if delta_min <= portfolio.pos_delta <= delta_max:
        return
Member
avatar
加入于:
帖子: 78
声望: 0

搞懂了~哈哈哈~
自已来答一下:
1, 对冲的时候最小的时候是以一手为单位进行对冲,所以是用标的物的现金Delta的60%?,即太小了不够一手标的物对冲的就先暂时不对冲了,
2, 最新版的vnpy-2.1.2 上看到, 标的物的那个已经是用现金Delta了,
3, 用户界面上输入的Delta目标 和 对冲阈值(这个好像是容忍Delta偏离范围) , 这个是整个组合的持仓Delta及其容忍度范围

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