利用VNPY回测引擎分析实盘交易,并用excel和pdf输出分析结果
算是之前一篇文章的后续http://blog.itpub.net/22259926/viewspace-2564798/之前写了一篇文章,在实盘交易时候,用数据库记录交易信息,其实就是把交易信息类型VtTradeData的实例保存的到数据库中。之前盘后分析主要是数据库把collection导出到csv文档,然后下载本地用excel分析,拼凑出sharpe指标,趋势图一些;费时费力还不准确;只能说近
Python2 和Python3 中对中分数的转化差异,有可能导致计算差异
在从VNPY1.92 逐步转到VNPY2,发现了不少python2和python3的差异。最近发现一个策略,VNPY1和VNPY2的结果怎么都不相同,回测发现,是存储分数差异造成的。算是python2的bug,不注意容易出错。python中数值类型有int整数,float浮点数等,分数通常是按照浮点数存储的。因为python 类型定义时候没有指定类型,按是系统自动匹配的。在python2 中如果分
变点理论CUSUM在择时交易中的应用
之前看到一篇文章,变点理论CUSUM在量化交易中;列了一堆数据和公式,说结果不错。链接如下:https://max.book118.com/html/2017/0726/124391946.shtm 或者这个,就是整理版,有很详细的公式推导,不过代码写的不清不楚的,应该没写完。https://wizardforcel.gitbooks.io/python-quant-uqer/134.html 花
VNPY参数优化功能v1版本中的一个更新参数批量生成方法
VNPY的参数优化功能,是策略优化的重要功能。主要就是按照范围生成批量的参数组合,然后成批跑完,选出最优的方法的。在ctaBaclesting.py中的addParameter方法提供了批量导入参数的方法。就是这样一个参数一个参数填入。addParameter会按照1为初始,5为介绍,2为步进,生成[1,3,5]参数队列setting.addParameter('barMins',
为VNPY的K线序列管理工具ArrayManager增加对数收益率队列
在做策略建模的时候,经常需要把K线转换为可以正态分布数据,这样可以使用那些很牛吼吼的数学模型进行挖掘。实现很简单c = ln(t1/t0)像相信研究可以看看这个https://www.zhihu.com/question/30113132在VNPY的K线序列管理工具ArrayManager,可以加入下面代码。按照属性返回百分比序列@property def percentLog(sel
Mann-Kendall算法用于金融品种长周期趋势判断和变点检测,以及策略思路
之前在研究用机器学习库Sci-kit做计算指标(特征值)和金融产品趋势(分类)关系学习的时候,对于如何判断趋势,是直接使用当前之后5根k线close值做线性回归,如果拟合的P值可信的直线斜率向上则是上涨,斜率向下则是下跌。具体代码可以见之前我之前blog。在vnpy有个网友讨论,为什么用这样方法判断趋势的时候;我做了些搜索,才发现判断一组时序队列的趋势并不是一个简单的事情,虽然人眼看很直接,但是数
另一个视角,使用对数化数据,计算非价位指标
之前在做时序数据整理时候学习时候,发现很多代码都行情数据做了对数化处理。学习了下,发现是另一个视角。https://www.zhihu.com/question/20831196/answer/16324269知乎查了,这个答案比较全。在很多计算中(例如做极大似然的时候),取对数可以将本来需要做的乘法变成加法;取对数可以避免数值巨大,计算机难于处理的困难;与对数有关的数据可以反映出物理量尺度的变化
如果使用Joinquant做实盘行情数据,有一个比较大bug的要注意
在我之前文章中,讲了用Joinquant做数据源,链接:http://blog.itpub.net/22259926/viewspace-2643621/ ,但是在我用作数据源做实盘交易的时候, 发下一个很危险的bug,更新下。如下图,如果运行行情数据下载时候,是在交易日中的话比如2点半,如果填写的endDate是当天,那么返回数据会自动填充到下午3点交易时候。
利用Scikit-learn机器学习库的特征分类进行vnpy期货量化交易(简介)
这个算是一个小坑,因为我也还在学习过程中,代码慢慢完善。一开始在python 2.7,vnpy 1.9.2环境中实现。后面在python 3.7也基本实现,增加支持了xgboost。代码写的繁杂,多多抱歉。首先说说Scikit-learn是Python语言中专门针对机器学习应用而发展起来的一款开源框架,相对于现在深度学习库tensorflow,由于Scikit-learn本身不支持深度学习,也不支
为K线序列管理添加变动百分比属性,和一个简单分析
一般K线数据,主要是记录HLOC(High,Low,Open,Close)四个值,再加上Volume交易量。在做基于K线分析时候,变动百分比也是一个经常考虑数值。这里说下增加变动百分比的属性。其实还是很简单,如果不考虑跳空的话,就是(Close - Open)* 100.0 / Open; 考虑到跳空的话,就是当前K线结束值前取上个K线结束值,再处于上个K线结束值即可。如果有个close的值队列的
遗传算法库DEAP的示例代码的学习和分析
最近看到用遗传算法优化量化参数的文章,觉得还是有很先进,就开始学习。这个文章主要是针对针对遗传算法库DEAP的示例代码的学习和分析。代码链接:其实有不少针对这段代码文章,这里主要说说自己学习。原文链接如下: https://deap.readthedocs.io/en/master/overview.html 定义类型,方法creator.create(name,base,**kargs)这个有点
VNPY 基于SAR和肯特纳的交易策略
一个比较简单策略,主要是为了验证SAR出场指标的;然后和可以结合其他下单值,做的一个简单组合。只是用来测试。入场指标,cci,如果cci大于0,多头,cci小于0空头。下阻止单,金额就是Kelter上下轨。多头买入价格是通道上轨。空头买入价格是通道下轨。出场指标,这里出场和入场适用不同周期的k线,因为这样可以更灵活跑...
改变生活习惯
1、11点以前睡觉2、不吃太饱3、适当远动4、放松减压
聊聊GOOGLE说要退出中国这个事儿
想想估计也就是谷歌了....搭车闲聊,您觉得谷歌这次在中国出事儿,能谈的上“因为没有职业CEO”引出的弊病吗?技术流BOSS太执拗引起的公司政策不“入乡随俗”?免贵。。这个问题很有意思,共同探讨啊。。。我是...
利用TODA进行ORACLE数据快捷导入导出
Oracle本身提供EXP/IMP进行数据的导入导出,具体实现方法可以GOOGLE之。 个人感觉EXP/IMP稍微有点麻烦,而且命令行操作还是要小心点。 最近干活,涉及...
oracle中基于ROWNUM的查找的返回
今天,讨论到一个ORACLE的一个问题, 就是对ROWNUM的查找: 如 select time, rownum from test1  ...
数据库其实是个挺好的方向
发现好多同学,说学IT的哦,对数据库感觉都是不是很亲近或者关注。 知道点DML/DQL和范式就差不多了。把精力投入到想HTML5或者python、ruby一类新技术,或者JAVA的繁多框架中去。 当然,...