python期货量化交易实战_Python期货股票量化交易,多品种组合模型之动量策略!...

一、策略简介

动量交易策略源于股票或期货市场中的动量效应,所谓动量效应是指过去一段时间的收益较高的资产价格,那么,资产在未来一段时间内同样也能获得较高收益。

同样的,如果某一资产价格过去的波动越大,那么在未来的一段时间内这部分资产价格的波动同样也大,也就是惯性效应。因此,基于这样的逻辑开发策略,称作:动量策略。

76aca700f6d7981fd46a8477f7154b35.png

50个期货品种的TR一阶段差分均值

在股票和期货市场都有这样的效应,那么下面在期货市场中实现基于这一逻辑的策略。

二、策略的原理

本文将利用海龟交易策略中的唐奇安通道,应用在这一逻辑中,用Python tqsdk 开发基于多品种的动量交易策略,品种排序的标准是根据平均真实波幅(ATR中的TR)进行一阶段差分后平均值,进行排序。

策略逻辑:

(1)在多个品种中选出波动率较大的品种,计算唐奇安通道。当价格突破上轨时,开多。跌破下轨时开空。

(2)当价格突破上轨时,平空。跌破下轨时平多。

其实我们可以看得出,策略的基本思想并不复杂,就是一个通道+动量效应。但就是因为是基于动量这一逻辑,才让一个平凡的策略拥有比较理想的收益。在量化程序化交易中获得很多交易者的亲睐!

三、代码编写

策略的实现过程,我将用四个部分来讲解:剔除交易量较小或上市短的品种、按照ATR平均真实波幅进行排序、将排序后的期货合约进行交易。

(一)首先,剔除交易量较小或上市短的品种。

1.导入模块。

from tqsdk import TqApifrom tqsdk.ta import ATR,MAfrom datetime import timedeltaimport pandas as pdimport seaborn as snsimport numpy as npimport mathimport matplotlib.pyplot as pltsns.set()

2.获取剔除后的品种。我们剔除了股指期货和成交量或上市日期较短的期货品种",存入symbol_Trade这个列表中,用后后续进行排序。

symbol_Trade = []def trade_symbol(api):    "剔除股指期货和成交量或上市日期较短的期货品种"    Continuous_contract = [v["underlying_symbol"] for k, v in api._data["quotes"].items() if k.startswith("KQ.m")]    symbol_Index = []    a = ''    for i in range(len(Continuous_contract)):        if Continuous_contract[i].split('.')[0] == 'CFFEX':            continue        else:            for j in range(len(Continuous_contract[i].split('.')[1])):                if Continuous_contract[i].split('.')[1][j] in '0123456789':                    symbol_Index.append(Continuous_contract[i].split('.&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值