2. 服务器环境搭建:Linux基础、云服务器选型与配置(AWS/阿里云)

做量化交易,说白了就是跟时间赛跑。你的策略再牛,如果跑在一个不靠谱的服务器上,那也白搭。我个人习惯把服务器比作交易员的「作战指挥室」——它必须稳定、快速、24小时待命。

这一章,我们就来聊聊怎么搭建这个指挥室。我会从Linux基础讲起,再到云服务器的选型和配置。嗯,这里面的坑我踩过不少,希望能帮你绕过去。

2.1 为什么是Linux?

你可能会问:「我用Windows写策略也挺好的,为啥非要折腾Linux?」

原因很简单:稳定性和性能。Windows跑个把月不重启,你可能就觉得它「老了」。但Linux服务器,动不动跑个一年半载是常态。我在项目中遇到过,同一套策略在Windows上回测和实盘结果对不上,查了半天,发现是Windows的线程调度在搞鬼。换成Linux,问题立马消失。

另外,绝大多数量化框架(比如vnpy、backtrader)和交易所的API,都是优先支持Linux的。说白了,这是行业标准。

2.2 Linux基础:你只需要掌握这些

别怕,你不需要成为Linux内核专家。做量化交易,掌握下面这20%的命令,就能解决80%的问题。

2.2.1 文件操作三板斧

  • ls:查看目录内容。我习惯用 ls -lh,能看到文件大小和权限。
  • cd:切换目录。没什么好说的,跟Windows的 cd 一样。
  • pwd:显示当前路径。迷路的时候用。

2.2.2 文本编辑:vim 或 nano

我个人推荐 vim。虽然学习曲线陡峭,但熟练后效率极高。你只需要记住三个模式:i 进入编辑模式,Esc 退出,:wq 保存退出。嗯,刚开始可能会觉得反人类,但坚持一周就好了。

小技巧: 如果实在不习惯 vim,可以用 nano。它更接近 Windows 的记事本,上手零门槛。

2.2.3 进程管理

  • ps aux:查看所有运行中的进程。
  • tophtop:实时监控系统资源。我一般用 htop,界面更友好。
  • kill -9 [PID]:强制杀死进程。注意,这是最后的手段,正常关闭应该用 kill [PID]

2.2.4 网络与权限

  • chmod:修改文件权限。比如 chmod +x script.sh 给脚本添加执行权限。
  • ssh:远程登录服务器。这是你连接云服务器的唯一方式。
  • scp:在本地和服务器之间传文件。比如 scp strategy.py user@ip:/home/user/
避坑指南: 我曾经因为忘记给策略脚本加执行权限,导致定时任务没跑起来,白白亏了一晚上的行情。所以,写完脚本第一件事就是 chmod +x

2.3 云服务器选型:AWS vs 阿里云

选哪家云服务商,其实是个「信仰」问题。但作为量化交易者,我们更关心的是延迟、稳定性和成本

对比项 AWS (Amazon Web Services) 阿里云 (Alibaba Cloud)
全球覆盖 最好,节点遍布全球 亚太地区很强,欧美稍弱
国内访问 需要备案,延迟较高 国内节点多,延迟低
量化生态 有专门的Marketplace镜像 有量化交易专用实例
价格 按需付费,稍贵 性价比高,常有活动
学习成本 服务多,配置复杂 中文文档,上手快

我的建议:

  • 如果你主要做国内期货、A股,选阿里云。延迟低,而且服务器就在交易所附近。
  • 如果你做加密货币、美股,选AWS。尤其是要选新加坡或东京节点,离交易所的服务器近。

2.4 云服务器配置实战

下面我以阿里云为例,带你走一遍完整的配置流程。AWS的操作逻辑类似,只是界面不同。

2.4.1 选购实例

登录阿里云控制台,点击「创建实例」。这里有几个关键参数:

  • 地域:选离你最近的,或者离交易所最近的。比如做上期所,就选「华东1(杭州)」。
  • 实例规格:量化交易对CPU要求不高,但对内存和网络有要求。我推荐 4核8G 起步,带宽至少 10Mbps
  • 系统镜像:选 Ubuntu 20.04 LTSCentOS 7.9。我个人偏爱 Ubuntu,因为社区活跃,遇到问题好搜答案。
  • 系统盘:40GB 的 SSD 足够。数据盘可以后面再加。
注意: 千万别选「抢占式实例」!虽然便宜,但随时可能被回收。你的策略跑到一半,服务器突然没了,那画面太美我不敢看。

2.4.2 安全组配置

安全组就是云服务器的防火墙。创建实例后,第一件事就是配置安全组规则。

你需要放行以下端口:

  • 22:SSH 登录端口。建议修改默认端口,防止被暴力破解。
  • 80/443:如果搭建了监控面板,需要开放。
  • 自定义端口:比如你的策略API监听端口。
小技巧: 我习惯把 SSH 端口改成 2222 或 10022,然后在安全组里只允许我的本地 IP 访问。这样能挡住 99% 的扫描攻击。

2.4.3 连接服务器

拿到服务器的公网IP后,打开终端(Mac/Linux)或 PowerShell(Windows),输入:

ssh root@你的服务器IP

如果是第一次连接,会提示你确认指纹。输入 yes 即可。然后输入密码(或使用密钥对登录)。

我个人强烈推荐使用密钥对登录。比密码安全得多,而且不用每次输密码。创建实例时可以选择「绑定密钥对」,或者后面在控制台手动添加。

2.4.4 环境初始化

登录成功后,第一件事就是更新系统:

apt update && apt upgrade -y   # Ubuntu
yum update -y                   # CentOS

然后安装一些必备工具:

apt install -y git curl wget vim htop net-tools

嗯,到这里,你的服务器环境就基本搭好了。接下来就可以安装Python、数据库、消息队列等量化交易必备组件了。

2.5 知识体系总览

为了让你更直观地理解这一章的内容,我画了一张图:

服务器环境搭建知识体系 Linux基础 • 文件操作 (ls/cd/pwd) • 文本编辑 (vim/nano) • 进程管理 (ps/top/kill) • 网络与权限 (ssh/scp) • 定时任务 (crontab) • 日志查看 (tail/grep) 云服务器选型 • AWS vs 阿里云对比 • 地域选择策略 • 实例规格推荐 • 系统镜像选择 • 带宽与存储规划 • 成本控制技巧 配置实战 • 创建实例流程 • 安全组配置 • SSH密钥登录 • 系统初始化 • 必备工具安装 • 环境验证测试 目标:搭建一个稳定、安全、低延迟的量化交易运行环境

这张图把这一章的内容分成了三个模块:Linux基础、云服务器选型、配置实战。它们之间是递进关系——先学基础,再选平台,最后动手配置。你按这个顺序来,就不会乱。

核心要点:
  • Linux是量化交易服务器的首选操作系统,没有之一。
  • 选云服务器时,地域比配置更重要。离交易所近,延迟就低。
  • 安全组配置是第一道防线,别偷懒。
  • 密钥对登录比密码登录安全得多,建议养成习惯。

好了,服务器环境搭建就聊到这里。记住,好的开始是成功的一半。把基础打牢,后面部署策略的时候你会感谢自己的。


专注资料整理