在做程序化、量化交易时,虽然可以使用任何设备运行量化交易程序(操作账户按照一定交易策略交易的机器人程序)。但是比较保险的还是使用一台某个运营商机房的服务器。网络通信和电源供给都比较有保障。毕竟量化交易程序操作的是真金白银的账户资产,能做到的基础保障应当尽量做到,使用自己的电脑等设备运行量化交易程序,关键时刻断电断网带来的损失,相对于服务器的费用可谓因小失大。那么我们今天就谈谈做量化交易时对于服务器的使用等相关内容。
这里指的服务器,可以简单理解为一台在某个服务器提供商机房中运行的一台电脑设备。和普通电脑一样,有内存、CPU、硬盘。服务器提供商保障稳定的电源供给、网络通信等。我们作为服务器提供商的用户给服务器提供商付费(当然可能也有一些免费的,通常用付费的),服务器就提供给我们使用(以租用形式,有每月支付、每天支付等支付方式)。我们远程登录到服务器上,就可以运行我们的程序,下载软件等,我们把量化交易机器人程序运行在这个服务器上,量化交易机器人程序就可以访问交易所(数字货币)、期货公司前置服务器(商品期货)的接口进行行情获取、下单交易等操作。服务器提供商提供的服务器(产品)可能有很多种,不同的类型、配置价格也不同。一般做量化交易运行交易机器人数量不多(1~5个)时,选择配置最低的VPS服务器即可,一般价格在60~100CNY左右(价格太低的要注意,是不是硬件资源“共享型”的服务器,这类服务器性能很低)。
服务器提供商很多,可以自行百度、知乎搜索。根据支付方式、机房位置(距离交易所服务器位置越近越好,毕竟服务器上将来要运行的程序访问交易所越快越好)等选择自己合适的即可。
在付费租用了某个服务器提供商的服务器之后,通常服务器提供商会将服务器的登录密码发送给你(邮件形式)。也有的是在租用时的页面上让用户设置服务器的登录密码。登录密码需要妥善保存,远程登录服务器时需要使用。
Windows 系统 Windows系统使用比较简单,在服务器提供商的网站页面终端登录或者使用「远程桌面连接」。
Linux 系统 远程登录有以下几种方式。
Linux系统登录可以使用服务器提供商的网站页面上的终端登录,例如阿里云:
一般在服务器提供商网站页面,登录之后都可以找到租用的服务器远程连接终端。填写登录密码,登录即可。
putty等软件
也可以使用一些远程登录软件登录,如果你使用的是Windows系统(不是指你的服务器,是说你当前用的电脑),可以使用putty
这个软件,相关介绍:https://baike.baidu.com/item/putty/5426468?fr=aladdin
配置要登录的服务器的IP地址等信息,如下图。
Linux服务器的用户名为root
,登录时首先输入用户名,按回车键后,然后输入登录密码,注意输入登录密码时,输入是看不到的,尽管输入即可,如果出现提示要选择Yes/No时,根据内容选择即可(通常都是输入yes按回车键),如下图。
苹果电脑终端ssh登录 打开终端,如图:
使用命令ssh root@xxx.xxx.xxx.xxx
远程登录,xxx.xxx.xxx.xxx为你要登录的服务器的IP地址。
输入登录密码即可登录。
远程登录后,在Linux操作系统中都是以命令行界面操作,输入操作命令,执行具体工作。
Linux服务器登录后,操作都是一样的,和你本机是什么系统并无关系,和用什么方式登录也无关。所以我们以苹果电脑(MAC)登录后的终端截图演示,常用命令。
ls 查看当前目录内容,就是看当前文件夹内有什么文件、程序等。使用参数 -a 查看所有内容,如图: 可以看到,当前目录下有三个文件,robot托管者程序,robot压缩包,logs托管者程序的日志文件夹。(这些是我自己下载的,演示用的)
pwd 查看当前目录,如图:
cd
进入某个目录,例如我想进入上图logs文件夹内,我可以在上图的目录时,输入cd logs
,如图:
就进入了logs目录。
此时使用pwd查看下当前目录:
可以看到变化。如果我想返回上一级目录,只需使用cd ..
命令。
可以看到返回了上级目录。
mkdir
在当前目录创建一个文件夹,我们首先ls -a
看下当前目录下内容,然后mkdir test1
创建一个名为test1的目录(文件夹),最后在ls -a
看下,是不是创建出来了。
rm
删除命令,假如我想删除刚才创建的文件夹(包括文件夹内容),使用rm -rf test1
。
如果我想删除一个文件,例如删除robot程序,使用rm robot
,如图:
wget 软件
一般CentOS默认安装wget,如果没有可以百度安装一下。
例如使用wget下载FMZ量化交易平台的托管者程序,64位Linux系统的托管者程序下载链接为:http://www.fmz.com/dist/robot_linux_amd64.tar.gz
。
使用wget 链接
下载,例如:wget http://www.fmz.com/dist/robot_linux_amd64.tar.gz
tar
解压缩命令,例如解压缩刚才下载的托管者程序压缩包robot_linux_amd64.tar.gz,tar -zxvf robot_linux_amd64.tar.gz
,如下图:
nohup
nohup后台运行程序,防止远程登录断开后,程序停止运行。
例如部署FMZ的robot托管者程序。
使用命令:nohup ./robot -s node.fmz.com/XXXXXX -p YYYYYYY &
node.fmz.com/XXXXXX
是每个FMZ账户独有的一个地址(在FMZ平台,添加托管者页面可以找到),每个用户的XXXXXX
部分都不同,-p 之后的YYYYYYY
是这个地址的对应的FMZ账号密码。
飞熊 后续呢?
骨刀 坐等后续内容
fmzero 666
幻牧 赞一个~