本人开发了一个基于Node.js的量化交易平台NodeQuant。nodequant量化交易平台
为什么要开发这个基于Node.js的量化交易平台呢?其实我也用过开源的python量化交易平台vn.py但是几个月前在研究做套利,但是几个月前的vn.py也不能套利,而且vn.py作者测试了vn.py的性能,说实话有点慢,这里没有贬低的意思,单纯技术的角度,内心其实感谢vn.py对量化行业的知识贡献。vn.trader的tick-to-trade延时测试所以用来做套利,就比较勉强了。综合考虑,走上了重新封装ctp等交易接口的路。量化交易是基于事件机制的,而Node.js天生就是基于事件的,它有自己的事件引擎,Node.js平台上执行的脚本是Javascript也非常容易上手和开发,Node.js的Javascript脚本引擎是谷歌浏览器的Javascript脚本引擎,脚本速度执行很快,综合考虑决定选用基于Node.js来开发一个既能做套利也能做趋势的量化交易平台。经过vn.py的同样测试,在Windows系统中NodeQuat系统内部Tick-To-FinishSendOrder的平均耗时1.5ms,可以说用来做套利的话,滑点成本就相对比较少了
NodeQuant如何支持量化交易- 一个账号 —— 多策略,支持一个账号多个策略的量化产品模式
- 一个策略 —— 多合约,支持套利
- 一个策略 —— 多市场,支持跨市场交易、套利
- 多个市场 —— NodeQuant 未来将会全部集成CTP、飞鼠Sgit 、富途证券、盈透证券IB的程序化API交易客户端,未来可在多市场中交易和套利
- 上期CTP —— 中金所、上期所、大商所、郑商所的商品期货、期权合约
- 飞鼠Sgit —— 期货、上海黄金交易所的贵金属现货
- 富途证券 —— 港股、美股、A股
- 盈透证券 —— 全球24个国家100多个市场中心的股票、期权、期货、外汇等产品
- 使用JavaScript语言开发量化交易策略。与C++相比不需要策略研究员处理琐碎但重要的内存管理问题。Node.js的速度也非常快,与C++处于同一个级别速度,且入门简单,能够快速开发程序。
国内的量化交易平台大多是C、C++、C#、Java、Python等语言编写量化策略。从事量化交易的人员在学会金融数据的分析的同时也要学好一门编程语言,往往学好一门编程语言对于很多人是一个不小的门槛。JavaScript语言是一门简单轻便的脚本语言,学习和编写JavaScript程序都非常简单。脚本语言具有弱类型的特点,不需要开发者在编写程序的过程中适配各种数据类型,入门快速。
而且JavaScript有大量的开发者,它是GitHub上最热门的编程语言
现在也只是我一个人在架构和开发这个基于Node.js的量化交易平台,如果有量化交易的爱好者和对NodeQuant开发感兴趣的,多多留下建议,我会根据建议继续完善这个交易平台