想跑次高频策略?快来看看Numpy处理真格量化tick数据的技巧

使用澎博真格量化时,很多用户希望用numpy处理tick数据,包括tick数据的留存和运算。

这里有一些技巧。

因为tick数据量比较大,为了降低系统的运算负担,我们不应该在内存里保存大量tick数据。

比如我们只想保存过去10个tick。

可以在OnStart部分初始化一个数组:

tickarray=np.empty(10, dtype ='int16' , order = 'C')

为了全局调用可以在变量前边加个“g.”.

初始化数组

该数组的初始值全是0。

然后在OnQuote部分,我们可以把最新的tick价格逐一存储到这个g.tickarray里边。

假设在一段时间后,这个数组里都已经存入了历史tick价格。

比如在t时刻,

这个数组里价格是[2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509]

到了t+1时刻,有一笔新的tick价格生成,比如2510,我们用变量newprice代表这个最新价格。

更新数组

由于numpy的array没有pop的方法,我们可以用数组裁切再插入的方法更新这个tick价格数组:

g.tickarray=g.tickarray[1:10] #裁掉数组的第一个价格数据,也就是2500。

g.tickarray=np.insert(g.tickarray,9,newprice) #把最新价格插入数组的最后一位。

现在这个数组就被更新为:

[ 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509,2510]

这样我们就可以回答最新tick比前边第3个tick高多少的问题。

以及快速计算这些tick的均值:

g.tickarray.mean()

更加快捷地设计基于Tick的交易策略。

不过,这是性能最高的方法么?且听下回分解。

下回分解

转载于:https://blog.51cto.com/14258357/2373259

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/536574.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日本显示屏巨头JDI不敌业务压力,宣布接受中方注资...

本次10亿美元的融资金额中,其中7.2亿美元据传来自中国丝绸之路基金。 最初,在液晶领域日本企业一直都占据着主要市场,如夏普、NEC、东芝等。后来随着韩国三星、LG的强势进入,日本企业的生存空间开始被抢占,现如今中国…

c语言中 d 1是啥意思,空开D/C是什么意思?终于有人把它说清楚了!

原标题:空开D/C是什么意思?终于有人把它说清楚了!空气开关是每个人家里必用的东西,但是你到五金店一看,大大小小的开关插座多了去,让人眼花缭乱。怎么选呢?空开有各种字母型号,这些字…

微信小程序开发 | 官方问答精选

2019独角兽企业重金招聘Python工程师标准>>> SF问答精选《七》 多组件显示与隐藏如何实现、function中的...SF问答精选《六》canvas不显示问题SF问答精选《五》菜单内容左右联动、生命周期函数SF问答精选《四》eslint 配置使用 co function;apache 反向代…

清北学堂培训2019.4.4

第一次培训,心情有点激动(尽管没了清明节),还见到了各地的dalao们,十分开森 Day 1(李昊dalao) 上午篇 上午呢,主要讲了关于高精,快速幂,膜模意义下的运算&…

swft c 语言 数组,如何在swift中实现数组的深拷贝

在Objective-C中如果想将一个数组赋值给另外一个数组,同时想让两个数组之间相互独立(即改变其中的一个数组,不影响另外的一个),有很多的办法,比如我们可以直接copy,用类方法创建新数组。这样得到的数组和原来的数组就是两个完全独…

android studio按钮槽函数,AndroidStudio按钮Button退出程序

AndroidStudio 3.1.41.创建一个新的项目,项目名称为Button,界面为activity_button.xml2.打开activity_button.xml3.点击HelloWorld标签,按Delete删除4.左侧组件栏选择Common - Button5.将Button组件拖到界面上,大概中间的位置6.右…

cobbler介绍与部署

cobbler介绍 Cobbler是一个Linux系统安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web)&#…

android手机给iphone越狱,一台ROOT后的安卓手机:可以用来给iOS 13越狱了

iOS 13时代的越狱工具主要包括unc0ver和Checkra1n两款,前者最新的v4.2.1版本已经支持A9到A13设备从除了支持的设备和系统多,unc0ver的一大优势在于可在iOS设备上独立完成越狱操作,Checkra1n则需要借助电脑,包括重启失效后也是如此…

iOS VIPER架构(三)

路由是实现模块间解耦的一个有效工具。如果要进行组件化开发,路由是必不可少的一部分。目前iOS上绝大部分的路由工具都是基于URL匹配的,优缺点都很明显。这篇文章里将会给出一个更加原生和安全的设计,这个设计的特点是: 路由时用p…

android camera滑动,Android怎么实现小米相机底部滑动指示器

Android怎么实现小米相机底部滑动指示器发布时间:2021-04-15 14:39:38来源:亿速云阅读:94作者:小新这篇文章给大家分享的是有关Android怎么实现小米相机底部滑动指示器的内容。小编觉得挺实用的,因此分享给大家做个参考…

Mariadb修改root密码

2019独角兽企业重金招聘Python工程师标准>>> 默认情况下,新安装的 mariadb 的密码为空,在shell终端直接输入 mysql 就能登陆数据库。 如果是刚安装第一次使用,请使用 mysql_secure_installation 命令初始化。 # mysql_secure_inst…

自学html和css,学习HTML和CSS的5大理由

描述人们学习HTML和CSS最常见的原因是开始从事web开发。但并不是只有web开发人员才要学习HTML和CSS的核心技术。作为一个网络用户,你需要你掌握的相关技术很多,但下面有5个你无法拒绝学习HTML和CSS的理由。1、轻松制作卡通动画Web上的动画很多年来都是使…

html 左侧 树形菜单,vue左侧菜单,树形图递归实现代码

学习vue有一段时间了,最近使用vue做了一套后台管理系统,左侧菜单需求是这样的,可以多层,数据由后台传递。也因为自己对官方文档的不熟悉使得自己踩了不少坑,今天写出来和大家一起分享。效果图如下所示:先说…

关于Istio 1.1,你所不知道的细节

本文整理自Istio社区成员Star在 Cloud Native Days China 2019 北京站的现场分享 第1则 主角 Istio Istio作为service mesh领域的明星项目,从2016年发布到现在热度不断攀升。 Istio & Envoy Github Star Growth 官网中Istio1.1的架构图除了数据面的Envoy和控制面…

2021吉林高考26日几点可以查询成绩,2021吉林高考成绩查分时间及入口

2021吉林高考成绩查分时间及入口2021吉林高考成绩查分时间及入口,有一些高考生真的很积极,考完试当天就将答案给对好了,考试嘛,站在旁观者的角度来看总是有人欢喜有人忧。估出来分数不咋地的,整个六月就毁了。2021吉林…

easyui,layui和 vuejs 有什么区别

2019独角兽企业重金招聘Python工程师标准>>> easyui是功能强大但是有很多的组件使用功能是十分强大的,而layui是2016年才出来的前端框架,现在才更新到2.x版本还有很多的功能没有完善,也还存在一些不稳定的情况,但是lay…

广东2021高考成绩位次查询,广东一分一段表查询2021-广东省2021年一分一段统计表...

广东省高考一分一段表是同学们在填报高考志愿时的重要参考资料之一。根据一分一段表,大家不仅可以清楚地了解自己的高考成绩在全省的排名,还可以结合心仪的大学近3年在广东省的录取位次变化,判断出自己被录取的概率大概是多少。根据考试院公布…

PAKDD 2019 都有哪些重要看点?看这篇文章就够了!...

雷锋网 AI 科技评论按:亚太地区知识发现与数据挖掘国际会议(Pacific Asia Knowledge Discovery and Data Mining,PAKDD)是亚太地区数据挖掘领域的顶级国际会议,旨在为数据挖掘相关领域的研究者和从业者提供一个可自由 …

大学计算机基础书本里的毕业论文源稿,计算机基础毕业论文范文

计算机基础毕业论文范文导语:关于大学计算机基础的教学,需要不断探索与实践,实现更好的教学。下面是小编带来的计算机基础毕业论文,欢迎阅读与参考。论文:大学计算机基础教学的探索与实践摘要:大学计算机基…

计算机技术基础 VB 答案,《计算机技术基础(VB)》武汉理工大学20春作业一

计算机技术基础(VB)_作业一1.[判断题] 写在一行上的多条语句,应以逗号作为分隔符。奥鹏作业答案可以联系QQ 761296021A.正确B.错误正确答案:——B——2.[判断题] 滚动条的最小值、最大值、最小变动值、最大变动值属性均可自行设计。A.正确B.错误正确答案:——A——3…