Loading ...

量化交易中服务器使用浅谈

Author: 小小梦, Created: 2020-09-20 08:42:17, Updated: 2020-09-21 09:30:14

量化交易中服务器使用浅谈

在做程序化、量化交易时,虽然可以使用任何设备运行量化交易程序(操作账户按照一定交易策略交易的机器人程序)。但是比较保险的还是使用一台某个运营商机房的服务器。网络通信和电源供给都比较有保障。毕竟量化交易程序操作的是真金白银的账户资产,能做到的基础保障应当尽量做到,使用自己的电脑等设备运行量化交易程序,关键时刻断电断网带来的损失,相对于服务器的费用可谓因小失大。那么我们今天就谈谈做量化交易时对于服务器的使用等相关内容。

什么是运行量化交易机器人的“服务器”?

这里指的服务器,可以简单理解为一台在某个服务器提供商机房中运行的一台电脑设备。和普通电脑一样,有内存、CPU、硬盘。服务器提供商保障稳定的电源供给、网络通信等。我们作为服务器提供商的用户给服务器提供商付费(当然可能也有一些免费的,通常用付费的),服务器就提供给我们使用(以租用形式,有每月支付、每天支付等支付方式)。我们远程登录到服务器上,就可以运行我们的程序,下载软件等,我们把量化交易机器人程序运行在这个服务器上,量化交易机器人程序就可以访问交易所(数字货币)、期货公司前置服务器(商品期货)的接口进行行情获取、下单交易等操作。服务器提供商提供的服务器(产品)可能有很多种,不同的类型、配置价格也不同。一般做量化交易运行交易机器人数量不多(1~5个)时,选择配置最低的VPS服务器即可,一般价格在60~100CNY左右(价格太低的要注意,是不是硬件资源“共享型”的服务器,这类服务器性能很低)。

服务器提供商的选择

  • 阿里云
  • vultr
  • 亚马逊
  • Linode

服务器提供商很多,可以自行百度、知乎搜索。根据支付方式、机房位置(距离交易所服务器位置越近越好,毕竟服务器上将来要运行的程序访问交易所越快越好)等选择自己合适的即可。

服务器操作系统选择

  • Windows 系统,操作简单,就和操作自己电脑上的Windows系统基本一样,但是不推荐,Linux性能稳定性更高。
  • Linux 系统,操作较Windows复杂,但是稳定性好,性能强。虽说操作复杂,但是对于部署量化交易程序而言,仅仅会用一些命令即可。 Linux 系统有很多版本,主要为:
    • CentOS
    • Debian
    • Ubuntu 可以根据自己使用需求选择,一般使用CentOS即可。

服务器的使用

在付费租用了某个服务器提供商的服务器之后,通常服务器提供商会将服务器的登录密码发送给你(邮件形式)。也有的是在租用时的页面上让用户设置服务器的登录密码。登录密码需要妥善保存,远程登录服务器时需要使用。

  • Windows 系统 Windows系统使用比较简单,在服务器提供商的网站页面终端登录或者使用「远程桌面连接」。

  • Linux 系统 远程登录有以下几种方式。

    • Linux系统登录可以使用服务器提供商的网站页面上的终端登录,例如阿里云: img

      一般在服务器提供商网站页面,登录之后都可以找到租用的服务器远程连接终端。填写登录密码,登录即可。

    • putty等软件 也可以使用一些远程登录软件登录,如果你使用的是Windows系统(不是指你的服务器,是说你当前用的电脑),可以使用putty这个软件,相关介绍:https://baike.baidu.com/item/putty/5426468?fr=aladdin 配置要登录的服务器的IP地址等信息,如下图。 img Linux服务器的用户名为root,登录时首先输入用户名,按回车键后,然后输入登录密码,注意输入登录密码时,输入是看不到的,尽管输入即可,如果出现提示要选择Yes/No时,根据内容选择即可(通常都是输入yes按回车键),如下图。 img

    • 苹果电脑终端ssh登录 打开终端,如图: img img

      使用命令ssh root@xxx.xxx.xxx.xxx 远程登录,xxx.xxx.xxx.xxx为你要登录的服务器的IP地址。 img 输入登录密码即可登录。 img

    远程登录后,在Linux操作系统中都是以命令行界面操作,输入操作命令,执行具体工作。

Linux常用命令

Linux服务器登录后,操作都是一样的,和你本机是什么系统并无关系,和用什么方式登录也无关。所以我们以苹果电脑(MAC)登录后的终端截图演示,常用命令。

  • ls 查看当前目录内容,就是看当前文件夹内有什么文件、程序等。使用参数 -a 查看所有内容,如图: img 可以看到,当前目录下有三个文件,robot托管者程序,robot压缩包,logs托管者程序的日志文件夹。(这些是我自己下载的,演示用的)

  • pwd 查看当前目录,如图: img

  • cd 进入某个目录,例如我想进入上图logs文件夹内,我可以在上图的目录时,输入cd logs,如图: img 就进入了logs目录。 此时使用pwd查看下当前目录: img 可以看到变化。如果我想返回上一级目录,只需使用cd ..命令。 img 可以看到返回了上级目录。

  • mkdir 在当前目录创建一个文件夹,我们首先ls -a看下当前目录下内容,然后mkdir test1创建一个名为test1的目录(文件夹),最后在ls -a看下,是不是创建出来了。 img

  • rm 删除命令,假如我想删除刚才创建的文件夹(包括文件夹内容),使用rm -rf test1img 如果我想删除一个文件,例如删除robot程序,使用rm robot,如图: img

  • wget 软件 一般CentOS默认安装wget,如果没有可以百度安装一下。 例如使用wget下载FMZ量化交易平台的托管者程序,64位Linux系统的托管者程序下载链接为:http://node.fmz.com/dist/robot_linux_amd64.tar.gz

    使用wget 链接下载,例如:wget http://node.fmz.com/dist/robot_linux_amd64.tar.gz img img

  • tar 解压缩命令,例如解压缩刚才下载的托管者程序压缩包robot_linux_amd64.tar.gz,tar -zxvf robot_linux_amd64.tar.gz,如下图:

    img

  • nohup nohup后台运行程序,防止远程登录断开后,程序停止运行。 例如部署FMZ的robot托管者程序。 使用命令:nohup ./robot -s node.fmz.com/XXXXXX -p YYYYYYY & node.fmz.com/XXXXXX是每个FMZ账户独有的一个地址(在FMZ平台,添加托管者页面可以找到),每个用户的XXXXXX部分都不同,-p 之后的YYYYYYY是这个地址的对应的FMZ账号密码。

    img


More

骨刀 坐等后续内容

fmzero 666

幻牧 赞一个~