vnpy

vnpy源码阅读学习(8):关于app

北城余情 提交于 2020-03-30 11:27:46
关于app 在入口程序中,我们看到了把 gateway , app , 各类的 engine 都添加到 mainEngine 中来。不难猜测 gateway 主要是处理跟外部的行情,接口各方面的代码,通过别人的文章也不难看出Engine则是 vnpy 的核心,可以处理策略,回测等各方面的事情。我们吃柿子找软的捏的方式,先挑选最简单的容易理解的部分开始阅读,然后逐步想最难的部分去理解。所以先从APP部分开始阅读。 开始 main_engine.add_app(OptionMasterApp) 入口部分既然有这个代码。那么我们就从 OptionMasterApp 开始。 一路跟踪 #\vnpy\app\option_master\__init__.py class OptionMasterApp(BaseApp): #省略 #\vnpy\trader\app.py class BaseApp(ABC): #省略 #D:\Python\Python36\Lib\abc.py APC是python内置的模块了,首先让我们学习下abc的用法。我找到以下教程 Python中的abc模块 通过对ABC类的学习,我们大概能明白,ABC类是一个抽象类,相当于其他语言接口的概念。我们可以理解为BaseApp是一个抽象的接口。 BaseApp class BaseApp(ABC): """

centos安装 TA-Lib

与世无争的帅哥 提交于 2020-01-18 01:29:45
奇葩问题 问题一:gcc 编译器未安装 问题二: command 'gcc' failed with exit status 1 问题三: Traceback (most recent call last): File "run1.py", line 3, in <module> from vnpy.trader.engine import MainEngine, LogEngine File "/home/fireaiserver/VNPY/vnpy/trader/engine.py", line 32, in <module> from .setting import SETTINGS File "/home/fireaiserver/VNPY/vnpy/trader/setting.py", line 7, in <module> from .utility import load_json File "/home/fireaiserver/VNPY/vnpy/trader/utility.py", line 10, in <module> import talib File "/home/fireaiserver/anaconda3/envs/vnpy/lib/python3.6/site-packages/talib/__init__.py", line 43, in

VNPY回测踩坑全记录

二次信任 提交于 2019-12-11 02:01:53
自从用上VNPY,我就感觉永无宁日,这坑多的,我感觉都快把地球挖穿了,我把我遇到的坑写一下吧,希望大家以后别踩到。 安装VN Studio 这是官方推荐的傻瓜式按照,相当于把VNPY变成一个软件包,一下搞定全部模块,安装可以一路next,也可以把安装路径修改了,这个地方没有坑。 运行VN Station 双击运行,注册登录之后,进入面板,这个地方第一坑就是要选VN Trader Pro。 然后跳转到 这是选择VN Trader运行时目录,这里默认是当前操作系统的用户目录(User Path),比如我这里就是 C:\Users\Administrator 。 在2.0中对Python源代码和运行时文件进行了分离,VN Trader运行过程中所有产生的配置文件、临时文件、数据文件(使用SQLite数据库),都会放置在运行时目录下的.vntrader文件夹中。 当VN Trader启动时, 会检查当前目录是否存在.vntrader文件夹,若有就直接使用当前目录作为运行时目录,找不到则会使用默认的用户目录(并在其中创建.vntrader文件夹)。 这个地方一定要选.vntrader文件夹 ,我以前都是随便选一个,就进坑了。 理论上选哪个都行,关键就是我安装之后,因为各种原因有多次卸载重装软件。因为以前是随便选的文件夹,所以很多文件夹里都有配置文件,就算重装也会莫名其妙的各种报错

quantos学习:通过vnpy与jaqs进行实盘

匿名 (未验证) 提交于 2019-12-02 22:56:40
根据PKUJohnson的github的指南,完成vnpy与jaqs的实盘对接,原地址如下: https://github.com/PKUJohnson/LearnJaqsByExample/blob/master/case4.md 我是通过代码安装vnpy与jaqs,vnpy使用的是python2.7,jaqs使用的是python3.6 启动vnpy/examples/JaqsService,启动与jaqs对接的服务 配置CTP_connect.json,用python2启动runUI.py 点击系统,连接CTP,即可连接上CTP的账户信息。 realrun.bat文件中是python3 real_run.py,用来运行real_run.py 编辑real_run.py,将data_config中修改为自己的信息,trade_config由于启动的是本地的交易服务vnpy,所以不需要进行修改。 运行后即可看到数据的输出 在vnpy的功能,jaqs服务中,也可以看到日志信息,此时,对接实盘的过程就完成了。 问题汇总: 1.如何进行多策略实盘 2.实盘中只能触发on_tick事件,无法触发on_bar事件,目前看有两种解决办法:vnpy提供的K线聚合类,在on_tick中进行聚合,或者quantos提供的datacore进行聚合,进行进一步研究之后,实现K线聚合 原文:https:/