需要开通量化,加微信咨询: qmtptrade

ptrade监控期权对应的ETF标的,做空波动率

ptrade qmt 1℃

目前大部分券商的ptrade不支持ETF期权交易。 如果有支持的券商,你也可以评论区告诉我哦

国内的ETF期权上交所有5只,深交所有4只。

上交所 ETF 期权(5 只)

ETF 代码 ETF 名称 跟踪指数代码 指数名称 俗称
510050 华夏上证 50ETF 000016 上证 50 指数 50ETF 期权
510300 华泰柏瑞沪深 300ETF 000300 沪深 300 指数 沪市 300ETF 期权
510500 南方中证 500ETF 000905 中证 500 指数 沪市 500ETF 期权
588000 华夏科创 50ETF 000688 科创 50 指数 华夏科创 50ETF 期权
588080 易方达科创 50ETF 000688 科创 50 指数 易方达科创 50ETF 期权

深交所 ETF 期权(4 只)

ETF 代码 ETF 名称 跟踪指数代码 指数名称 俗称
159919 嘉实沪深 300ETF 000300 沪深 300 指数 深市 300ETF 期权
159922 嘉实中证 500ETF 000905 中证 500 指数 深市 500ETF 期权
159915 易方达创业板 ETF 399006 创业板指数 创业板 ETF 期权
159901 易方达深证 100ETF 399330 深证 100 指数 深证 100ETF 期权

如果对应的ETF高开很多,那么我们可以在盘中尝试做空波动率,也就是我们的祖训,高开必跑。历史数据告诉我们,高开越多,回落的概率越高。

下面的ptrade代码要做的事情很简单,如果监控到这几个期权对应的ETF 在盘中涨得很多或者跌得很多,那就发个微信消息给我,然后我根据盘面再决定,是否要去手动区买沽或者买购。

监控的ETF标的比如沪深300有沪市和深市标的,就只取沪市ETF即可,因为跟踪的指数差别很小。

Ptrade源码:

# author: 公众号:量化交易教程
import datetime
import json

# 上交所ETF期权标的
sse_etf_codes = ["510050", "510300", "510500", "588000"]
# 深交所ETF期权标的
szse_etf_codes = [ "159915", "159901"]
# 全部汇总
all_etf_option_codes = sse_etf_codes + szse_etf_codes

TARGET_PERCENT = 4 # 满足的阈值

# 企业微信数据
corp_id = 'your_corp_id'
secret = 'your_secret'
agent_id = 'your_agent_id'
to_user = 'your_username'

def postfix_etf(code):
    if code.startswith('5'):
        return code + '.SS'
    else:
        return code + '.SZ'

def initialize(context):
    # 初始化策略
    run_interval(context, execution, seconds=3)
    log.info("公众号:量化交易教程")

def before_trading_start(context, data):
    g.etf_codes = [postfix_etf(code) for code in all_etf_option_codes]
    g.has_sent_msg = set()  # 用于记录已经发送过消息的ETF代码,避免重复发送

def handle_data(context, data):
    pass

def execution(context):
    snap_infos = get_snapshot(g.etf_codes)
    for code , snap in snap_infos.items():
        percent = snap.get('px_change_rate')
        if abs(percent) >= TARGET_PERCENT:
            msg = f"{code}涨跌幅达到{percent}%"
            if code not in g.has_sent_msg:
                print(msg)
                send_qywx(corp_id, secret, agent_id, info=msg, path='', toparty='', touser= to_user, totag= '')
                g.has_sent_msg.add(code)

比如今天科创50跌了-5.32%,满足阈值大于-4%,就会发出一条微信提醒。 因为我代码里面用的abs(percent),所以大于绝对值4%的都会发出提示

喜欢的朋友欢迎关注,趁最近有空更新一波,这个号太久更新都长草了 ~

喜欢 (0)