vnpy
文章平均质量分 81
Trader_Python
这个作者很懒,什么都没留下…
展开
-
使用TA-Lib在vn.trader上开发CTA交易策略
TA-Lib简介作为一套被业界广泛应用的开源技术分析库(包含技术指标计算和K线模式识别等),TA-Lib自2001年发布以来已经有了十多年的历史。TA-Lib中一共包含大约125个技术指标的计算函数,同时提供了包括C/C++、Java、Perl、Python等多种语言的API。有什么用简单来说TA-Lib就是提供了一堆经过长期实践检验的技术指标计算函数。基于现成的计算函数,转载 2016-10-19 09:45:43 · 5627 阅读 · 1 评论 -
vn.trader使用教程系列2-基础交易
原创文章,转载请注明出处:用Python的交易员窗口组件双击vn.trader文件夹下的vtMain.py后,会看到以上的程序主窗口,无法双击的用户一般是Anaconda安装时的.py文件打开方式问题,右键vtMain.py后->打开方式->选择Anaconda文件夹下的python.exe后就可以打开。在上一篇教程中设置好CTP接口的帐号密码等信息后,点击菜单上的转载 2016-10-19 10:07:12 · 13461 阅读 · 1 评论 -
vn.trader使用教程系列3-策略算法
原创文章,转载请注明出处:用Python的交易员风控模块点击菜单栏的功能->风险管理后,可以打开如上图所示的界面。风控模块主要提供的是针对高频策略和短周期CTA策略的事前风控功能,防止由于错误的算法逻辑导致类似光大乌龙指的事件(就算亏不了几十亿,一下子把账户亏掉一半也是很痛苦的...)。开关工作状态按钮用于控制风控模块的运行状态。处于“运行中”状态时,每笔委转载 2016-10-19 10:07:53 · 9394 阅读 · 0 评论 -
在Python中使用QuantLib
Quantlib简介相比TA-Lib在技术分析领域的地位,QuantLib在金融工程领域的地位可以说有过之而无不及。参考其官方网站,QuantLib中包含的的模块如下(其中个人感觉国内比较有用的添加了中文注释):Currencies and FX rates(货币相关)Date and time calculations(日期和时间计算)Calend转载 2016-10-19 10:10:19 · 11741 阅读 · 0 评论 -
使用TA-Lib在vn.trader上开发CTA交易策略
TA-Lib简介 作为一套被业界广泛应用的开源技术分析库(包含技术指标计算和K线模式识别等),TA-Lib自2001年发布以来已经有了十多年的历史。TA-Lib中一共包含大约125个技术指标的计算函数,同时提供了包括C/C++、Java、Perl、Python等多种语言的API。有什么用 简单来说TA-Lib就是提供了一堆经过长期实践检验的技术指标计算函数。基于现成的计算函数,开发新策略雏形、快转载 2017-02-08 16:48:36 · 3043 阅读 · 1 评论 -
海龟策略深入研究-策略回测系列-11 品种选择检验(四)
重新构建投资组合1)初步筛选初步筛选从仅仅基于历史行情外,还加多了品种波动率和自相关性的要求,故总的来说其初步筛选条件为三点:历史行情:2014年1月1日前上市 调整后波动率比值>1 ADF值>10%根据初步筛选标准,剔除了不符合要求品种后,测试样本从调整前的35个缩小至27个,根据其调整后波动率比值的大小按从大到小排序,如图所示。结合高成交量特征,...转载 2019-06-04 16:02:24 · 716 阅读 · 0 评论 -
海龟策略深入研究-策略回测系列-12 品种选择检验(五)
3)3年回望周期测试选择标准:回归夏普比率>0.4a.2014-2016测试对初步筛选出来的样本进行2014-2016年回测,选择回归夏普比率>0.4的品种,然后构成组合,如图所示。根据回归夏普比率>0.4的准则,筛选出了17个品种,其历史表现和2017年预测表现如图6-31所示。投资组合在2014-2016年年化收益73.7%,百分比最大回撤-22.9...转载 2019-06-04 16:08:11 · 512 阅读 · 0 评论 -
海龟策略深入研究-策略回测系列-13 长短周期信号检验
原版海龟策略的出入场交易信号分成2个版本: 短周期版本:1)入场信号:若期货指数价格突破20日最高价/最低价,买入/卖出1个头寸单位。过滤条件是上一次突破是盈利性突破,则当前入市信号无效(其保障性突破点为在55日通道入市)。 2)离场信号:采用10日唐奇安通道突破退出法则,即多头价格跌破10日最低点离场,空头价格超过10日最高点离场。 长周期版本:1)入场信号若价格突破55日最高价...转载 2019-06-04 16:08:53 · 654 阅读 · 0 评论 -
海龟策略深入研究-策略回测系列-14 上一笔盈利过滤检验
上一笔盈利过滤的意思是,若上一次交易为盈利的,则当前的交易信号无效,即当前不进行交易。基于20日唐奇安通道,费思认为若上一次突破是盈利的,那么新突破点可能离当前价格,因为有可能跑到55日突破点上面去;若上一次突破点亏损,那么新突破点将更加接近当前价格。若基于传统日内中高频CTA策略的视角,这是非常主观的解释:费思认为这几乎不可能连续2次出现大行情,但是事实是分钟级别的CTA策略有可...转载 2019-06-04 16:09:24 · 634 阅读 · 0 评论 -
海龟策略深入研究-策略回测系列-15 手续费滑点检验
理论上,基于日线数据的中低频趋势跟踪策略,手续费和滑点是可以忽略不计的。为了验证这个结论,进行对比测试,如图所示。右图为包含手续费和滑点版本的海龟策略,其中手续费设置为交易所手续费的1.1倍,滑点设置为期货合约的最小价格变动。其结果是总手续费为635364,总滑点为636794,加上手续费和滑点后,其影响在于:结束资金从77605953降低至76333794, 年化收...转载 2019-06-04 16:09:52 · 721 阅读 · 0 评论 -
vn.trader使用教程系列1-安装和配置
原创文章,转载请注明出处:用Python的交易员2016年已经快要过去一半,目前vn.py项目的交易平台vn.trader已经基本定型,在发布v1.0以前不再会有新的功能模块添加,接下来的时间将会主要集中精力在修复一些小bug方面,同时针对新用户推出这个《vn.trader使用教程系列》,帮助大家更快上手使用。安装运行环境和大多数商业软件的傻瓜式一路“下一步”的安装方法不同转载 2016-10-19 10:06:38 · 12207 阅读 · 0 评论 -
vn.trader的Ubuntu运行环境搭建教程
作者:量衍投资转载请注明来源:维恩的派(www.vnpie.com)准备Ubuntu建议使用一个新安装干净的Ubuntu环境(如果你一定要使用老环境也行,万一不幸掉坑后再回到这步就好),我这里使用的环境如下:版本:Ubuntu 16.04 LTS语言:简体中文时区:Shanghai硬件:VirtualBox虚拟机(64位,分配4G内存)安装Anaconda转载 2016-10-19 10:05:58 · 6959 阅读 · 3 评论 -
Python量化交易平台开发教程系列8-顶层GUI界面开发(2)
原创文章,转载请注明出处:用Python的交易员前言接上一篇,主要分为两块:展示动态语言特性简化GUI开发的组件以及功能调用组件。动态语言的方便之处########################################################################class AccountMonitor(QtGui.QTableWidg转载 2016-10-19 10:04:19 · 3196 阅读 · 0 评论 -
vn.trader Quick Start
对于大部分用户来说,无需自行编译API接口,建议可以直接使用vn.trader进行交易和策略开发。Windows 7使用步骤准备一台Windows 7 64位系统的电脑安装Anaconda:下载Python 2.7 32位版本,注意必须是32位安装MongoDB:下载Windows 64-bit 2008 R2+版本安装pymongo:在cm转载 2016-10-19 09:48:08 · 2294 阅读 · 0 评论 -
Python量化交易平台开发教程系列0-引言
原创文章,转载请注明出处:用Python的交易员为什么用Python来开发量化交易平台目前本人所在的公司一共有三款平台,分别基于C++, C#和Python。其中C#和Python平台都是由交易员开发;C++平台则是由专职IT团队作为一个通用平台开发,内部组件进行了封装(交易员不可见),对外提供行情、交易的API用于策略开发(除了C++ 外也包括C#和Python可用的API)。转载 2016-10-19 09:57:49 · 3177 阅读 · 0 评论 -
Python量化交易平台开发教程系列1-类CTP交易API的工作原理
原创文章,转载请注明出处:用Python的交易员类CTP交易API简介国内程序化交易技术的爆发式发展几乎就是起源于上期技术公司基于CTP柜台推出了交易API,使得用户可以随意开发自己的交易软件直接连接到交易柜台上进行交易,同时CTP API的设计模式也成为了许多其他柜台上交易API的设计标准,本人已知的类CTP交易API包括:上期CTP飞马华宝证券LTS转载 2016-10-19 09:58:41 · 17298 阅读 · 1 评论 -
Python量化交易平台开发教程系列2-类CTP交易API的Python封装设计
原创文章,转载请注明出处:用Python的交易员(本篇教程包含的内容太多也太复杂,有不少读者反应看不懂,因为本身也不是使用vn.py必须掌握的知识,这篇教程暂时处于半完成状态,等多收集些读者的建议后会再做一个比较大的修订)为什么要封装API直接原因就是C++的API没法直接在Python里用,不过这个回答有点太简单,这里我们稍微做一些拓展解释:C++ API中很转载 2016-10-19 09:59:37 · 11748 阅读 · 0 评论 -
Python量化交易平台开发教程系列3-vn.py项目中API封装的编译
原创文章,转载请注明出处:用Python的交易员前言经历了两篇的理论折磨后,本篇教程开始进入实际操作的环节,这里作者假设读者是毫无C++经验的用户,操作一步步配图,还有问题的来vn.py项目的github主页上提问。本篇将会包含的内容:安装Anaconda (一次安装搞定95%以上量化相关包的Python发行版)安装Visual Studio编译Boos转载 2016-10-19 10:00:17 · 9165 阅读 · 0 评论 -
Python量化交易平台开发教程系列4-事件驱动引擎原理和使用
原创文章,转载请注明出处:用Python的交易员前言从这篇开始,后面的教程都会基于Python(终于可以跟C++说再见了)。经过上一篇复杂繁琐的API编译后,我们已经有了一个可以在Python环境中用来收行情和发单的接口,但是尽管作者在Github上也放了简单的API功能测试代码作为接口使用方法的示例,绝大部分读者应该对于如何用这个接口去开发自己的交易系统毫无头绪。转载 2016-10-19 10:00:51 · 8225 阅读 · 0 评论 -
Python量化交易平台开发教程系列5-底层接口对接
原创文章,转载请注明出处:用Python的交易员前言从本篇教程开始,所有的开发都会在Python环境中进行(谢天谢地可以和C++说再见了)。通常情况下,一个交易程序的架构会由以下三个部分组成:底层接口:负责对接行情和交易API,将数据推送到系统核心中,以及发送指令(下单、数据请求等)中层引擎:用于整合程序中的各个组件(包括底层接口、数据库接口等等)到一个转载 2016-10-19 10:01:33 · 7138 阅读 · 0 评论 -
Python量化交易平台开发教程系列6-中层引擎设计
原创文章,转载请注明出处:用Python的交易员前言中层引擎在设计上主要是为了进一步封装底层接口所暴露出的API函数,使得其更容易被上层的GUI和策略组件调用。本篇的内容会相对简单,主要以LTS接口DEMO为例介绍一些设计方面的思路。相关的示例都是基于vn.demo中的LTS接口DEMO,发布在:https://github.com/vnpy/vnpy/tree/maste转载 2016-10-19 10:02:06 · 2228 阅读 · 0 评论 -
Python量化交易平台开发教程系列7-顶层GUI界面开发(1)
原创文章,转载请注明出处:用Python的交易员前言终于有时间来写第一篇顶层GUI界面开发相关的教程了,之前实在是事情太多,跟各位读者抱个歉。整合底层接口的各项功能到中层引擎中后,当我们开发顶层应用时(GUI或者策略算法),只需知道中层引擎对外提供的主动API函数以及事件引擎中相关的事件类型和数据形式即可。在GUI和策略算法这两个主要类型的顶层应用中,作者选择先介绍转载 2016-10-19 10:03:43 · 5603 阅读 · 0 评论 -
海龟策略深入研究-策略回测系列-16 单位头寸限制检验
vn.py实现了2个维度上的单位头寸限制,分别是单品种头寸上限是4,单个方向整体头寸上限是10。那么现在测试一下适用于国内期货品种的新海龟策略,其最优单位头寸限制数值是否与原版海龟策略一致。实现步骤:对单品种头寸上限分类,直接分成3、4、5, 然后基于各自的单品种头寸上限再对当个方向的整体头寸上限进行细分,分别是8、9、10、12、14、无限大。 故一共构成了3*6 = 18个测...转载 2019-06-04 16:10:22 · 656 阅读 · 0 评论