vn.py量化社区
By Traders, For Traders.
Member
avatar
加入于:
帖子: 163
声望: 18

尽管使用vn.py的用户使用windows或者linux服务器居多,但是社区内也有不少用户希望能在mac下运行vn.py进行数字货币的交易,本篇教程就针对如何在Mac系列的机器上成功运行vn.py连接coinbase数字货币交易所进行讲解。本文主要分以下几个部分:

  • python环境的安装
  • vn.py及依赖项的安装
  • 运行vn.py
  • 使用vn.py

 
python环境的安装
在mac下使用miniconda可以省去很多不必要的麻烦。
打开Minconda官网:https://docs.conda.io/en/latest/miniconda.html, 选择MacOSX Installer下的Python3.7,选择64位的pkg安装包进行下载并解压:
description
安装完毕后,在terminal输入python,会发现terminal自动将miniconda附带的python作为系统默认python了。
description
 
安装vn.py
因为mac自带git神器,因此直接在terminal里下载vnpy即可:打开terminal,使用cd切换到想要下载的路径,然后输入以下命令:
description
上图我将vnpy整个文件夹clone至Desktop。当clone完毕后,在cd进入vnpy文件夹,输入如下命令:
description
(注,cd的是一个命令,例如我要切换到/Users/limingfang/Desktop/,则只需要在terminal输入

cd /Users/limingfang/Desktop

安装的时间比较久,需要耐心等待。
在安装完成后,vn.py以及依赖项就被安装至Miniconda的python库中了。
注意:如果启动VN Trader时报错说缺少了pyqtgraph和zmq等库,即出现如图一的报错,直接用pip工具安装即可,在terminal中运行图二中的命令即可(笔者在解压完vnpy包后,发现还需要安装pyqtgraph和zmq)。
description
description

 

启动vn.py
在上述安装全部完成后,即可开始运行vn.py。
在terminal中将路径切换至clone的vnpy路径,比如vn.py被我cloned在/Users/limingfang/Documents/Github/cloned,那么输入以下命令即可切换到vn.py中的vn_trader目录并启动vn.py图形化界面:
description
其中红框内的路径每个用户都不一样。紧接着会跳出一个比较精致的VN Trader图形化界面。
description
 

使用vn.py
该部分主要说两点:简要说明图形化界面的使用,vn.py在mac上可使用的接口。
在图形化界面上方,“系统”栏提供了连接接口的选项,“功能”栏提供了vn.py开放给用户的一些App例如CTA回测等,“帮助”栏提供了查询合约的功能,用于提供交易所合约代码与vn.py内部合约代码映射的信息。注意,在mac下没有“配置”栏,如果想要修改全局配置,可以直接修改源文件。VN Trader界面启动后默认会在当前用户主目录下创建一些隐藏文件夹以存放一些配置信息,在mac下用户目录是在 “/Users/limingfang/”(limingfang是我的mac用户名)。
description
上图是最初.vntrader文件夹内的内容,其中connect_bitmex.json等connect_xxx.json类文件存放接口配置信息,database是默认的sqlite数据库的文件,vt_setting.json用于配置图形化界面字体,rqdata,数据库等,rpc_service_setting.json一般不需要修改。
如果需要修改某个文件,按下图操作即可打开相应文件。
description
 
目前2.x版本的vn.py,在windows下所有交易接口都可以使用,而在OSX系统下只能使用一部分:
纯Python类接口:IB、TIGER、FUTU
IB(盈透证券)、TIGER(老虎证券)、FUTU(证券)这三个接口,使用的是其官方提供的纯Python SDK,直接进行接口函数的对接开发。得益于Python本身的跨平台解析性语言特点,这类接口在OSX系统下也能直接使用。
REST/WebSocket协议类接口:所有数字货币、Alpaca
当今几乎所有的数字货币交易所,都提供了基于REST协议(下单、查询)和WebSocket协议(行情、推送)的API,部分外盘的股票期货经纪商也开始提供这块的支持(如美股0佣金券商Alpaca)。

此外,对于在mac电脑上使用vn.py的用户,交易一些数字货币的时候,可能会碰到需要交易某些标的(例如某些数字货币合约)而网络不通的问题,因此接下来介绍如何利用shadowsocks在mac上进行翻墙从而交易国外的一些合约。
最近比较敏感,本来笔者有详细的介绍如何安装及使用,现在只简单说说如何在vnpy连接接口的时候使用shadowsocks。

使用Shadowsocks
下载配置Shadowsocks后,在vn.py中连接一些大陆外的接口(例如Coinbase)时,需要提供:
- proxy_host
- proxy_port  
一般如下图所示进行配置即可:
description

Member
avatar
加入于:
帖子: 6
声望: 1

多谢分享!~~~~

Member
avatar
加入于:
帖子: 2
声望: 0

请问我一下,我按上面的步骤安装,到了python run.py的时候,报如下的错,找了好多地方也解决不了,请问我该如何处理?

description

Member
avatar
加入于:
帖子: 15
声望: 1

mac下应该不支持win32com的库,这个库是windows下支持的。需要将run.py中的da接口调用屏蔽掉。

Member
avatar
加入于:
帖子: 163
声望: 18

木头哥 wrote:

mac下应该不支持win32com的库,这个库是windows下支持的。需要将run.py中的da接口调用屏蔽掉。
对对对,我忘记最后加了,run.py默认加载da接口,应该注释掉

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3