当前位置: 首页 > 后端技术 > Node.js

NodeQuant:一个基于Node.js的开源量化交易平台

时间:2023-04-04 01:22:20 Node.js

NodeQuant:一个基于Node.js的开源量化交易平台NodeQuant的愿景是让Node.js社区轻量化开发部署量化金融交易程序,成为一个简单高效,可靠的量化交易平台:NodeQuant开发文档NodeQuant如何支持量化交易一个账户-多策略,量化产品模型,支持一个账户多个策略一个策略-多个合约,支持套利一个策略-多个市场,支持跨市场交易和多市场套利——NodeQuant将全面整合之前CTP、飞鼠Sgit、富途证券、盈透证券IB的程序化API交易客户端,可在多市场进行交易和套利。上期CTP-中金交易所、上海期货交易所、大商所、郑商所商品期货、期权合约飞鼠Sgit-期货、上海黄金交易所贵金属现货富途证券-港股、美股、A股盈透证券-全球24股、期权、期货、外汇等10个国家100多个市场中心的产品使用JavaScript语言开发量化交易策略。与C++相比,无需策略研究人员处理琐碎但重要的内存管理问题。Node.js的速度也非常快,与C++处于同一水平,而且上手简单,可以快速开发程序。NodeQuant简介国内的量化交易平台大多采用C、C++、C#、Java、Python等语言编写的量化策略。从事量化交易的人员在学习金融数据分析的同时,还必须学习一门编程语言。往往,学好一门编程语言对很多人来说都是一个不小的门槛。JavaScript语言是一种简单、轻量级的脚本语言,学习和编写JavaScript程序都非常容易。脚本语言具有弱类型的特点,不需要开发者在编写程序的过程中去适应各种数据类型,因此上手很快。JavaScript拥有大量开发人员,它是GitHub上最受欢迎的编程语言。借助Node.js运行环境,JavaScript语言可以使JavaScript像C++、C#等高级语言一样运行在服务器端,可以进行读写文件、数据库、访问网络等操作.Node.js是一个基于ChromeV8引擎的JavaScript运行环境。Node.js使用事件驱动、非阻塞I/O模型,使其轻量且高效。Node.js的包管理器npm是世界上最大的开源库生态系统。使用npm,您可以找到开发人员可以将其集成到自己的程序中的各种第三方库。量化金融交易程序是基于高频网络访问和各种事件(OnTick、OnOrder、OnTrade)的数据密集型程序。由于Node.js非阻塞和事件驱动I/O操作的特点,在处理数据密集型实时应用时非常轻量和高效。它可以被认为是数据密集型分布式部署环境中实时应用系统的完美解决方案。.使用Node.js编写和运行量化交易策略程序是一个很好的解决方案。这就是NodeQuant量化金融交易平台诞生的背景。NodeQuant的最新特性支持了之前CTP的API客户端(WindowsNode.js-8-32位,WindowsNode.js-8-64位,Linuxx64Node.js-8)。中国黄金交易所、上海期货交易所、大商所、郑商所的所有期货合约均可交易。支持飞鼠SgitAPI客户端(WindowsNode.js-8-32位,Linuxx64Node.js-8-64位)。中国黄金交易所、上海期货交易所、大商所、郑商所所有期货合约均可交易,上海黄金交易所现货合约均可交易。现货黄金和白银的可编程交易。支持一个账户——多策略,支持一个账户多策略的量化产品模型支持一个策略——多合约,支持趋势,套利交易支持一个策略——多市场,支持跨市场交易,套利支持交易K线周期:秒、分、时支持交易所支持的各类订单:限价单、市价单、FAK单、FOK单、条件单。可灵活应用于趋势、套利、钓鱼等交易策略,支持盘后自动计算策略净盈亏,快速响应真实交易。使用Redis内存数据库记录和查询交易信息,支持策略运行状态的可视化。使用Redis数据库Windows图形客户端查看策略运行交易数据,无需监管即可查看本地和云端服务器的策略运行状态。支持配置非交易时间自动停止,交易时间自动启动。交易策略支持打包加密策略,滑点成本更小。在Windows系统测试CTP交易客户端,系统Tick-To-FinishSendOrder平均耗时:1.5ms(基于python的vn.py平均耗时22.6ms)NodeQuant2.0即将推出的特性支持连接Tick数据行情服务器,使策略可以预加载Tick、分钟行情数据。方便获取预处理数据的策略支持策略运行异常邮件通知详见:NodeQuant开发文档