运用云计算和量化交易技术助力智能投顾服务

 

由软件开发团队程序化开发小组开发的 ICS 智能投顾系统,是期货公司为交易者提供投顾服务的平台。 系统由管理端和用户使用端构成。管理端提供便捷、智能的策略研发、策略管理环境,助力期货公司把量化投研成果转化为产品服务。用户使用端以丰富的图表,多维度向用户展示策略的绩效情况,用户可根据自己的交易习惯、风险偏好,选择策略进行订阅。

 

从上面的系统构成中不难看出,我们的开发工作会面临两大难题:一是数据处理量大 ,二是保证系统的及时性和准确性,所以在需求讨论会和技术交流会上,通过充分的探讨和不断完善,最后逐一攻克了难题 ——


首先,系统的数据处理量庞大。一是策略的研发、管理、展示和订阅是系统的主要服务内容,而策略即指量化模型,其中涉及大量的算法;二是要接收实时行情数据,执行策略,触发交易信号;三是回测报告需要大量历史数据,这些数据就在云端管理。所以我们运用了云计算,来完成大量的数据处理工作,而不用担心速度和准确性。

 

其次,智能投顾服务系统的运行是错综复杂的,众多的交易策略、订阅信息、交易连接的管理都需要在云端储存,这其中信息量的庞大可想而知,那么如何让系统保证行情及时触发、策略及时发出交易信号、信号及时转换成交易指令发送到后台,成为了我们研发工作的重中之重。所以在开发系统前期,我们做了大量准备工作,针对数据库的选择、数据的压缩之类的问题,提出了多种方案,并把这些方案逐一进行比对,经过对各个方面利弊的权衡和讨论,我们最终决定采用统一管理机制 ——分布式系统。分布式系统的优势有很多,首先可以保证每个运行单元都能够作为一个独立服务运行在分布式系统中,彼此间没有任何影响;其次,可扩展性强,即使用户量大幅度增加,也可以通过添加电脑设备的方式来提高更大的并发量,非常方便快捷。

 

之后的开发过程实际都非常顺利,在分布式系统中,我们应用了多项软件中的主流技术,其中包括消息队列中间件,它是分布式系统的重要组件,无论是消息的分发还是运行服务的管理等都依靠消息队列来完成;因为指令消息的数量众多,我们唯一遇到的难题可能就是如何保证运行服务的唯一性,所以我们使用了分布式应用程序协调服务( ZooKeeper ),来保证任务和指令不会重复运行。另外,因为策略回测需要大量的历史数据,为了避免出现读取速度慢的情况,我们决定把数据做压缩处理,这时我们想到了之前自主研发的压缩算法,可以把历史行情数据在储存时压缩到原来的 1/10 左右,所以我们就充分发挥了“拿来主义”哈哈。

 

除了上述问题外,由于系统中所涉及的数据量非常庞大,我们实际还面临着一个难题,就是数据的安全和维护。因此,我们采用了 Redis 等分布式数据库和日志管理系统( ELK ),这样在充分保证了数据安全性的同时,又可以在出现问题时,快速定位到问题,也能够提供日常监控的功能和信息,便于运维人员的常规维护。

 

智能投顾服务系统的开发,犹如在期货公司和个人交易者之间架起了一座桥梁,简化了用户的交易形式,希望以此来推动期货市场和量化交易的发展,引领更多投资者使用更科学的交易方式在期货市场中打拼。

 

 

© 版权所有   上海文华财经资讯股份有限公司   ICP备案号:沪ICP备09042590号-2