技术 | 机器学习在交易策略中运用

交易是一向竞争激烈的业务,你需要优秀的人才和卓越的技术,当然,也需要赚钱的交易策略。那么这些策略从何而来?在这篇文章中,我们将讨论数据、数学和技术的相互作业将会如何影响我们开发和运行策略。

 

首先,机器学习从数据开始。我们每天收集和存储大约2.3TB的市场数据。从隐藏在这些拍字节数据中的关系和统计规律中,可以得出策略中的模型。但它不仅仅只是个模型。机器学习涉及到许多相互关联的部分:

 

获取数据:构建基础架构来高效地收集、存储、索引和检索这些数据,并且需要微秒级别的精确度——这些本身就是一项有趣的工作。我们有一个完整的团队致力于这项重要的工作。如果我们在哪一个时刻没有记录数据,那么这些数据就会消失,永远不会返回。

 

清洗数据:收到的原始数据经常丢失、损坏、没有对齐或有其他问题。在部署任何建模技术之前,我们需要对数据进行清理。这是这个过程中至关重要的一部分——不可避免,但无可否认它是乏味的。

 

探索数据:在我们理解数据本质之前,很难知道该用什么技术来解决问题,而且很难弄清楚该使用什么数据。花时间构思和理解问题的结构有助于为工作挑选合适的建模工具。

利用领域内专业知识:你对你试图解决的问题了解得越多,你建立好模型的能力就越强。这在整个过程中以多种方式出现:目标函数的选择、合理的近似以及用于求解它的算法。例如,图像模型通常具有平移不变性,而金融模型通常具有较低的信噪比和大量博弈论先验。像这样的专业知识来之不易,毕竟这些都是由过去成功或失败的结果中总结出来的。

建立一个模型:这是让每个人在机器学习领域中都兴奋不已的部分。但是,我们已经发现标准技术几乎从来都不是现成的。你越了解是什么让一个算法顺利进行或失败,你就越有可能想出有效的方法来修改它,并使它能解决手头的问题,也或者想出一些全新的东西!
 

验证模型:在构建机器学习系统时,尤其是在像交易这样竞争激烈的世界里,欺骗自己的方法并不少见。这个过程中最激动人心的部分是——当一个新的机器学习系统显示出大概率下,它比过去的系统更好的时候,此时,我们便知道我们正在取得真正的进步。

 

部署模型:在部署新模型时,有很多有趣的工作,这些工作使一个很不错的主意和一个真正赚钱的想法有所不同。当然,高效可靠地运行它很重要,但也要确保预测模型的错误不会是灾难性的。此外,一旦你开始交易,市场将会适应你的策略,从而使你的模型在随着时间推移的情况下变得不那么有效。更令人困惑的是,如果你不小心,你可能会进入一个糟糕的反馈循环。在这个循环中,你构建的下一个模型将你自己当前的交易视为“市场同意我应该在这里交易”的证据!诸如此类的问题使得将机器学习应用于交易成为一个非常具有挑战性的问题。

过去几年来,我们使用了各种机器学习算法:高斯过程、随机森林、自适应回归样条和遗传算法等等。最近,我们对深度学习理念的使用越来越多。在过去的5年里,这些想法(如高参模型、基于反向传播算法的随机梯度下降等)席卷了世界,并且在众多领域取得了令人兴奋的成果。特别有趣的是,除了一些极端情况特例,世界还不明白为什么这些技术会像它们一样通用。这使得我们更需要考虑深度振奋人心的学习技术,且我们在这一领域的工作导致了我们目前在生产中使用的一些策略。深度学习是机器学习里面的一个大的、令人兴奋的、有时令人困惑的领域,且我们对在这个领域能够学习和发明的东西持乐观态度。

 

然而,机器学习的世界比深度学习更大更丰富。如果说Kaggle竞赛给了世界什么启示的话,那就是最好的解决方案结合了各种各样的方法,而且往往是临时的和混乱的。我们知道金融世界并不存在纯粹的问题:人类世界是复杂且不断变化的。我们相信,如果我们不继续向前推进在技术上和智力上的极限,我们将很快失去竞争优势,而在这个竞争环境中,追逐新的想法并将这些想法付诸实践是振奋人心的。