关于金融科技:CentOS搭建WonderTrader开发环境及v054版本发布

51次阅读

共计 2878 个字符,预计需要花费 8 分钟才能阅读完成。

前言


之前发过一篇对于如何搭建 WonderTrader 开发环境的文章《从零搭建 WonderTrader 的开发环境》,帮忙不少用户解决了一些编译源码的问题。因为笔者是在 Ubuntu 18.04 LTS 上开发的,而有不少用户在 CentOS 上搭建开发环境当前,反馈编译出错。为此笔者顺便的在 CentOS7CentOS8上进行了一番测试,最初得出的论断是:因为 CentOS7CentOS8gcc 版本和 Ubuntu 18.04 LTS 上的 gcc 版本不统一,所以导致笔者共享的预编译库无奈失常链接胜利。
于是本文就针对 CentOS 下搭建开发环境,专门整顿了一些细节,心愿能帮到有须要的人。本文开端,还介绍了 12 月 25 日公布的最新版本v0.5.4,欢送大家尝试、拍砖。

共享资源


编译源码所需的共享资源曾经上传到百度云盘,其中包含了 Ubuntu 18.04 LTSCentOS7CentOS8三个操作系统的预编译依赖库,须要的敌人能够自行下载
下载连贯:https://pan.baidu.com/s/1Bdxh…
提取码: d6bh

CentOS开发环境搭建


装置零碎:CentOS7(2009)或者 CentOS8(2011)
网络上虚拟机装置 CentOS 的教程很多,这里就不做赘述了。

1、装置开发环境

$ yum install -y gcc gcc-c++ make automake

应用 gcc --version 查看 gcc 的版本号
CentOS7gcc版本号为 4.8.5

CentOS8gcc版本号为8.3.1

装置cmake

$ yum install cmake

应用 cmake --version 查看 cmake 的版本号
CentOS7cmake版本号为2.8.12

$ cmake --version
cmake version 2.8.12.2

CentOS8cmake 版本号为3.11.4

$ cmake --version
cmake version 3.11.4

CMake suite maintained and supported by Kitware (kitware.com/cmake).

2、启用 epel 源

因为 CentOS7cmake版本是 2.8.12,而WonderTraderCMakeLists.txt要求 cmake 最低版本是3.0.0

cmake_minimum_required(VERSION 3.0.0)

然而 CentOS7 下须要启用 epel 源能力通过 yum 装置 cmake3,不然就须要本人下载源码编译cmake3。此外,因为共享资源根本都是7z 压缩包,所以还须要装置 p7zip,而p7zip 也依赖于 epel 源,所以 CentOS8 下 也须要启用 epel 源。当然也能够间接下载 rpm 包装置,读者能够自行抉择装置形式。
epel源的启用,须要下载 epel 的安装包,官网下载地址为 http://mirrors.kernel.org/fed…

读者依据零碎版本下载对应的 rpm 文件即可,下载完当前通过 rpm 装置。

$ wget -c http://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm
$ rpm -ivh epel-release-latest-7.noarch.rpm

3、装置cmake3(CentOS7)

$ yum install cmake3

4、装置p7zip

$ yum install p7zip

5、装置git

$ yum install git

6、从 共享资源 中下载预编译依赖库 mydeps_centos7.7z/mydeps_centos8.7z 并上传到CentOS

能够应用应用 SecureFX 共享资源 中的 SecureCRT 自带SecureFX)上传到虚拟机,如下图:

7、将预编译依赖库解压到 /home

$ 7za x mydeps_centos7.7z /home

8、拉取 WonderTrader 的源码

$ git clone https://github.com/wondertrader/wondertrader.git

9、进入 src 目录,批改 build_release.sh 中的 cmake 指令为cmake3(CentOS7)

$ vim build_release.sh

10、执行编译脚本

$ ./build_release.sh

新版本 v0.5.4 公布

12 月 25 号公布了最新的 v0.5.4 版本,wtpy同步降级

WonderTraderv0.5.4 中做了如下批改:

  • WtBtPorterWtPorterWtExecMon的初始化接口,全副改成反对传文件名和文件内容两种形式
  • CTA实盘引擎中,策略发出信号的时候,新增了一个订阅 tick 的操作,次要针对策略 交易未订阅 K 线的种类 的需要
  • 优化了 Windowsdmp文件生成的门路,不便调试bug
  • 回测引擎中,成交明细战争仓明细,新增了一个 BarNumber 的字段,次要用于统计每个交易回合的周期数,BarNumber指的是主 K 线的BarNumber,并且是一个绝对开始回测的第一条 K 线的编号。
  • 回测引擎中,针对 CTA 策略 交易未订阅 K 线的种类 的需要做了一些优化
  • 全平台中,将能局部 boost 库改成 std 的库,缩小对 boost 的依赖
  • 新增一个 WtDtHelper 模块,次要提供数据辅助性能,目前次要是提供 csv 和二进制文件的互转,前面还会退出数据库、二进制、csv的互转接口
  • 将平台版本号从 WTSMarcos.h 迁徙到 WTSVersion.h 中,缩小批改版本号引起的重编译

wtpyv0.5.4 中做了如下批改:

  • C++ 底层更新到 2020/12/25 公布的 v0.5.4 版本
  • C++底层接口针对传递配置文件内容的反对做了批改,同步批改了 wtpy 中的局部关联代码
  • 修改了监控服务中的 WatchDog 模块在 linux 下的启动参数的 bug,解决了linux 下无奈启动的问题
  • 修改了监控服务的主动调度工作没有查看是否启用标记,从而导致反复启动的bug
  • 批改了监控服务的 WebUI 的一些展现细节
  • wrapper下新增一个 WtDtHelper 模块,用于对接 C++ 底层的 WtDtHelpe r 模块,给python 调用解决数据转换的工作
  • WtBtAnalyst 模块迁徙到 wtpy.apps
  • 新增一个WtOptimizer,用于遍历优化策略参数

结束语


本文的次要内容就完结了,心愿能帮到须要的人。
为了更加不便地让不同平台的用户编译源码,后续笔者会公布 docker 版本的开发环境。最初,如果各位读者感觉 WonderTrader 还不错的,能够向身边正在做平台选型的敌人共事介绍一下,笔者将不胜感激!笔者也将尽量将 WonderTrader 欠缺并丰盛起来,以满足不同用户的需要!
最初再来一波广告
WonderTradergithub地址:https://github.com/wondertrad…
WonderTrader官网地址:https://wondertrader.github.io
wtpygithub 地址:https://github.com/wondertrad…

正文完
 0