量化金融需要大量的数据,一旦开始处理小于每日时间段的数据,数据就会变得更加庞大。
业界广泛使用的另一种方法是构建纯 Python 解决方案。其实我对Python的个人感受是复杂的。
Python有自己的优势那就是非常容易编码并可以使用许多ML库进行计数,Jupyter notebooks可以简化结构维护,并促进对过程的自我记录。
这可能不是最好的解决方案,但在混合环境中,我认为在操作方面它非常方便。我一直认为 Python在性能或速度方面不占优势,但在编写高级可维护的软件层却非常好。更短的开发时间和更轻松的团队协作的好处胜过性能障碍。
有经验的Python开发人员也可以使用可以加速Python的替代方法。这种方法在一家成熟的小型对冲基金公司中得到了非常成功的使用。
C++/Java 方法
另一种方法涉及使用 C++ 或Java作为环境,并开发自定义框架来处理数据。这是具有大量数据的日内高频运营公司所使用的方法。
对于刻度数据来说,可能至少在基础设施的某些区域需要这种方法。关于要使用的特定语言,C++ 是旗舰机构公司的首选,但 Java 可以以较低的成本运营,而且有非常成功的小公司使用 Java 提供所有内容。现实情况是,我们可以获得与 C++ 几乎相同的性能,但比 C++ 更易于管理语言和开发和调试环境。
交易软件的某些方面可以用 C/C++ 语言更好地表示。比如为OHLC和报价数据定义数据结构在 C 中比在 Java 中更自然。
在交易中使用 Java 总是涉及以一种对 Java 程序员来说不太自然的方式进行编码,因为我们需要始终考虑低级编程和性能,因此C 背景是有益的。