㈠ 量化交易系统搭建-(1)环境配置
分享我从零搭建的一套包括数据抓取、模型计算、券商交易的完整自动化运行量化系统全过程。这套系统已稳定运行1年多,实盘年化收益率约25%,模型回测效果约30%。核心模型算法不在分享范围内,重点在于系统搭建与维护。本文旨在记录搭建服务器的过程,以及解决遇到的问题。
我首先在自己的macbook上开发、运行并手动验证了半年,感觉模型基本没有大问题,但手动操作过于繁琐且容易出现情绪问题,因此决定搭建全自动运行的交易系统。第一篇将聚焦于搭建服务器的初始步骤,可以选择公有云服务,但自购硬件能更灵活地控制成本和确保数据安全。
我选择了inter的NUC机型,原因在于其质量可靠、体积小巧、算力强大、功耗低。经过多番比较,NUC机型完美符合需求,我决定使用此型号作为主力服务器。从一台开始,经过近一年的调试,目前系统已较为稳定,预计未来两年能满足需求。
主力服务器使用Ubuntu20操作系统,每天完成数据抓取、指标和模型计算,以及交易策略信号发送。为了在公司或外地也能远程管理,我采用SSH反向隧道连接到一台公网云服务器。在系统不稳定时,这种安排能在任何地点及时排查和修复问题。
第二台NUC用于安装券商交易接口,因接口仅在Windows系统下可用,故选择价格最低的NUC型号。尽管Windows系统是我最不喜欢的操作系统,但考虑到其兼容性,我为其安装了Windows 10,同时集成miniconda进行软件开发。
第三台NUC主要用于深度学习和强化学习模型训练,考虑到性能需求,我选择了带有独显的型号。然而,Windows 10的开发环境配置和使用体验并不理想,最终我选择了使用Windows 10与Docker组合的方式,以满足在家使用游戏功能与在外远程使用模型训练的需求。
在操作系统选择上,主服务器推荐使用Linux系统,Linux系统稳定可靠,且在高负载下持续运行数月无任何问题。Windows系统在一段时间的使用后,我意识到不干净的软件安装可能导致问题,因此我选择安装官方网站的软件。对于Windows 10的坑,我分享了设置登录密码与免密SSH登录的方法,以及驱动程序更新的语言选择问题。
券商交易接口方面,由于监管政策和接口限制,部分券商提供支持程序化交易的软件或交易接口。与客户经理的良好关系有助于获取更多权限。在实盘阶段,主要问题集中在异常数据处理、软件自动更新导致程序挂断等方面。
对于深度学习和强化学习模型的训练,我选择了Windows 10与Docker的组合。从系统安装、驱动程序安装、WSL2配置到Docker桌面安装,再到Dockfile的构建,我详细记录了整个过程,包括安装cuda、配置Dockfile等关键步骤。通过这一系列操作,我能够愉快地进行模型训练。
本文结束于服务器搭建部分,未来将逐步介绍数据抓取、指标计算、模型策略构造等相关内容,希望对读者有所帮助。