使用Python进行K线/OHLC数据的模板匹配

我正在开发一个Python应用程序,允许用户选择一组K线,并在整个K线数据库中找到与其相似的模式。

我按照此链接中的第二个教程操作,实际上能够使用模板匹配实现我想要的功能。

https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_template_matching/py_template_matching.html

模板enter image description here

搜索的图像enter image description here

匹配结果enter image description here

在将不同模式与模板匹配后,我想展示那些匹配模式之后出现的K线。目的是观察过去在相似模式下发生了什么,以帮助判断当前出现相似模式时可能发生的情况。

显然,编写一个脚本来遍历K线数据库并生成大量图表图像以进行图像模板匹配是非常低效的。

是否有类似于图像模板匹配的方法,可以用来查找与指定子集相似的K线模式?

例如,“查看数据库中最新的5根K线,然后查看整个数据库,找出相似模式以及相似度百分比”。

我将数据库读入字典,如下所示:

candle_dictionary = {"opens": [123, 121, 122, 103],"highs": [126, 131, 122, 133],"lows": [143, 71, 92, 100],"closes": [173, 124, 128, 123]}

因此,数据库中最新K线的收盘价将是 candle_dictionary["closes"][0],即173。


回答:

超级简单的简短回答:

获取最后N个值,并将其转换为具有N个条目的向量。使用pyflann构建数据库并搜索它。

简短但仍简单的回答:

获取最后N根K线,计算连续K线之间的对数回报 logret=log(c[t]/c[t-1])。构建一个具有K个区间的直方图。将其作为一个K维向量使用。

高级:查看这个存储库以及作者引用的论文。 https://github.com/patrickzib/SFA

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注