我正在开发一个Python应用程序,允许用户选择一组K线,并在整个K线数据库中找到与其相似的模式。
我按照此链接中的第二个教程操作,实际上能够使用模板匹配实现我想要的功能。
在将不同模式与模板匹配后,我想展示那些匹配模式之后出现的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