基于天勤量化平台监控套利机会
利用期权平价关系式:
1,K+C < F,即执行价K+权利金C<期货价格,此时买入看涨期权+卖空期货,左边等于低价买入期货,右边高价卖出期货,形成锁仓利润
2,K - P > F,即执行价K-权利金P>期货价格,此时买入看跌期权+买入期货,左边等于高价卖空期货,右边低价买入期货,形成锁仓利润
3,K + C - P < F,即执行价K+权利金C-权利金P<期货价格,此时买入看涨期权+卖出看跌期权+卖空期货,左边等于低价买入期货,右边高价卖出期货,形成锁仓利润
4,K + C - P > F,即执行价K+权利金C-权利金P>期货价格,此时买入看跌期权+卖出看涨期权+买入期货,左边等于高价卖空期货,右边低价买入期货,形成锁仓利润
由于下单成交都是以对手价执行,所以以对手价计算上述关系式,关系式成立立即以对手价下单,便可获得无风险利润
监控代码如下:
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- from tqsdk import TqApi
- api = TqApi()
- quote_C = api.get_quote('CZCE.MA009C1975')
- quote_P = api.get_quote('CZCE.MA009P1975')
- quote_F = api.get_quote(quote_C.underlying_symbol)
- while True :
- api.wait_update()
- Cb = quote_C.strike_price + quote_C.ask_price1 #K+C
- Pb = quote_P.strike_price - quote_P.ask_price1 #K-P
- CbPs_Fs = quote_P.strike_price + quote_C.ask_price1 - quote_P.bid_price1 #K+C-P
- PbCs_Fb = quote_P.strike_price + quote_C.bid_price1 - quote_P.ask_price1 #K+C-P
- Fb = quote_F.ask_price1 #期货买入价
- Fs = quote_F.bid_price1 #期货卖出价
- print('K+C<F:多看涨期权+空期货', Cb, Fs, Cb<Fs)
- print('K-P>F:多看跌期权+多期货', Pb, Fb, Pb>Fb)
- print('K+C-P<F:多看涨期权+空看跌期权+空期货', CbPs_Fs, Fs, CbPs_Fs<Fs)
- print('K+C-P>F:多看跌期权+空看涨期权+多期货', PbCs_Fb, Fb, PbCs_Fb>Fb)
- 上述代码以执行价为1975的豆粕期权为例,运行发现似乎没有套利机会,输出监控结果都是False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
- K+C<F:多看涨期权+空期货 1985.0 1829.0 False
- K-P>F:多看跌期权+多期货 1819.0 1830.0 False
- K+C-P<F:多看涨期权+空看跌期权+空期货 1832.5 1829.0 False
- K+C-P>F:多看跌期权+空看涨期权+多期货 1828.0 1830.0 False
复制代码
看来想要低买高卖锁定无风险利润不太容易,若偶尔能出现套利机会还是不错的,若一直长时间都没有机会,可能确实真没机会,或者监控更多品种能有更多机会。
可能还有一种办法,先成交一边,等另一边波动形成套利机会时再立即成交另一边,此时就需要其他技术手段监控两边价格的波动方向了
做Python量化的可以一块交流
|
|