您现在的位置是:首页 > 欧美文章精选 > 人工智能(AI)人工智能(AI)

机器学习模型:人工智能在技术交易中的应用

编辑2023-12-29【人工智能(AI)】人已围观

简介人工智能

机器学习模型:人工智能在技术交易中的应用

人工智能工具可用于将交易时段分类为模式。可以使用 Python 编程环境来实现。在此,我们将阐述这一概念。

作者:Domenico

人工智能

机器学习模型:人工智能在技术交易中的应用

人工智能工具可用于将交易时段分类为模式。可以使用 Python 编程环境来实现。在此,我们将阐述这一概念。

作者:Domenico D'Errico

"你有没有把交易时段看作......一朵花?

我第一次向我的对冲基金经理们提出这样的话题时,我看到他们变得很困惑。我确信他们中的一些人开始嘀嘀咕咕,怀疑我是不是抽了烟或吃了什么不寻常的花!不过,我是认真的,让我来解释一下原因。

让我们把时间倒回到 1936 年,当时一位名叫罗纳德-费舍尔(Ronald Fisher)的英国科学家开发了一种 "算法",可以根据一些数字数据特征来识别鸢尾花的种类。虹膜数据集是数据科学的 "Hello world",也就是说,它通常被用来练习基本的机器学习(ML)算法。它包括五列:花瓣长度、花瓣宽度、萼片长度、萼片宽度和物种类型。研究人员测量了不同鸢尾花的各种特征,并以数字形式记录下来。费舍尔利用萼片长度、萼片宽度、花瓣长度和花瓣宽度这四个特征对三种鸢尾花进行了分类(分别命名为 setosa、versicolor 和 virginica)。

因此,我的观点是 如果我们遵循类似的研究路径,将交易时段划分为四个品种(或模式),如图 1 中的示例所示,又会如何呢?我们可以使用以前交易时段的技术指标读数来代替花瓣和萼片。

FIGURE 1: 数据分类。能否将交易时段分类为四种模式,类似于鸢尾花品种的分类方式?

当经验丰富的交易者查看图表时,与新手不同,他们并不以预测未来为目标。相反,他们会尝试识别自己在经验中观察到的模式。更详细地说,他们会寻找不完整的形态,以便在形态完成之前进行交易。

FIGURE2ATASETSTRUCTURINGANDPATTERNRECOGNITION.Indicator readings could be classified similar to the way that iris species are classified. 这样,数据集就不会作为时间序列来分析了。

让我们来比较一下花卉和交易这两个世界。在图 2 中,您可以将鸢尾花数据集与我提出的交易数据集进行比较。如果以这种方式构建交易数据集,分类问题是完全一样的。识别花朵还是交易时段并不重要。此外,交易数据集的最后一列是否与未来有关也无关紧要,因为这种方法不是基于时间的,交易数据集也不是作为时间序列来分析的。

人工智能模型的工作原理

让我们用 Python 的一些基本概念来深入探讨一下细节。不熟悉这种语言的交易者应该知道,应用机器学习模型所需的大部分工具都是内置的。你不需要成为科学家就能使用它们。你需要的是一个明确的目的,而作为一名交易员,你的目的是洞察下一交易栏的价格走势。

我知道很多经验丰富的交易者都不熟悉 Python,也没有时间去学。但是,请相信我,对于一个交易者来说,掌握一些基本的 Python 概念比一个没有市场经验的数据科学家学习如何交易要容易得多。为什么?当我说如果你学习编程,你最终可以学会任何编程语言时,我希望不会冒犯任何数据科学家(他们中的许多人都是我的朋友)。相比之下,如果你学习交易,没有真实的市场实践是学不会的。这需要时间、金钱,以及大量的心理能量和动力,才能在交易者遇到无数次失败后坚持下来。

现在,让我们聚焦市场。在我担任对冲基金量化开发人员期间,我与数百名经验丰富的专业交易员密切合作,为他们量身打造交易工具。很多时候,我听到这样的说法:"当价格出现这种走势时,下一交易条很有可能会出现这种或那种走势"。他们在做什么?他们在应用多年观察和交易中形成的某种个人模型。这正是我介绍的机器学习模型的工作原理。

因此,该模型试图回答以下问题:

今天的随机震荡指标读数能否帮助预测明天是否会出现更高的高/低形态?
今天的 RSI 震荡读数能否帮助预测明天是否会出现更高的高/低形态?
今天的 MACD 柱状图高于零,是否有助于预测明天是否会出现更高的高/低形态?

一般来说,交易者利用当前的指标/震荡指标读数来洞察下一交易栏的走势。但是,技术指标与下一交易柱走势之间的确切关系很难计算,因为它们之间没有明确的线性函数关系。有时指标上升,价格继续上涨,而有时则相反。

这就是 Python 发挥作用的地方。我们所需的一切都可以在它的库中找到,供交易者使用。

这就是 Python 发挥作用的地方。我们需要的一切都可以在其库中找到,供交易者使用。让我们看看如何继续。

图 3:机器学习。在这里,您可以看到基于机器学习的交易模型需要经历的步骤。该模型的目标是预测明天的交易日是否会出现较高的高点/低点(模型目标)。

在图 3 中,您可以看到我们基于机器学习的交易模型需要经历的不同步骤:

1.加载数据(最简单的步骤): 在本例中,我从 TradeStation 导出的 CSV 文件中加载了美元兑日元 20 年的日线数据。

2.设置特征和目标(技术交易者最关键的一步): 为了本文的目的,我考虑了三种标准技术指标:

a. 随机指标(14)
b.RSI (14)
c. macd (12, 26, 9)

该模型的目标是预测明天的交易日是否会出现较高的高点/低点(模型目标)。

3.模型训练和测试 Python 利用其 ML 库分析了前 12 年的美元兑日元数据(从 2000 年到 2012 年),以找到特征与模型目标之间的最佳拟合。然后,Python 将获得的最佳模型应用于接下来 10 年的样本外数据(从 2013 年到 2023 年)。

4.评分: Python 通过计算从 0 到 1 的准确度得分并生成混淆矩阵,告诉我所有这些结果是否有意义。

5.预测: Python 会为我提供明天的预测,并回答以下问题: 明天是否可能出现较高的高/低模式?(是或否)

6.交易: 根据预测进行交易。

请参阅边栏 "使用 Jupyter Notebook 进行 Python 开发",了解使用 Jupyter Notebook(Python 和其他编程语言的集成开发环境 (IDE))的示例,以帮助您访问和使用基于 Python 的机器学习工具来测试和训练模型,并从中获得预测结果。

技术指标作为机器学习模型的特征

让我们简要讨论一下特征选择。在机器学习模型中,数据的规范化非常重要,这意味着数据在一个确定的范围内,或者数据是二进制的(0/1)。

我使用了三个非常常见的技术指标来构建模型。我保留了随机指标和 RSI 读数(因为它们在 0 到 100 之间变化,并且已经归一化),并用二进制特征简化了 MACD 读数: MACD 直方图 > 0 的值为 1,而 MACD 直方图 < 0 的值为 0。

许多数据科学家喜欢转换数据。数据转换是将现实世界中的原始数据转换成计算机可以使用的数据的过程。这是任何 ML 项目的一个重要步骤,但可能会比较混乱和复杂;这就是我们选择即用型技术读数的原因。

模型验证

混淆矩阵是机器学习和统计学中常用的工具,用于评估分类模型(如二元分类器)的性能。它以表格形式提供了模型预测值与实际真实值的对比摘要。混淆矩阵的主要目的是帮助评估模型的准确性及其正确分类不同类别的能力。

FIGURE 4: 回溯测试。模型的正确率如何?模型的总体准确率为 74%。

在图 4 中,您可以看到基于美元兑日元 3,000 天样本内和 3,000 天样本外数据的混淆矩阵。样本外数据共计 3,135 天(从 2011 年 1 月到 2023 年 9 月)。其中,1,261 天呈现较高的高/低模式,模型正确预测了其中的 801 天(64%)。另一方面,1,874 天未显示该模式,模型正确预测了其中的 1,517 天(81%)。模型的总准确率为 74%。

交易计划

假设我们信任该模型,以下是交易计划:

预测看涨时,收盘时买入,止损设在当前低点。
当预测看跌时,在收盘时卖空,止损设在当前高点。
在下一交易日收盘时离场。

回溯测试和前瞻分析

我们对 2008-2023 年期间的美元兑日元进行了回溯测试,并采用了前向走势分析方法。前向分析(WFA)是将训练-测试过程分成几个部分(见图 5)。在本例中,模型经历了 2000/50 的滚动前移,即在 2,000 个交易日中进行训练,然后在接下来的 50 个样本外交易日中进行测试。我强烈建议对任何交易系统进行这样的分析,而不仅仅是那些基于 ML 的系统。许多交易平台都提供了这一有用的功能,让您的系统接受这一过程非常重要。

FIGURE 5: 向前走测试。在 2008-2023 年期间,我们采用前向走时方法,对美元兑日元进行了回溯测试。该模型在 2,000 个交易日中进行了训练,然后在接下来的 50 个样本外交易日中进行了测试。

混淆矩阵的主要目的是帮助评估模型的准确性。

FIGURE 6: 性能汇总。该模型的回溯测试结果良好,多头和空头交易均衡。

在图 6 中,您可以看到性能摘要,而在图 7 中,则可以看到相应的权益线。

FIGURE 7: 股本线。模型的股本曲线显示出持续增长。

结论

那么,我们可以把一个交易日看作一朵花吗?我认为可以,因为交易模式可以用二元组合来表示,就像鸢尾花的品种一样。主要区别在于,我们需要识别一些尚未发生的事情。

这个机器学习模型好吗?我们可以说是好的,因为准确率很高,混淆矩阵也很合理。

我们能用这个模型进行真实资金交易吗?回溯测试提供了积极的结果。多头和空头交易相当平衡,股票曲线显示出持续增长。不过,我们还需要努力提高平均交易量,因为考虑到经纪商的点差和佣金,平均交易量是相当低的。尽管如此,我们还是对首个应用于技术交易的人工智能模型感到满意,我们有信心走在正确的道路上。

Tags:期货杂志   欧美精选  

很赞哦! ()

联系我们

本站推荐

MultiCharts微信群