前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vn.py发布v1.8 - WebTrader

vn.py发布v1.8 - WebTrader

作者头像
用Python的交易员
发布2018-03-29 15:32:55
2K0
发布2018-03-29 15:32:55
举报
文章被收录于专栏:维恩的派VNPIE维恩的派VNPIE

基于Web前端的量化交易应用WebTrader终于开发完成,之前实在是跳票许久。在此首先要感谢下负责开发Web前端的社区成员cccbbbaaab(这名字,怎么说呢~)和他的团队,在短短两周的时间内就完成了后端服务的测试和前端页面的开发工作,效率和质量都杠杠的。

WebTrader

WebTrader应用位于examples/WebTrader目录下,使用时需要分别启动:

  • server.py:基于vnpy.rpc模块实现的交易服务器,包含CTP接口和CTA策略模块
  • run.py:基于Flask实现的Web服务器,内部通过vnpy.rpc客户端来访问交易服务器

之所以要将整个应用分解为两个进程,主要原因包括:

  • 交易服务器中数据分析和策略运行相关的运算压力较大,同时交易相关的业务需要保证尽可能保证低延时的效率性
  • Web服务器需要面对浏览器的HTTP访问,将交易相关业务逻辑剥离有助于避免各种IO开销导致的系统不稳定

服务器后端

后端逻辑这块主要由我负责开发(基于Python的Flask框架还算学得会),为了实现和PyQt界面类似的用户体验,WebTrader必须同时两种数据通讯模式:

1. 基于Flask-Restful实现的主动函数调用功能,数据流程:

  • 用户点击浏览器中的某个按钮,发起Restful功能调用
  • Web服务器收到Restful请求,将其转化为RPC功能调用发送给交易服务器
  • 交易服务器收到RPC请求,执行具体的功能逻辑,并返回结果
  • Web服务器返回Restful请求的结果给浏览器

2. 基于Flask-Socketio实现的被动数据推送功能,数据流程:

  • 交易服务器的事件引擎转发某个事件推送,并推送给RPC客户端(Web服务器)
  • Web服务器收到事件推送后,将其转化为json格式,并通过Websocket发出
  • 浏览器通过Websocket收到推送的数据,并渲染在Web前端界面上

所有Web服务相关的代码都在run.py中,希望二次开发界面的用户只要查看和学习这一个文件应该就行。

尽管可能有王婆卖瓜自卖自夸的嫌疑,但是个人感觉整个服务端的实现还真是做得非常简洁,觉得不爽的也欢迎打脸了,哈哈哈~

浏览器前端

前端界面这块由cccbbbaaab的团队负责开发,上图中可以看出和VnTrader非常相似,也方便老用户直接上手。架构上选择了vue,主要原因:

  • jQuery太原始,Angular比较重,React之前闹出过Facebook License的问题,都属于相对的硬伤
  • vue的设计理念:易用、灵活、高效,和vn.py的设计理念高度一致(当然成就上vn.py还差得十万八千里)
  • 在没有大型商业公司支持的前提下,尤大神仅靠个人和社区的力量做到和另外两大框架Angular和React并驾齐驱
  • 作者尤大神是中国人

综上选vue就成了很自然的结果,UI工具包则是根据网上评价和用户量选择了Element。

在和cccbbbaaab团队合作开发的过程中,也了解到前端圈“文无第一武无第二”的创造动力,所以如果vn.py社区用户对目前WebTrader的前端界面有任何改进想法或者直接就想做个更好的出来,欢迎发PR。

其他更新

接口

  1. 新增福汇FXCM的外汇交易接口vnpy.api.fxcm和fxcmGateway
  2. 富途接口futuGateway支持委托价格超限自动调整功能
  3. 将部分未充分测试的加密货币交易接口移动到beta目录中,供有需求的用户自行加载,之前v1.7.3中因为这部分接口造成了部分用户的安装麻烦

期权

  1. 新增Cython版本的Black-Scholes期权定价模型bsCython,定价速度为Python版本的约100倍
  2. 新增期权链折现率(利率r)自动拟合功能,解决由于期权Synthetic升贴水变化导致的波动率曲线失真
  3. 调整ctpGateway的期权链字符串命名规则,实现商品期权和ETF期权的兼容

应用

  1. 将CTA策略模块的StrategyMonitor的策略运行时变量更新机制改为在事件中推送,降低开销
  2. 在SpreadTrading模块中,增加算法启动时对于价差各条腿的行情初始化状态做事前检查,避免由于行情更新慢引起的错单
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-02-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 维恩的派VNPIE 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档