在你自己的云服务器上运行交易策略
为什么交易者在自己的 VPS 上运行自动化策略:稳定在线、延迟、掌控权与隐私,如何选择地区和配置,基本安全措施、监控以及云服务商的费用。
自动化策略的好坏,取决于运行它的那台电脑。家里的电脑如果关机、在交易日中途自动更新或断网,就可能留下一个无人看管的敞口仓位。因此,许多交易者把交易引擎迁移到自己账户下的云服务器(VPS)上。本文介绍为什么要这样做、如何选择,以及如何保证服务器的安全和监控。
什么是 VPS,交易者为何关心它
VPS(虚拟专用服务器)是运行在云服务商数据中心里的一台虚拟电脑。你获得 CPU、内存、存储和网络连接,按使用量向服务商付费,通常按月或按小时计费。服务器全天候运行,处于快速稳定的网络中,不依赖家里的电力或网络。
使用它的主要理由:
- 稳定在线:合上笔记本时服务器不会关机;只要管理得当,它也不会在交易时段中途突然进行系统更新。
- 延迟:位于靠近交易所或券商服务器地区的服务器,能缩短订单送达所需的时间。
- 掌控权:服务器在你自己的账户里。地区、配置以及何时关停都由你决定。
- 隐私与隔离:你的策略和数据运行在独立的环境中,而不是一台同时用来上网、打游戏和办公的机器上。
延迟:到底有多重要
大多数散户交易者并不需要毫秒级的速度。但一台连着不稳定 Wi-Fi 的家用电脑,与专业数据中心里的服务器相比,差距可能相当明显,尤其是在高波动时期。链路中的每一次延迟——从收到信号到发出订单——都是价格可能变动的时间。时间与成交价格之间的关系,见滑点与执行成本一文。
CME Group 的市场主要位于芝加哥地区,券商和平台的服务器通常也在美国。因此,美国中部或东部的地区往往是合理的选择。不过,还是要查清你的券商或平台的服务器在哪里,因为决定因素是它们。
选择地区与配置
在云服务商那里创建服务器时,主要有两个决定:
- 地区:选择离执行服务器最近的数据中心。如果不确定,可以询问你所用平台的支持团队有何建议。
- 配置:CPU 和内存的大小。一个在几个品种上运行单一策略的引擎,并不需要庞大的服务器。从适中的配置开始,观察使用率,只有在需要时再升级。太小的服务器 CPU 跑满 100% 会造成延迟;太大的服务器只会多花钱。
此外,最好选择有长期支持的操作系统版本,并为日志预留足够的磁盘空间。
安全基础
一台连接着交易账户的服务器就是一个攻击目标。基本规则:
- 更新:定期安装安全更新,但要安排在交易时间之外。
- 用 SSH 密钥代替密码:使用加密密钥登录远比密码安全。如果可以,禁用密码登录。
- 最小权限:每个服务只拥有它需要的权限,不多给。不要所有东西都用管理员用户运行。
- 防火墙:只开放需要的端口,其他一律关闭。
- 机密信息:券商凭证和密钥不要保存在明文文件或截图里,也不要在聊天中发送。
- 备份:保留一份配置备份,以便快速重建服务器。
有些平台通过让你在云服务商自己的网站上进行授权来连接你的云账户,无需交出密码或令牌。这是更好的方式,因为你随时可以在服务商账户中撤销授权。
监控:在造成损失之前发现问题
服务器是独立运行的,正因为如此,你才需要知道它上面在发生什么。值得监控的内容:
- 引擎是否在运行:定期检查进程是否存活,并与券商保持连接。
- 资源:CPU、内存和磁盘使用情况。磁盘写满是崩溃的常见原因。
- 券商连接:反复断线是出问题的信号。
- 持仓:核对引擎认为的持仓与账户中实际的持仓是否一致。
- 警报:发生异常时收到通知,而不是只有在你碰巧去看的时候才知道。
最重要的是:要有一套出问题时的应对方案。如何手动平仓,如何停止引擎,以及该联系谁。这些原则是任何算法交易系统的一部分。
费用
服务器位于你在云服务商的账户中,因此账单直接来自服务商。费用取决于服务器配置、地区和流量。几点提示:
- 选择配置之前,先查看服务商当前的价格。
- 运行中的服务器即使你不交易也会持续计费;如果不再使用,请在服务商账户中将其删除。
- 备份和快照可能会单独计费。
- 在服务商账户中设置预算提醒,避免意外支出。
设置检查清单
- 是否选择了靠近执行服务器的地区?
- 配置是否适合负载,并留有余量?
- 是否只允许 SSH 密钥登录,并启用了防火墙?
- 更新是否安排在交易时间之外?
- 监控和警报是否已启用?
- 是否有手动平仓的应急方案?
- 是否在服务商那里设置了预算提醒?
要点总结
- 与家用电脑相比,云服务器提供稳定在线、更低延迟、掌控权和环境隔离。
- 选择靠近执行服务器的地区和适中的配置,按需扩容。
- 基本安全:更新、SSH 密钥、最小权限、防火墙。
- 监控和应急方案是系统的组成部分,而不是附加项。
- 费用支付给云服务商;运行中的服务器会持续计费。
WeCore 可以在你自己的 DigitalOcean 或 Linode 账户中的云服务器上运行你的交易引擎,通过在服务商网站上授权完成连接,服务器费用由服务商直接收取。详见指南如何在你自己的服务器上运行 WeCore。