用向量数据库分析股票价格

APPLICATION Dec 7, 2024

数据中的模式讲述了一个故事。它们与现实生活中的事件、不断变化的情绪和意外情况相关。让我们以我们经常看到的东西为例——埃隆·马斯克的一条推文:

这条推文对 TSLA 股价产生了立竿见影的重大影响,在几秒钟内飙升。这只是一个例子,一直都有一些事件会影响数据,例如收益电话会议、季度报告和公司合并等股票价格。通过了解数据中的模式和异常,我们可以快速适应并更有效地定位自己——以及我们的公司——在当今快节奏的世界中。

监控和识别数据中的异常和感兴趣的模式是一项艰巨的任务。在实时数据中这样做会增加额外的复杂性。在本文中,我们将使用一种称为时间相似性搜索的方法探索两种模式和异常检测的变体。

1、时间相似性搜索 (TSS)

时间相似性搜索 (Temporal Similarity Search) KDB.AI 向量数据库中可用的一种算法,可用于识别时间序列数据中的模式、趋势和异常。将其作为向量数据库的一部分实现的优势在于,可以在海量数据集中进行非常快速的相似性搜索。

非转换 TSS 扫描时间序列信号以查找与查询模式相似的模式

TSS 包含两种关键搜索方法:转换和非转换相似性搜索。转换 TSS 可在大规模时间序列数据集(例如历史数据或参考数据)中进行高效的矢量搜索。非转换 TSS 专注于对快速变化的时间序列数据(例如实时数据)进行近乎实时的相似性搜索。这些组件共同作用,让你能够快速、大规模地搜索和分析时间序列数据。

在这个演示中,我们将使用非转换 TSS,它更适合实时用例,例如股票市场价格和交易量数据的实时模式匹配。非转换 TSS 能够在数据插入矢量数据库时直接扫描数据,而无需将数据附加到搜索索引。这对于实时数据“问题”至关重要,因为传入的时间序列数据不需要附加到索引,因此可以非常快速地插入和搜索。

非转换 TSS 需要注意的一点是,相似性搜索是根据数据的形状而不是底层值本身计算的。这很重要,因为它可以检测到相似的模式,即使这些模式在特定数值上有所不同。

让我们深入了解这个示例的具体内容!

2、TSLA 数据集

我们将使用一周的 TSLA 价格和交易量数据。为了举例说明,TSLA 价格将按秒分组,交易量按分钟分组。首先,我们将前四天的 TSLA 数据插入 KDB.AI,然后将第五天的数据输入 KDB.AI,模拟实时数据流。

加载到 KDB.AI 后,前四天的数据如下所示:

该表其次包含 TSLA 价格和数量数据

如你所见,此表中没有创建任何向量嵌入。 这是因为非转换 TSS 直接在时间序列数据上进行搜索。 这很有利,因为这意味着我们在 TSS 搜索中不需要坚持固定的向量长度。 换句话说,你的查询向量不需要具有特定大小,它可以具有适合你用例的任何长度。

3、搜索方法:异常检测

第一个用例是检测模拟实时传入数据的异常。 TSS 通过针对历史数据集搜索传入模式来实现此目的。 如果新传入模式与任何历史模式都不相似,则将其视为异常。

让我们看一下 TSS 对传入的“实时”数据进行搜索的结果:

顶部图表是输入到 KDB.AI 的 180 个数据点实时定价,底部图表是 TSS 在历史数据集(前四天)中识别与实时模式相似的模式(最近邻)的结果。底部图表显示历史数据集中与实时模式相似的模式。

在每个相似模式的末尾,我们可以查看以下部分。这可以作为预测实时模式下一步可能发生的情况的特征。

但随后……

埃隆发推文后出现异常

然后我们看到 TSLA 价格突然飙升(恰好发生在埃隆·马斯克发推文称将 TSLA 私有化后约 15 秒)。实时数据图变为红色,表明我们有一个异常,因为过去四天中没有与此峰值相似度在阈值内的模式。

让我们看看是否能发现另一个异常:

交易暂停(异常)

随着我们继续监控股价,我们发现又发现了另一个异常(实时图表变为红色)。这是因为自从埃隆发布推文后市场因高波动性而暂停 TSLA 交易以来,传入数据停止了。由于前四天没有其他模式在中午停止,因此此实时模式被标记为异常。

虽然在这种情况下我们寻找股票价格的异常,但你也可以使用其他可用数据,例如交易量。

4、搜索方法:识别预定模式

技术分析是一种尽快识别传入数据中已知模式的方法,以获取有关接下来可能发生的情况的情报。TSS 可用于这种模式匹配 - 让我们举个例子:

这里我们有实时 TSLA 数据流入 KDB.AI,并且我们有正在此数据中搜索的预定模式。

实时数据,其中突出显示了感兴趣的模式
预定模式,以及相似性搜索中识别的最近邻居

随着数据流入,TSS 搜索将对新到达的数据和历史数据执行。最近邻居显示在“历史 NN 到模式”图中,以及检测到模式后接下来发生的情况(黄色)。实时数据中的任何最近邻居也将被记录。

模式匹配使用信号的形状来确定相似性,而不是精确值——这使得该方法在从金融市场、制造业到物联网等许多用例中特别灵活。

5、结束语

非转换时间相似性搜索 (TSS) 提供了强大的时间序列数据分析功能,尤其是在股票市场等快节奏环境中。通过对特斯拉股票数据的演示,我们看到了 TSS 可以以两种方式应用:异常检测和模式识别。这些方法允许实时分析传入数据,从而快速识别可能预示重要市场动向的异常事件或预定义模式。

检测异常的能力,如埃隆·马斯克 (Elon Musk) 发推文和交易暂停后价格突然飙升所示,证明了 TSS 提醒分析师注意意外市场行为的潜力。同样,模式识别功能可以帮助识别技术分析模式的形成,为交易策略提供有价值的见解。


原文链接:Analyzing Stock Prices with Vector Databases

汇智网翻译整理,转载请标明出处

Tags