同时跑几个策略,电脑资源该怎么分
发布时间:26分钟前阅读:9
一个策略跑得挺顺,就想再加两个。加完之后发现,行情刷新变慢、委托延迟变高、偶尔还卡死。这不是电脑不行,是资源分配没规划。
一、先搞清楚瓶颈在哪
打开任务管理器看三项:CPU占用、内存占用、磁盘读写。
CPU高,通常是计算密集,比如多标的遍历、指标重算。内存高,往往是历史数据全量加载。磁盘读写高,一般是行情数据频繁落盘。
多数策略的瓶颈不在CPU,而在数据请求和磁盘。找准瓶颈再优化,比盲目升级硬件有用。
二、行情订阅数是个硬约束
每个策略订阅的标的数量加起来,不能超过客户端的上限。超了之后,行情刷新会变慢,甚至丢包。
如果几个策略都要看全市场,与其各自订阅一遍,不如做一个共享的行情缓存层,统一订阅、统一分发。
三、单进程还是多进程
同一进程里跑多个策略,共享内存,通信方便,但一个策略崩了会拖垮全部,而且全局变量容易串味。
多进程互相隔离,稳定性好,但内存占用翻倍,进程间通信要额外设计。
建议:核心策略独立进程,辅助策略可以合并。数量控制在三到四个进程比较稳妥。
四、错开运行时间
如果几个策略都是日线级别,没必要同时启动。可以错开几分钟,避免开盘瞬间同时取数、同时下单造成拥堵。
如果是日内策略,启动时间要早于开盘,留出初始化的时间,别等到九点二十五才开始加载数据。
五、内存管理
历史数据不要一次全载入。按需加载,用完释放。长期运行的程序,内存缓慢增长是常见问题,要有监控。
设置一个内存阈值,超过就告警,别等到系统开始用交换分区才发现。
六、磁盘
行情数据、日志、回测结果都写磁盘。日志按日切分并定期清理,回测结果单独目录存放。磁盘满了会导致写入失败,进而引发一连串错误。
七、监控
做一个简单的监控面板:每个策略的进程状态、最后心跳时间、当日委托数、当日盈亏。放在一个页面上,每天扫一眼。
多策略并行,管理的复杂度是乘法不是加法。资源规划做在前面,比事后救火省事得多。
股票开户欢迎找我!可以申请万0.854的股票佣金、etf 可转债佣金万0.5、国债逆回购一折(百万分之一)!量化软件QMT+ptrade免费使用!还有888、999资金靓号等你选!
温馨提示:投资有风险,选择需谨慎。
下一篇资讯:
暂无下一篇



问一问
从业认证

+微信
分享该文章
