3分钟了解NTQ

NTQ 是什么?

New Tea Quant(NTQ)是一款对个人开发者友好、轻量级、高性能量化策略回测与研究框架。

啥是量化?

用最简单通俗的话来说就是把你做一个决定需要的决策条件一个一个地变成可以用数据衡量的准则给列出来(量化下来),然后按照这个列出的准则进行之后的选择或者操作。

放在股票金融市场就是:把你选择股票或者交易股票等等一些列操作固化成一套完整的模式,模式的每一步都有明确的步骤和验收标准,然后按照这个方式进行交易。

比如:大家常常说的炒股票要追热度,啥叫追热度?热度是需要量化的,追这个行为也是需要量化的。翻译成“量化准则”可能是:

  • 某个股票连续3天成交量都在全类型的前10名
  • 这个股票的换手率大于3%
  • 这个股票在过去的5天内平均波动位于同类型的前5
  • 这个股票近5日成交量远远大于前一个月的平局

上述这些可以标准化,可以通过数据“量”出来的准则就是量化。当然,一般来说完整的量化策略还可能包括执行,验证等等需要量化的步骤。

当然,上述只是随便举个例子说明量化概念,并非可以操作的策略。

NTQ 做什么事情?

NTQ 本质上就做两件事:

  • 帮助您把量化后的选股和交易策略通过代码放入历史数据中验证是否可行。(验证“量化”准则)

  • 通过代码把量化的策略放入最新的市场中进行扫描,发现机会并报告给您。(通过“量化”准则寻找机会)

当然NTQ也有很多其他功能,但所有功能都是为了这两个核心目标服务的。

为啥要用 NTQ?

我们市面上也有很多可以回测的框架,他们都已经存在很久了,那么NTQ和他们有什么不同?为啥作者还要搞个NTQ?

  1. NTQ是框架,其他回测偏向“工具”。框架和工具有什么不同?工具你拿它来做事,框架就是一套完整的做事流程包括用什么工具怎么做之后怎么验证做没做好的全套规范和流程。再简单点,做饭的工具就是锅,但是如果想做好吃的饭,那么你需要食谱,对食材的要求,烹饪的标准,质量的监控等等才能做出质量可控的菜,而只给你一口锅自由发挥你可能无法稳定保障菜的口感和质量。
  2. 说了半天,NTQ“框架”在哪里?NTQ的框架主要体现在对回测流程的管控上。不知道正在读这个文档的您有没有过自己回测结果贼牛,但一上实盘被吊打的经历?您有想过为什么吗?因为其实回测过程远远比您想的要复杂。比如您的数据来源,如果就是从那些股票网站爬的,那么您在回测的时候就会出现幸存者偏差,因为那些您爬到的数据都是还活着的股票,您会发现股票价格2块多的股票之后都会涨N倍,结果就就去买了。但是您没有看到的是2元多的股票最后有不少都走到了退市的尽头,但是您的回测里没有考虑他们。再比如一个常见的例子:您找了一段K线,用了某个方法切割了它的波动,并用代码找到了所有显著的波谷作为买点,但是却发现实盘中无法正确获得交易信号,那是因为您使用了“未来”的数据帮助您定义了“过去”的波谷。实盘当中后边的K线还不完整,您是无法使用同样的方式得到一个所谓的“波谷”的。等等还有很多很多。NTQ作为框架,这些常见的坑都帮你自动放入回测流程中进行了规避,所以您的默认结果就会更可靠并且更有实际参考意义。
  3. 那这么久了没有类似“框架”的回测工具吗?NTQ和他们比起来怎么样?当然有,但是适配性不好,因为很多都不是从A股开始为基底制作的,所以他们更适合类似美股港股这种市场的交易规则,如果让他们适配A股,就需要不少的改造。但社区的力量是强大的,有不少社区的牛人会把一些框架改造成适配A股的,但是版本众多,文档不全,而且不太好找,至少作者没找到很合适的,这也是为什么作者开发NTQ并分享出来的主要原因。
  4. 还有一类框架,功能很全很强大。但 10 年的全市场回测,光数据量就可能远超个人 PC 的内存极限。这些"大"平台走云端,效率高,但收费贵,回测过程是黑盒,界面上堆满了你用不到的参数。如果您不想花钱买云服务,想自己在本地探索策略,NTQ 就是更合适的选择。NTQ 针对个人 PC 做了内存优化——动态切片、共享内存、显式内存预算——保证不会因为数据量大于内存而跑崩。同时数据架构支持随用随插,本地只保留你需要的基本数据,需要什么数据源就接入什么,不干扰、不冗余