VNPY回测流程】的更多相关文章

又是好久没更新了,2月这一个月,工作上也忙,正好也是过年.加上前一段时间,一直在爬取某眼查的数据. 对VNPY的使用时间就减少了,不过最近还是完成了vnpy回测结构的思维导图.如下: 值得注意的是,vnpy本身提供两种回测统计功能:1.按日统计结果 2.按笔统计结果 这两种统计都是单利统计,与实盘操作上略有不同. 大家有需要的话,可以自己行改成复利统计,只需要在每笔的净利润上乘以手数,然后加总当前资金,得出新的当前资金,然后使用新的当前资金和仓位计算下笔开开仓手数即可. 最后还是老规矩,附上xm…
一.RQalpha github 地址  https://github.com/ricequant/rqalpha 1.运行test.py文件,显示 No module named 'logbook.base'. 解决先卸载再安装: pip uninstall logbook   pip install logbook 2.出现:RuntimeError: 请设置账户及初始资金. 解决: 二.Zipline github地址  https://github.com/quantopian/zipl…
本文主要记录我构建量化回测系统的学习历程. 被遗弃的项目:Chandlercjy/OnePy_Old 新更新中的项目:Chandlercjy/OnePy 目录 1. 那究竟应该学习哪种编程语言比较好呢? 2. 是否也有些python在线教学视频可以加速学习? 3. 那有没有什么现成的回测系统可以直接拿来用,避免重复造轮子? 4. 既然学习别人的框架那么困难,不如自己写一个框架出来? 5. 写出这个回测框架之后,我开始思考,如何接入实盘交易? 6. 再写一个完善的 OnePy 回测框架. 正文:…
用Python编写的第一个回测程序 2016-08-06 def savfig(figureObj, fn_prefix1='backtest8', fn_prefix2='_1_'): import datetime fmt= '%Y_%m_%d_%H_%M_%S' now = datetime.datetime.now() fname_savfig = fn_prefix1 + fn_prefix2 + now.strftime(fmt)+ '.png' figureObj.savefig(…
程序参数 PARAMS = { "start_time": "2017-02-01 00:00:00", "end_time": "2017-08-01 00:00:00", "slippage": 0.003, # 此处"slippage"包含佣金(千二)+交易滑点(千一) "account_initial": {"huobi_cny_cash"…
作者: 阿布 阿布量化版权所有 未经允许 禁止转载 abu量化系统github地址(欢迎+star) 本节ipython notebook 之前的小节回测示例都是使用美股,本节示例A股市场的回测. 买入因子,卖出因子等依然使用相同的设置,如下所示: # 设置初始资金数 read_cash = 1000000 # 买入因子依然延用向上突破因子 buy_factors = [{'xd': 60, 'class': AbuFactorBuyBreak}, {'xd': 42, 'class': Abu…
转自:http://www.cnblogs.com/dxf813/p/7845398.html 基于zipline的分钟回测改写,其中数据源为自定义,使用bcolz的ctable,该数据格式与pandas的DataFrame很好兼容,并且bcolz文件压缩率很好.以下主要记录此次改写回测整个过程中涉及类和方法,没有附带代码. 一,自定义分钟回测数据源BcolzBacktestMinData类 def zk_get_min_data 取获得多只股票某个时间点前的N个指定字段的值 def zk_ge…
量化投资策略:常见的几种Python回测框架(库) 原文地址:http://blog.csdn.net/lawme/article/details/51454237 本文章为转载文章.这段时间在研究量化策略方向,研究了Zipline一段时间,但是后续发现他仅支持美国股票,收集量化策略文章,转载到博客中. 在实盘交易之前,必须对量化交易策略进行回测.在此,我们评价一下常用的Python回测框架(库).评价的尺度包括用途范围(回测.虚盘交易.实盘交易),易用程度(结构良好.文档完整)和扩展性(速度快…
pybacktest 教程 本教程让你快速了解 pybacktest's 的功能.为此,我们回测精典交易策略移动平均线MA交叉. MA快线上穿慢线时,买进做多 MA快线下穿慢线时,卖出做空 进场规则,也是退场规则,交易策略相反相成 软件包在此下载 https://github.com/ematvey/pybacktest import pybacktest import pandas as pd pybacktest 要求的 k 线数据格式为 pandas.DataFrame ,以时间戳为索引,…
pybacktest 的疑点 第(一)节“教程”原文,是用 ipython notebook 写成,程序代码是一些片段组成. 为了阅读方便,合并在一起. 本文转载于:http://blog.csdn.net/lawme/article/details/51773744 import pybacktest import pandas as pd ohlc = pybacktest.load_from_yahoo('SPY') ohlc.tail() short_ma = 50 long_ma = …
年初学习量化投资,一开始想自己从头写,还是受了C/C++的影响.结果困在了计算回测数据那里,结果老也不对,就暂时放下了.最近试了一下python的各个量化投资框架,发现一个能用的——pyalgotrade,重新开始吧.这是一个事件驱动型量化交易框架. 使用pyalgotrade的一大问题是数据获取,其支持从yahoo,谷歌等途径获得数据,但要获取A股数据比较麻烦.还是用tushare获取数据比较方便.但pyalgotrade并不直接支持tushare数据格式.网上有人介绍了将tushare数据转…
量化系统投入实际使用之前,人们会希望提前测试交易的效果.这个期间往往涉及代码的改动和参数的调整.最常见的做法是将历史数据输入量化系统,让量化系统根据既定的交易逻辑进行操作,观察和分析交易结果,找到问题所在,调整量化系统,然后以此循环,直到效果达到预期为止. 该过程在业界被称为回测.回测是量化工作者常见的工作内容之一. Note 很遗憾的是,回测跟实盘交易永远存在差距,再好的系统也无法回避.现在市面上有几个开源的回测引擎框架,虽然减少了回测的开发工作量,但或多或少都存在回测的误差.在此,我们优先介…
原文连接:https://www.fmz.com/digest-topic/4009 大部分策略在实盘之前都需要回测进行验证,FMZ支持部分品种数字货币现货.期货和永续合约,以及商品期货所有品种.但发明者量化平台的回测机制和常见的onbar回测有所区别,造成了很多新手的困惑.本文将详细说明并解答一些常见的回测问题.   回测系统是如何运作的? 如上图所示,回测开始时间到结束时间可以当作一个时间轴,回测时,回测时间点沿轴从左到右移动开始回测,在这个时间点上,只能获取到此点之前的历史数据,策略根据这…
手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的,交易将无利可图.均值回归是金融学的一个重要概念,指股票价格无论高于或低于价值中枢都会以很高的概率向价值中枢回归的趋势.中国古语"盛极而衰,否极泰来",就暗含着均值回归的思想.如果说要为均值回归寻找一个比较合理的理论解释,不妨借鉴一下索罗斯的"反身性理论".索罗斯认为.市…
更多精彩内容,欢迎关注公众号:数量技术宅.想要获取本期分享的完整策略代码,请加技术宅微信:sljsz01 TradingView平台简介 前段时间,有粉丝找到技术宅,表示他有一个常用的交易平台,叫做TradingView,希望技术宅能将分享的策略,用这个平台的语言改写.确实,有部分交易者,他们长时间在某个平台交易,适应了这个平台的操作,而有相当一部分平台,会提供量化交易的接口,或者内置一些简易的可编程语言,帮助大家实现指标计算.甚至是自动交易. 打开TradingView的主页,可以看到Trad…
如果一个BLE设备已经与蓝牙中心设备连接上,那么当中心设备的断电重启,其依然会和配对过的BLE设备连接上,而不需要重新走配对的流程,这个过程叫做回连. 这篇文章就分析一下当中心设备断电重启之后,其与BLE设备的回连的流程. 当设备重启之后,蓝牙协议栈以及所有的上层的profile 都要重新进行初始化,之前的配对信息是保存在文件bt_config.conf中,蓝牙起来之后,会去加载这个文件,去解析曾经配对过的设备,对于已经配对过的设备,并且配对信息保持完整,那么就会对该设备发起回连.那么是什么时候…
==========================================================================安装anaconda 3 64位版本cd /optmkdir softwarecd software若wget 不存在,yum install wgetwget https://repo.anaconda.com/archive/Anaconda3-2018.12-Linux-x86_64.shchmod 777 Anaconda3-2018.12-…
# -*- coding: utf-8 -*- import os import pandas as pd # ========== 遍历数据文件夹中所有股票文件的文件名,得到股票代码列表stock_code_list stock_code_list = [] for root, dirs, files in os.walk('all_stock_data'):# 注意:这里请填写数据文件在您电脑中的路径 if files: for f in files: if '.csv' in f: sto…
1 #!/usr/bin/env groovy Jenkinsfile node { //服务名称 def service_name = "**" //包名 def service_bag_name = "**.jar" //制品库目录 service_product = "/data/server/**/project-demo" //工作目录 workspaces="/data/**/**-${service_name}"…
2017年9月8日,证监会公布首批公募FOF基金名单,标志着公募FOF产品正式落地.FOF(Fund of Funds)是一种通过投资基金,而非直接投资具体证券标的(股票或债券等)来实现分散化资产配置的理财产品.其主要优势在于:(1)FOF投资者不再需要承担研究和跟踪每一类标的(股票.债券等)的繁重任务,而只需要专注于挑选不同领域表现优秀的专业投资管理顾问,从而实现投资流程的分工和专业化:(2)通过投资不同类型.不同风格的基金,实现多样化的资产配置,以适应不同的市场环境和经济周期. 首批发行的六…
VNPY 架构设计文档 版本日志: 一. 引言 编写目的: 该软件概要设计说明书是“VNPY”开发中的重要文献资料,所完成的工作是将需求说明书中的数据流图转化成软件结构和数据结构,为后续进行详细设计说明书做好铺垫 .是开发人员进行功能设计和代码编写以及其他的具体实施开发工程提供必要的参考资料,在系统开发完成后期为系统的测试.验收提供帮助.其编写过程由项目的重要策划人完成.预期读者是从事“VNPY”开发的相关工作人员 背景: 无 定义: 无 参考资料 无 二.总体设计 1.1  需求规定 参见 <…
1.按照github中环境准备要求,配置好环境要求. https://github.com/vnpy/vnpy mongdb安装在D:\Program Files\MongoDB\Server\3.4     将MongoDB配置为系统服务  http://blog.csdn.net/Tong_T/article/details/78698122 sc.exe create MongoDB binPath= "\"D:\Program Files\MongoDB\Server\3.4\…
VNPY是使用人数世界第三,国内第一的量化交易框架,封装的接口主要有ctp(期货),wind,xtp(股票)等.内部包含回测.实盘.模拟盘等模块.数据库默认为MongoDB的no-sql数据库,基于pyqt建立的可视化界面(虽然依然很丑...). 对于想做量化交易的投资者来说,vnpy的功能相比其他框架更全,版本更新快,使用人数多,可能出现的bug会被及时的修复. 封装了多种交易API,包括国内股票.期货.期权,国外股票,比特币,火币等等. 大概从去年(2017年11月左右吧)开始学习vnpy的…
一.python 简介 python 特点 Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页编程的JavaScript语言等等. 那Python是一种什么语言? 首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个MP3,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的…
原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431658624177ea4f8fcb06bc4d0e8aab2fd7aa65dd95000 一 初识Python python是一种面向对象.解释型的计算机程序语言.Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发…
vnpy源码阅读学习 目标 通过阅读vnpy,学习量化交易系统的一些设计思路和理念. 通过阅读vnpy学习python项目开发的一些技巧和范式 通过vnpy的设计,可以用python复现一个小型简单的量化交易系统 看看是否可以用java或者.net做一个类似的量化交易框架 准备工作 在阅读所有的源码之前,我们先查找一下前人做过的一些工作.比如关于vnpy的源码阅读,评价,工作原理.避免我们走弯路.我找到了一下文档.做一下记录,留作备用. VNPY 架构设计文档 vn.py源码解读(一.环境配置与…
#来源于github下载vnpy版本  20180413 11.多投资标的情况下,该如何修改? 10.stop和limit报单有什么区别呢? 在交易时用得最多的是二类定单,第一类是市价单(Market Order),就是用市场现在的报价成交,这类定单非常简单易懂,不需要多作解释,但第二类的定单相对比较复杂一点,它包括二种定单,一种是限价单,一种是止损单.       限价单和止损单都属于挂单,也就是用市场以后可能会出现的价格成交,如果设定的价格不出现则不成交,一旦设定的价格出现,挂单就自动转成市…
关于app 在入口程序中,我们看到了把 gateway,app, 各类的engine都添加到mainEngine中来.不难猜测gateway主要是处理跟外部的行情,接口各方面的代码,通过别人的文章也不难看出Engine则是vnpy的核心,可以处理策略,回测等各方面的事情.我们吃柿子找软的捏的方式,先挑选最简单的容易理解的部分开始阅读,然后逐步想最难的部分去理解.所以先从APP部分开始阅读. 开始 main_engine.add_app(OptionMasterApp) 入口部分既然有这个代码.那…
本节内容: 1,Python介绍发展史 2,安装 3,Hello World 4,程序 5,变量,字符编码 6,用户输入 7,模块初识 一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五, Python崇尚优美.清晰.简单,是一个优秀并广泛使用的语言. 由上图可见,Python…
Python之路,Day1 - Python基础1   本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 作业需求 一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯…