VNPY 一种基于统计的交易策略简易实现
在微信公众号 “量化投资与机器学习”, 看到一个推文“我就不用AI、ML模型预测股价,来点不一样的“, 链接如下:https://mp.weixin.qq.com/s/QnVn3aZUro4K0XF8A9qFtw交易思维是基于历史数据中,一组数据比如100天中,K线中最高点或者最低点相对于开始价位价差点差,再利用numpy的函数numpy.percentile(), 计算在比如95%机会,最高点或
VNPY 交易所返回委托和交易状态到策略的源代码分析
主要分析两个在类策略模型ctaTemplate的中的函数,onTrade和onOrder,其实两个很相似,被别的其他实例调用,推入更新的Trade和Order实例,并执行函数内的代码。对于Tick级别的交易,还是还是会经常用到这两个。下面是在ctaTemplate中的定义。 def onOrder(self, order): &n
VNPY,从发送交易指令到交易所的源代码分析
在尝试写tick级别的策略,由于交易反馈时间要求高,感觉需要对单个order的事有个全面了解,就花了些时间尝试性去分析了VNPY中 从发送交易指令(sendOrder())到交易所,和接收成交返回信息(onOrder()/onTrade())的代码。如果有错误或者遗漏,请指正。这里先将发送在策略中,一般不直接调用sendOrder(), 而且用四个二次封装函数函数,这些都是在class  
VNPY中 Tick级别准高频交易简单策略
VNPY中,大多策略都是基于bar分钟级别;国内tick是一秒两笔,频率不算太高。这里尝试做了一个Tick基本准高频交易策略,只是为了实现思路。可以回测,不要直接用。。回测时候记得把回测模式改为TICK_MODE, 数据库改为TICK_DB_NAME,还有setStartDate时候initdays设为0,不需要回读历史天数,只需要当天数据; 另外TICK回测超过一天系统就报错内存不够, 所以最好
VNPY 行情数据中非行情数据清理
前一篇文章有朋友留言,问到有时候过了下午3点,夜盘时候,vnpy没法争取产生指标数据。因为回答留言失败,所以专门写一篇。其实原因是下午3点是当日交易结束,夜盘其实算第二天,那么结束后,ctp接口会发送一些非行情数据,比如期货市场的通知,保证金调整,你的交易账户的一些信息等等。怎么消除呢,其实最好就...
Windows下使用TensorBoard显示几个注意点
看到文章多是在linux或者Mac环境下的TensorBoard的时候,在windows下使用还是有几个注意点。1. log输出路径定义 直接指明这个event输出路径,然后去查看时候生成。点击(此处)折叠或打开writer = tf.summary.FileWriter("C:\Project\\tensorflow\logs\\", sess....
趋势性量化交易策略的一些思考
用了vnpy,前前后后修改和新建了十多个策略,回测也做了,实盘也亏过。感觉下了,做了写总结:一个趋势性量化交易策略必须包括,三个阶段指标 1.入场阶段:必须有两个指标,有一个确定时机,一个确定价格;时机可以是摆动指标(KDJ,MACD,CCI)这样;价格通常是趋势指标(Bolling,多日均线,肯特纳等等),当然,可以考...
VNPY 基于SAR和肯特纳的交易策略
一个比较简单策略,主要是为了验证SAR出场指标的;然后和可以结合其他下单值,做的一个简单组合。只是用来测试。入场指标,cci,如果cci大于0,多头,cci小于0空头。下阻止单,金额就是Kelter上下轨。多头买入价格是通道上轨。空头买入价格是通道下轨。出场指标,这里出场和入场适用不同周期的k线,因为这样可以更灵活跑...
VNPY 单品种期货的网格交易策略的实现
当空单到达定义的最大手数不再下单为防止在一个线上下波动,造成重复开平仓情况,如果突破平仓,比如平多单,后面n个bar不能再开多单,只能开空单;反之平空单后,后面n个bar只能开多单。现在这个策略很粗糙,只做实现逻辑分析,可以回测,考虑涉及仓位控制,别实盘。点击(此处)折叠或打开...
Python中Pandas 方法cut简单讲讲
Pandas.cut 方法作用,刚刚接触pandas.cut方法时候一脸懵逼,这个到底是干什么的呢,输出也是很奇怪的复合内容。后来做了个下面两个小测试大概明白了。pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False)网上查到的解释太玄幻,简单理解,主要作用就是把一...
VNPY 批量优化参数,并输出到excel
VNPY中,优化参数也经常要批量去做,一个是一组不同策略批量对一个品种优化,还有一个策略对应不同凭证,下面是源代码,放在example\CtaBacktesting文件夹下面,主要是参考了原来的优化代码。还有就是输出时候,由于优化的时候,结果可能很多,默认输出30个到excel。点击(此处)折叠或打开...
VNPY 批量策略回测和统计结果的excel输出
做VNPY这段时间,发现主要就是回测,和策略优化;然后就是有批量测试和参数集合效果导出excel分析要求。还有就是一个策略对不同品种效果验证。然后想想,就自己写了一个BatchBackTest 类,其实很简答,就是输入品种队列,和策略队列,然后就会循环跑出结果,输出到指定路径excel。 还有就是策略是元组,是由一个策略和对...
VNPY 中基于Ta-lib的KDJ策略实现
VNPY自带演示策略中,没有kdj策略,作为一个国内常用策略,这里讲讲怎么实现。首先,Ta-lib这个python库里面并没有提供kdj策略,估计主要因为这个策略主要在流行,不过ta-lib提供了类似的方法STOCH()。可以实现KD效果。那么首先为class ArrayManager新增一个方法kdj,来输出KDJ值。我是直接修改ctaTemplate.py 文件,...
Windows10下tensorflow 1.8 CUDA GPU加速版本安装几个坑
做策略,想跟跟风,加入人工神经网络,deep learning。就试试学习下最火的tensorflow吧然后看到gpu加速版本性能比cpu好很多,就装了试试,发现坑比较多。按照还是比较麻烦,其实cpu版本还是简单很多,老黄的玩意支持性果然欠缺。首先是确认下你的显卡支持不,这时候就后悔没有买个游戏本;小米pro的mx 150显卡照实聊胜...
VNPY 自带跨时间周期交易策略MultiTimeframeStrategy 分析
之前写了bollchannel布林线轨道策略,感觉自己也有收获,趁热打铁,分析下另一个时间周期策略。其实原理很简单,就是15分钟周期分析现在多头还是空头市场,再结合rsi指标,在5分钟线K线级别下单。非常简单,也很有效。class MultiTimeframeStrategy(CtaTemplate): """跨时间周期交易策略""" ...
vnpy,BollChannel布林线轨道策略分析
最近一致在用VNPY原包提供的模版策略,修改了也不少,这里面就随便分析。BollChannel策略是很精巧的逻辑。基于15分钟K线轮询,利用阻止单跟随15分钟间的市场变动。classBollChannelStrategy(CtaTemplate):CtaTemplate,这样也就继承了被实盘engine调用启用的这样一套使用接口。 className = 'Bol...
VNPY实盘交易中,出现发单成功但是没有交易情况
适用VNPY在跑一个策略,效果还可以,但是多次出现发单成果但是没有交易的情况。也有一些交易成功,但是以为是网络或者交易商系统问题,研究后发现是策略本身设定。原来一般由两种下单方式,是普通委托单,和。 停止委托单:其实可以理解带条件的交易单,当市价到达发起价格后,就执行交易...
SAP TRM金融资产风险管理模块云版本介绍
SAP TRM:介绍:SAP TRM是一套针对金融产品的全生命周期管理,及其风险分析的模块;可以做为S/HANA Cloud 模块实施,也可以独立部署。适用公司比如金融投资企业,或者有大量金融产品的大中型企业,比如有大量外汇交易,现金借贷的交易的公司。 亮点:1.金融产品的全生命周期管理,从发起...
SAP TRM模块中投资风险分析Credit Risk Analyzer
SAP TRM模块中,除了针对金融产品的全生命周期管理子模块,最重要的就是风险分析模块,包括了 Credit Risk Analyzer投资风险分析,Portfolio Analyzer 投资组合收益分析,MarketRisk Analyzer市场风险分析的实现三大分析方法功能。 其中投资组合收益分析在之前介绍收益分析方法和指标种涉及了些,后面有...
IFRS9规则下,三类金融资产的划分
IFRS9 一个很改动,就是金融资产的以摊余成本计量的金融资产(AMC)、以公允价值计量且变动计入其他综合收益的金融资产(FVOCI)、以公允价值计量且变动计入当期损益的金融资产(FVPL)。 IFRS9 中一个很大改动就是金融资产种类从四种改为三种,相对简化。由于我是一直做项目,都是基于IFRS9,就不啰...