首页 > 解决方案 > Python 中烛台/OHLC 数据的模板匹配

问题描述

我正在使用 Python 开发一个应用程序,该应用程序将允许用户选择一组烛台并将它们与在整个烛台数据库中找到的类似模式进行匹配。

我遵循了这个链接中的第二个教程,实际上能够做一些类似于我想用模板匹配做的事情。

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

模板 在此处输入图像描述

要搜索的图像 在此处输入图像描述

匹配结果 在此处输入图像描述

在将不同的模式与模板匹配后,我想显示在这些匹配模式发生后出现的蜡烛。重点是查看过去发生的类似模式的情况,以帮助确定现在存在类似模式时可能发生的情况。

显然,编写一个遍历烛台数据库并为图像模板匹配生成一堆图表图像的脚本效率极低。

是否有类似于图像模板匹配的东西可以用来查找类似于指定子集的烛台模式?

例如。“查看数据库中最新的 5 支蜡烛,然后查看整个数据库并找到相似的模式以及相似度 %”

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

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

所以数据库中最新蜡烛的收盘价candle_dictionary["closes"][0]是 173。

标签: pythonmachine-learningquantitative-financealgorithmic-trading

解决方案


超级简单的简短回答:

取最后 N 个值并使其成为具有 N 个条目的向量。使用 pyflann 构建数据库并进行搜索。

简短但仍然简单的答案

取最后 N 根蜡烛并计算连续蜡烛之间的对数回报 logret=log(c[t]/c[t-1])。用 K 个 bin 构建它们的直方图。将其用作 K 维向量。

高级:查看此存储库和作者引用的论文。 https://github.com/patrickzib/SFA


推荐阅读