广州线下活动内容分享

2018-07-26 11:13:55 浏览数 (1)

vn.py的创始人‘用python的交易员’在周六举办了广州线下活动,在本次活动中主要分享了vn.py框架部署方案和数字货币量化交易两部分的内容。

vn.py部署方案

运行环境

  • python: Anaconda 4.0 (Python 2.7 32位)
  • VC : Vcredist x86 2013
  • 数据库:MongoDB (任意最新版)
  • 开发工具:WingIDE(可选,但严重不推荐PyCharm)

基础安装

1. 准备操作系统:

  • Windows 7或以上
  • Ubuntu 16.04或以上

2. 配置好运行环境:

  • Windows需要鼠标操作图形界面,较为繁琐
  • Ubuntu可以全程命令行执行,但需要会用Linux

3. 安装vn.py:

  • 在Github上下载vn.py最新发行版:
  • 解压后运行install.bat/sh即可安装; (vn.py将会安装到Anaconda下的site-packagesvnpy-1.8.0-py2.7.egg目录中;其中1.8.0为版本号,注意该安装目录一定有.egg后缀)

其他环境部署方式

我们提供了虚拟机、云服务器、Docker、一键安装这四种环境部署方式,接下来详细的说明一下各种方法的优缺点以及适合的人群。

虚拟机镜像

下载镜像 → 启动虚拟机 → 本地运行

VirtualBox虚拟机

  • 基于ubuntu系统,安装了全部运行环境和vn.py框架本身
  • 优点:下载后用VB打开即可直接使用,可视为完整独立的电脑
  • 缺点:更新麻烦,镜像文件数G,目前已停止维护
  • 适合人群:几乎不懂安装环境的用户

云服务器镜像

获取镜像 → 购买云服务器 → 远程登录

阿里云镜像

  • 量衍投资开发和销售(收费),阿里云华东1区的Ubuntu 16.04系统镜像
  • 除了运行环境外,还安装了IB、TWS、ShadowSocks、ATOM等实用工具,提供自动更新脚本
  • 适合人群:在云端运行行情记录和实盘交易,可以根据自行定制Windows版的云服务器镜像,非常方便。

Docker容器

安装docker → 下载镜像文件 → 构建启动

VNC镜像

  • 位于vnpy/docker/vnc下,提供noVNC图形环境,在浏览器中使用远程桌面来操控容器
  • 优点:下载快速(配置文件仅几百k);安装简单(三行命令即可);内存占用小;
  • 缺点:Container容器中做的所有修改,都无法保存到Image镜像中

web镜像

  • 位于vnpy/docker/web下,运行后启动WebTrader,连接宿主机器的MongoDB,用户可通过外部浏览器直接访问WebTrader网页
  • 不建议直接使用,仅作为Docker技术的一种应用方案提供
  • 适合人群:适合机构的应用方案; 策略团队完成策略开发后,将自己的全套运行环境、策略、配置打包成Docker镜像; 交易团队将该Docker镜像部署到实盘服务器,即可直接启动策略交易,无需再烦恼策略团队的开发环境配置问题。

一键安装

下载脚本 → 执行安装 → 直接使用

init.bat

  • 彻底解决新用户在安装过程中的各种问题:下错版本、不会配置等等;
  • 由于GFW的问题,可能会出现下载速度过慢甚至失败,导致安装过程中断的问题,建议访问外国网站;
  • 可以使用阿里云中国香港服务器,给你“飞”一般的体验~

对比如下:

数字货币量化交易

风险提示

  • 区块链和数字货币作为最近几年新兴的事物,和人类历史上所有新技术(股票、电力、汽车等等)早期刚出现时一样,都处于群体性的疯狂和泡沫中;
  • 一级市场的数字货币的ICO,相比较于股票市场的IPO,风险度要高得多:无监管、无法律、项目透明度低等;
  • 二级市场的数字货币交易所,相比较于传统金融交易所,同样存在诸多问题:监管弱、撮合清算托管由同一实体负责、技术成熟度低等;
  • 小心!小心!小心!!!

公链(Coin)

  • 定义:全世界任何人都可读取、发送交易且能获得有效确认的共识区块链
  • 发币:每个人从中可获得的经济奖励,与对共识过程作出的贡献成正比(POW计算能力随机、POS拥有财产随机)
  • 本质:公链可以理解为一种类似TCP/IP协议的底层技术,所有应用必须运行于其上,但是无法直接使用
  • 举例:BTC、ETH、XRP

代币(Token)

  • 定义:基于公链所提供的智能合约发行的数字资产,服务于Decentralized Applications(DApp)
  • 发币:根据发币方自己制定的规则分配,有些会伴随ICO来募集公链COIN(目前主要是ETH)
  • 本质:代币可以理解为运行于底层公链之上的具体应用,类似于互联网早期的网站服务器、邮件服务器、MUD游戏服务器等等
  • 举例:EOS(公链开发中)、HT、0x

适用的策略类型

套利策略

  • 跨交易所套利,俗称“搬砖”
  • 跨币种套利,参考外汇“三角套利”
  • 期现套利

CTA策略

  • 趋势跟踪,追涨杀跌
  • 区间震荡,高抛低吸(不适合数字货币,震荡大,肥尾分布)

轮动策略(风险最大)

  • 等市值轮动:本质是赌均值回归,组合中的币种选择至关重要

量化交易平台对比

技术相关难点

  1. 系统服务的稳定性: 如:火币的API中间可能会出现系统宕机...
  2. API数据流奇葩设计: 如:成交和委托没有事件推送,要用户通过查询结果比对才能知道;查询结果不准确等
  3. 同步请求效率低下: 提供的并发效率很低,会限制单位时间内的请求流量。如火币允许10s100次请求,实际使用会更低;报错和真实的错误不同
  4. 行情API数据延迟: 可能会收到20min前的数据,且盘口数据不带事件戳,要仔细识别;
  5. 缺乏可靠的数据: 第三方数据服务商也比较少,质量也不稳定;

项目相关计划

  • 分离数字货币相关内容到独立的群741339589
  • 修复前期对接过的交易所API,并接入更多交易所
  • 针对相关技术难点研究解决方案
  • 寻找数字货币交易所领域的战略合作伙伴

基于python的开源交易平台开发框架。截止目前,vn.py项目在Github上的Star已经达到5563,量化交易类开源项目第1,量化类项目第3(1、2依旧分别是Zipline和TuShare)。

项目官网:http://www.vnpy.org

论坛地址:www.vnpie.com

知乎专栏:https://zhuanlan.zhihu.com/vn-py

Developed by Traders,

for Traders

0 人点赞