量化回测平台|有现成的不用吗?如何利用聚宽平台回测交易策略
导览
本文为掘金小册课程加推篇!小册还在持续加推中,敬请期待!!!目前已经加推了20节!!!
超值的43节课程!从目录就能看出来!
1-贯穿小册:Python金融数据分析实战型项目
2-前置基础:量化交易及应用场景简介
3-前置基础:开发环境及基础工具说明
4-前置基础:创建一个Python文件的细节
5-前置基础:Python变量类型及动态特性
6-前置基础:玩转Python遍历工具for..in
7-前置基础:无可或缺的Python异常处理
8-前置基础:NumPy模拟随机漫步理论
9-前置基础:Pandas构建DataFrame股票数据
10-前置基础:Matplotlib函数式绘图的方式
11-前置基础:Matplotlib对象式绘图的方式
12-前置基础:Matplotlib模拟随机漫步轨迹
13-前置基础:从概率角度谈市场中的博弈
14-股票数据获取:Pandas金融模块获取股票数据
15-股票数据获取:差异化分析常用股票数据接口
16-股票数据获取:详解网络爬虫的原理和过程
17-股票数据获取:爬虫方式获取行业板块数据
18-股票数据获取:爬虫抓取东方财富网股吧帖子
19-股票数据分析:全方位访问DataFrame格式股票数据
20-股票数据分析:遍历DataFrame格式股票数据的方法
21-股票数据分析:股票分时明细数据的处理与转换
22-股票数据分析:除权数据前复权和后复权处理
23-股票数据可视化:自定义Matplotlib版股票行情界面
24-股票数据可视化:pyecharts实现Web版股票行情界面
25-股票数据可视化:pyecharts从V0.5至V1版的转变
26-股票数据可视化:TA-Lib技术指标库的扩展应用
27-股票数据可视化:用TA-Lib封装更灵活的指标库
28-股票交易策略:线性回归算法建立选股策略
29-股票交易策略:基于欧奈尔RPS指标选股策略
30-股票交易策略:海龟择时策略入门量化交易
31-股票交易策略:收益与风险维度度量策略效果
32-股票交易策略:择时策略融入ATR风险管理
33-股票交易策略:择时策略融入ATR动态仓位管理
34-股票交易策略:蒙特卡洛算法最优化策略参数
35-股票交易策略:基于凯利公式的仓位管理
36-量化策略回测:扒一扒量化回测中常见的陷阱
37-量化策略回测:创建属于自己的回测框架
38-量化策略回测:如何利用聚宽平台回测交易策略【本次加推篇】
39-量化策略回测:基于BackTrader建立双均线策略
40-远程下单方案:微信机器人实时提醒交易
41-远程下单方案:SMTP邮件实时提醒交易
42-效率优化措施:Python扩展C/C++加速执行
43-结尾篇:贯穿知识点才能学以致用
前言
我们经过了自己动手搭建量化回测框架这个过程之后,能够对回测有一定的认识。
接下来可以探索下那些现有的回测框架或者平台,试着找到适合自己风格的方式。
这里我们选一个比较普及的线上回测平台——聚宽,通过几个简单的例程来熟悉下这个平台的使用特点。
编程框架
首先文件中要导入jqdata和其他使用到的库。如下所示:
# 导入函数库
import jqdataimport pandas as pd
import numpy as np
import talib as tl
基本的框架可以概括为“初始化+周期循环”框架。
首先建立一个初始化函数initialize,在函数里面可以设置基准、滑点、手续费等初始化操作。
然后选择run_daily/run_weekly/run_monthly中的一种周期去循环执行策略。
比如官网上最简单的一个例程,如下所示:
# 导入聚宽函数库
import jqdata
# 初始化函数,设定要操作的股票、基准等等def initialize(context):# 定义一个全局变量, 保存要操作的股票# 000001(股票:平安银行)g.security = '000001.XSHE'# 运行函数run_daily(market_open, time='every_bar')if g.security not in context.portfolio.positions:order(g.security, 1000)else:order(g.security, -800)
这个例程里先在初始化函数 initialize里指定操作'000001.XSHE'平安银行,然后就是每天调用market_open函数,每次调用时候判断没有股票时就买入1000股,有股票时卖出800股……虽然是一个很没意义的策略,但是对理解如何在聚宽上写策略还是比较直观的。
大家在编写策略的时候是要使用聚宽上封装了的API函数的,可以查看官网的介绍。比如set_benchmark设置基准、set_order_cost设置佣金/印花税、set_slippage设置滑点、use_real_price设置动态复权(真实价格)模式、order按股数下单、get_ticks获取tick数据等等,不得不说从这方面来看使用上还是蛮方便的。
单股票双均线择时策略
我们拿双均线策略这个入门的策略来回测一下,M5上穿M10时达到一定幅度时买入,M5下穿M10时卖出。
在初始化函数中设定操作的股票、基准、开启动态复权模式、设定每天调用的market_open函数。
接下来策略的逻辑实现都在market_open函数中。
先得到M5和M10的均线数值,attribute_history函数得到的是最近N日的收盘价数据,以close_data_5为例,每天会返回如下数值(每天都会执行一次函数,返回N日的收盘价),然后求平均即为MA5。
剩下的就是买卖点的逻辑判断,比如出现金叉买入、出现死叉卖出之类的。最后record函数还可以选择绘制收盘价、均线的走势。
整体代码我们会更新到掘金小册课程。
回测界面如下所示:
多股票双均线择时策略
很多时候我们买股票都是买多只股票的,那么如何回测多只股票情况下的双均线择时策略呢?
比如当某只股票M5上穿M10时达到一定幅度时买入100股,M5下穿M10时则卖出。
其实主要更改在于建立一个股票池,如下所示:
# 设置我们要操作的股票池
g.stocks = ['000001.XSHE','000002.XSHE','000004.XSHE','000005.XSHE']
然后在每次调用交易执行中不断去循环判断这几个股票是否达到交易条件。
回测界面如下所示:
总结
聚宽平台给量化交易者提供了一个很不错的平台,使用过程中,我的感觉是关于内置的API函数还是比较灵活的,特别是与数据相关的接口。前提是要非常熟悉这些接口的特点和使用方法。
不过回测过程中速度确实有点慢,编写和调试代码的环境和我本地相比是有点不太灵活。
总体来说瑕不掩瑜吧,大家使用后有什么想法吗?可以在留言区谈谈。
代码已更新至掘金小册,请查收!
更多量化交易内容可扫码以下课程!—————————————————海报未更新,直接扫码!扫码加入星球!
一起搭建属于自己的交易系统
—————————————————微信关注:‘元宵大师带你用Python量化交易’
量化回测平台|有现成的不用吗?如何利用聚宽平台回测交易策略相关推荐
- Python量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据
@[TOC]量化策略入门1-如何利用聚宽(JoinQuant)下载金融数据 前言 量化策略入门系列文章是本人学习股票量化笔记,最终输出结果希望是一个可在本地运行的回测框架,包含数据获取,数据处理,策略 ...
- 搭建系统|继承backtrader的本地量化回测平台如何玩转多股轮动策略!
前言 一个完整的量化交易系统离不开人机交互功能的应用,特别是在回测阶段,我们需要不断更改参数因子.更换交易策略以应对当前的市场.因此创建完整的.功能键全的GUI用户界面至关重要. 市面上也出现了很多相 ...
- python回测平台接口_Acqusta TQuant
TradeApi是个抽象的接口,用户需要从其他的接口中得到DataApi的实例.在不同的系统中,如回测平台.策略平台等,有不同的实现和创建方法,但是接口都会保持一致,方便用户平滑切换系统. 如从TQu ...
- 通联数据回测平台的测试
5.1 回测平台函数及参数介绍 5.1.1设置回测参数 1.start 与 end(设置回测区间) 其类型为字符串或datetime start='2017-01-01' end='2018-01-0 ...
- 1、回测平台搭建——思路
什么是回测平台? 最简单来说,写好了一个策略,从一个txt中读取了数据,放到策略中,得到了一个最后的收益,这个程序就是一个回测平台,用回测平台来概括虽然有些过,但是这就是一个回测平台的雏形. 升级-- ...
- 利用聚宽免费数据进行量化分析
聚宽是国内数一数二的量化投资研究平台,还提供了量化金融终端进行回测和构建策略,也提供了很多免费数据.这里简要介绍一下如何利用聚宽免费数据进行量化分析: 1.使用聚宽的量化网站平台或金融终端: 聚宽的量 ...
- 量化交易的单因子分析——聚宽平台
量化交易的单因子分析--聚宽平台 序言 检测方法 代码 序言 对于公司基本面的单因子分析 检测方法 按照基本面的某一指标,按照大小排序,分成十个组别 代码 '''-------api调用聚宽----- ...
- 掘金量化回测平台 - 1
掘金量化平台初探 python 量化分析包括:策略研发.策略回测.仿真交易.实盘交易.实盘盘后优化. 主要想使用掘金的平台来做策略回测和仿真交易两个环节的功能. 对比了下主流的云平台JoinQuant ...
- win10下搭建zipline python3.5量化回测平台环境
win10下搭建zipline python3.5量化回测平台 1.安装 Anaconda 1.1 下载Anconda 1.2 安装 1.3 Anaconda Prompt 1.4 检查安装 1.5 ...
最新文章
- XFire发布Web Services
- tomcat and server configuration for loadrunner test
- 头像裁剪上传_微信新功能:11月微信新玩法!给微信换上“皇冠头像”,还能加姓氏?...
- Halcon学习笔记(一):Qt+Halcon联合开发配置
- 面试:一文搞懂堆和栈的区别
- 吴恩达深度学习4.2练习_Convolutional Neural Networks_Happy House Residual Networks
- 吴恩达深度学习2.1练习_Improving Deep Neural Networks_Gradient Checking
- clickhouse小结--数据类型及常见客户端类型
- 【一分钟论文】轻松解读Semi-supervised Sequence Learning半监督序列学习
- java多线程,java线程同步
- 开发OA产品的部分网站
- vb调用python函数_vb.net / C# 调用 python
- C++卡常数之内存优化
- keil 调试指针不跳转 0x00000000 0000 MOVS r0,r0 解决方案
- Matlab数学建模学习报告(一)
- 计算机音乐吧粉刷匠,奥尔夫小班音乐活动:《粉刷匠》
- 小猪佩奇代码 Python
- 黄金分割法 ( 三分法 )
- 云顶之弈机器人怎么拉人_云顶之弈机器人阵容怎么玩_云顶之弈机器人阵容玩法攻略_玩游戏网...
- 【RGB手持补光棒调光照明方案】 单节双节电池LED升压恒流驱动调光芯片FP7208,PWM内部转模拟调光,无频闪顾虑低亮无抖动
热门文章
- inb $0x64, %al的原理
- 如何设计适合平板电脑浏览的网站
- 【USB】USB设备类代码表(USB Class Code)
- 江南爱软装十大品牌 窗帘怎么搭配才能变美?
- 西部数据mycloud虚拟服务器,西部数据(WD)My Cloud个人云(NAS)使用感受
- Mac中oh my zsh的配置
- 收藏:情歌天后梁静茹最新两首单曲mv天灯 不敢当(温柔动感)
- day26 网络通讯的整个流程
- 全网最全教程python.py文件右击打开没有EDIT WITH IDLE解决教程
- php三元运算符要多个赋值,PHP中的三元运算符和变量重新赋值