IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 股指期货隔夜收益增强策略 -> 正文阅读

[区块链]股指期货隔夜收益增强策略

参考海通证券的研究报告,其中指出股指期货具有显著的正向隔夜收益,且A股期现货市场存在显著的日内效应,在此基础上通过买卖单不平衡度因子构建了收益增强策略。

本策略考虑一次性获取全部连续合约的主力合约,通过减少调用接口获取数据的次数以达到提高回测效率的目的。

股指期货隔夜收益影响因子:买卖单不平衡度因子

1.价差

  • 当月合约与下季合约的价差;
  • 当价差小于80时做多,否则做空。

??

2.买卖单不平衡度

  • 定义:

0_1636619740558_74e51bb1-a8db-4c45-9838-300c5e4d556a-image.png

  • 其中 B 和 S 分别表示收盘前 N 分钟区间内买一和卖一委托量的平均值;
  • 相比于价格涨跌,买卖单的不平衡度更能够反映投资者的真实交易意愿;
  • 当委买量高于委卖量时,预期未来价格上涨,反之则预期未来价格下跌。

??

3.选取尾盘半小时买卖单不平衡度预测效果较好的因子构建隔夜收益策略。

  • 当价差小于80,且收盘前半小时委买总量大于委卖总量时做多,持有至次日上午10点平仓;

  • 当价差大于80,且收盘前半小时委买总量小于委卖总量时做空,持有至次日上午10点平仓。

  • 在每天14:59:00时,获取当月合约与下季合约的价格的差;

  • 计算14:30:00 以来的买一委托总量和卖一委托总量;

  • 以14:59:00 tick数据 的卖一价作为买入开仓价;

  • 以次日上午10:00:00 tick数据的买一价作为卖出平仓价。

??

本策略运行所基于的环境:python3.8 掘金终端IDE

??

一、策略思路

1、每天10:00:00 定时获取 tick 数据,根据买一价作为卖出平仓价下单平仓;

2、每天14:59:00 定时获取 tick 数据,根据当月合约与下季合约的价格计算价差;

3、获取前30分钟的买一委托总量和卖一委托总量;

4、当价差小于80,且收盘前半小时委买总量大于委卖总量时,以14:59:00 tick数据的卖一价作为买入开仓价做多,否则则做空;持有至次日上午10点平仓。

??

二、策略逻辑

·?第一步:设置参数、设置两个定时任务

·?第二步:每天定时执行两个任务,按策略思路进行计算

·?第三步:对满足策略思路的股指期货做多或做空,持有至次日上午10点平仓

·?回测期:2021-07-22 08:00:00 到 2021-10-21 16:00:00

> 注意:tick数据仅支持回测最近的三个月,回测时需将时间改为最近三个月,否则会报错。

·?回测初始资金:50万

·?手续费:0.0001

·?滑点:0.0001

??

三、回测结果

回测期策略累计收益率为11.41%,年化收益率为45.26%,最大回撤为11.17%,夏普比率为1.20,胜率为50.00%。

?

四、策略代码

# coding=utf-8
from __future__ import print_function, absolute_import
from gm.api import *
import pandas as pd
import datetime

'''
本策略采用定时任务结构(每天10:00:00、14:59:00定时执行策略algo_sell、algo_buy),建立隔夜收益增强模型
当价差小于80,且收盘前半小时委买总量大于委卖总量时做多,持有至次日上午10点平仓;
当价差大于80,且收盘前半小时委买总量小于委卖总量时做空,持有至次日上午10点平仓。
回测数据:沪深300股指期货IF的 tick数据
回测时间:2019-01-01 08:00:00 到 2021-09-10 16:00:00
'''

# 策略中必须有init方法
def init(context):
    # 每天10:00:00 定时执行algo_sell
    schedule(schedule_func=algo_sell, date_rule='1d', time_rule='10:00:00')
    # 每天14:59:00 定时执行algo_buy
    schedule(schedule_func=algo_buy, date_rule='1d', time_rule='14:59:00')  
    # 设置当月交易标的
    context.symbol_00 = None

    # 在init中一次性拿到所有需要的当月合约信息、下季合约信息
    contracts_00 = get_continuous_contracts(csymbol='CFFEX.IF00', start_date=context.backtest_start_time,
                                            end_date=context.backtest_end_time)
    contracts_02 = get_continuous_contracts(csymbol='CFFEX.IF02', start_date=context.backtest_start_time,
                                            end_date=context.backtest_end_time)
    # 将信息按symbol,date作为key存入字典
    context.cons00_dict = {i['trade_date'].date(): i['symbol'] for i in contracts_00}
    context.cons02_dict = {i['trade_date'].date(): i['symbol'] for i in contracts_02}

获取完整代码,请前往:

股指期货隔夜收益增强策略 - 掘金量化社区 - 量化交易者的交流社区掘金量化社区是量化投资者策略研讨、答疑解惑、资源共享的互动交流论坛。https://bbs.myquant.cn/topic/2550

声明:本内容由掘金量化团队原创,仅供学习、交流、演示之用,不构成任何投资建议!如需转载请联系掘金小Q(VX:myquant2018)授权,否则作侵权处理!

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:45:36  更:2021-11-14 21:46:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:47:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码