新闻
量化交易软件开发定制系统
2023-11-12 05:31  浏览:14
量化交易软件开发定制系统

    分享下自己从零搭建一套包括数据抓取,模型计算,券商交易的完整自动化运行的量化系统全过程,已经稳定运行1年多,实盘年化收益率25%左右,模型回测是30%左右,打了点小折扣吧。当然核心的模型算法是不会讲的,授人以鱼不如授人以渔,聪明有缘人自能领悟,或许能做得更好,另外也算给自己做个总结记录。

    虽然是篇,但其实也是跟量化关系不大、不重要的一篇,韭哥版本的系统其实都是在自己的macbook上开发,运行,加手动交易验证了半年,感觉模型没啥太大问题,但是手动操作太累,而且手动交易会碰到很多情绪问题,才搭建了这套全自动运行的交易系统。本篇主要讲讲步搭建自己的服务器,不差钱当然也可以选择各种公有云,但是基本一两年的租金就能自己购买等算力的硬件了,所以决定自己搭建,还不用考虑数据安全的问题,我对机器的要求依次是质量有保证,体积小,算力强,功耗低。各种网站看了半天,发现inter的NUC机型完美符合这些要求,官方出品小主机,散热电源等看不见的质量品控可信赖,以后估计就是NUC的脑残粉了。

    从开始的一台现在变成三台,前后折腾了近一年,总算比较稳定了,未来两年应该够用,下面讲一下整体的架构和踩过的各种坑。

    整体架构流程

    先购置的主机型号:NUC猎豹峡谷i7版,系统安装Ubuntu20,目前每天的数据抓取,指标和模型的计算,以及交易策略信号发送都在这台主机上完成,是主力服务器。由于机器都部署在家里,因此采用SSH反向隧道穿透连接到一台公网云服务器上,这样在公司或者外地的时候都能登录的家里机器排查问题。在前期交易系统不稳定的时候,经常发生各种bug,这样就能在任何地方及时排查和修复问题。当然,如果你是全职在家那也没有这个苦恼了。

    第二台是NUC的阿特拉斯峡谷,购买的原因就是券商的交易接口必须要在windows系统下使用,所以就买了个便宜的NUC。windows系统是韭哥我不喜欢的操作系统,工作以来十多年一直用的macbook,对windows的映像还在大学时代的定期重装,这次折腾了一段时间,发现win10还是有所改善的,当然韭哥我作为码农还是喜欢用macOS,开发还是喜欢用Ubuntu(之前喜欢CentOS,可惜),又扯远了。这台机器就装了券商软件+miniconda。

    第三台是NUC幻影侠谷,近趁618买的,购买的主要原因是降价的太厉害,实在没忍住。其实去年本来就是想买这个型号的,奈何太贵,所以选了猎豹峡谷,结果今年配的幻影侠谷(64G+2T)和去年买的猎豹峡谷(32G+1T)一个价格了,也就是过了一年,RTX2060+32G+1T都白送了,两个都是5k不到的价格入手的,所以还是要做等等党。由于带了独显,不玩游戏实在浪费,所以还是装了win10。但是基于win10开发实在是太不友好,而且我还需要ssh过去只能命令行操作,再摸索一番后放弃了win10+Ubuntu双系统,选择win10+wsl2+docker的方式。这样既可以在家使用win10玩游戏,也可以在外通过ssh过去使用docker来训练模型,实在是码农+宅男完美选择。

    下面记录下踩过的坑(敲黑板,知识点)

    操作系统的选择

    主服务器一定选Linux系统,稳定可靠,实测小半年不关机没有任何问题,而且是在基本每天有10小时左右CPU满负载运算的情况下。SSH反向隧道重启自动启动,让你在世界任何一个角落都能远程运维。唯一要注意的是一年左右一定要拆机彻底清理一次灰尘,你会发现运算时间大幅减少,风扇也不玩命转了。

    windows系统用了一段时间,总结的一个主要经验教训是千万不要安装某度出来的或者国内网站的软件,不干净的东西太多。刚开始不知道,装了某度出来的chrome,竟然几百M还给我预设了启动网站,还无法卸载干净。赶紧重装系统,然后科学上网,只安装官网的软件,我就chrome+steam+vsCode+docker+mobaXterm+Git这么几个。

    win10各种坑

    作为10年c++老码农,Ubuntu小命令敲得肯定非常丝滑,但是用windows做开发,尤其是在ssh后使用命令行情况下非常danteng,如果你能用TeamViewer也好一点,但是很多公司内网屏蔽了这个软件。总结一下,首先学习下dir,move等几个简单命令,折腾一段时间后,放弃了远程调试的尝试,碰到问题还是只能shutdown重启大法,所以要把券商软件以及交易程序设置为开机自动启动。所以win10安装OpensshServer后也必须配置开机启动,这里有一个坑是登录密码的问题,如果设置了登录密码,那很多软件(比如券商的交易接口软件)是无法开机启动的,但是不设置密码,ssh过去是必须要要求有密码的。这里我走了比较多弯路,比如配置后台Server开机自动启动软件等,但非常不稳定,终发现佳的方式是不设置登录密码,然后将主服务器的公钥拷贝到windows机器的.ssh/authorized_keys中,实现免密ssh登录。

AI合约量化交易系统模式.png

    NUC安装windows还有一个好处是官方提供了“英特尔®驱动程序和支持助理”,这里有一个小坑是打开网页后语言要选择英文,如果选中文不能自动检测驱动程序更新,这个应该是近一年出现的bug,去年还没有这个问题。

    券商交易接口

    目前国内A股由于15年的股灾加强了监管,所以是不给小散户提供交易SDK的,并且之前很多人使用的通过券商网页版接口破解的也被封掉了。但有部分券商还是提供了一些支持程序化交易接口的交易软件来曲线救国的,有些还必须要把程序托管到指定机房。当然,这些都有比较高的资金要求,不过如果你跟客户经理认识的话,也没那么大限制,有需要可以私信探讨。实盘阶段碰到问题多的就是这部分,各种异常数据的处理,软件自动更新导致程序挂了等等,每次都是几百上千的损失。由于各家券商技术方案不同就不展开讲了,碰到问题多跟客户经理多沟通。

    AI合约量化交易系统模式.png

    近一直在折腾深度学习和强化学习的模型,虽然初步尝试搞了一个版本出来,不能说效果不好,是根本不能用,但还是相信这个才是未来的趋势,所以才入手了有独立显卡的幻影侠谷(真的不是为了玩游戏啊)。个人习惯的模型训练环境为pyTorch+cuda,这部分内容网上搜了一下说啥的都有,一度让我怀疑可行性,主要在安装cuda的时候折腾了几天。从头捋一遍整体过程:

    1.系统安装,然后通过英特尔®驱动程序和支持助理安装所有驱动,包括nVidia显卡驱动,这里我一开始由于碰到那个小坑,是从nVidia官网自己下的驱动。

    2.安装wsl2,四条命令搞定,注意用管理员权限打开powershell,注意不需要在wsl中安装cuda或者ubuntu等等,当然如果你不想用docker也可以。


相关新闻
联系方式
公司:河南漫云科技有限公司
姓名:王经理(先生)
电话:13103827627
手机:13103827627
地区:河南-郑州
地址:河南省郑州市郑东新区商鼎路78号升龙广场3号楼A座32楼
QQ:2945941925
微信:13103827627
13103827627 请卖家联系我