哪一种机器学习或深度学习模式(必须是监督学习)最适合于识别金融市场的模式?
我指的是金融市场中的模式识别:下图显示了样本模式(即头和肩)的外观:

下面的图片展示了它在实际图表事件中的实际形式:

我要做的是:任何类似于图1的模式都可以定义为头和肩模式,但是在图表(价格图)中,它的形式不会像图像1那样清晰。图2是图表(价格图)中的头和肩模式的样本。如图2所示,通常的算法或分析不能将其识别为头部和肩部模式(因为有许多较高、较低的结构,很容易将其引入到许多肩部、头部或任何其他结构中)。我期待着训练机器,当类似的(如图像2)模式形成时,能够识别头部和肩部图案。
谢谢您抽时间见我。
如果我走错了路就告诉我。我只有初学者的机器学习知识。
发布于 2017-01-18 07:32:52
以下是一些可能有用的建议。
我的想法是,基本上是光滑的,直到你得到你的头和肩膀,也就是说,三个最大值。
警告:平滑虽然减少了曲线上的噪声量(而不是字面意义上的噪音),但它倾向于将曲线从原来的位置移动来表示它。
Python实现示例如下
from statsmodels.nonparametric.smoothers_lowess import lowess
import numpy as np
from scipy.signal import argrelextrema
import matplotlib.pyplot as plt
sample_points = np.array([1,2.3,3.5,3,4.5,5,2.25,33.3,5,6.7,7.3,56.0,70.1,4.2,5.4,6.2,4.4,100,2.9,45,10,3.4,4.8,50,2.3,3.45,5.5,6.7,7.9,8.7,6.1])
for i in np.arange(0,0.5,0.05):
# i in the loop is the percentage of data points we are inputing for the loess regression. Wiki atricle explains it, I guess
filtered = lowess(sample_points,range(len(sample_points)), is_sorted=True, frac=i, it=0)
maxima = argrelextrema(filtered[:,1], np.greater)
if len(maxima[0]) == 3:
plt.plot(filtered[:,1])
plt.show()我希望这种方式给出了你可能需要检查的方向。
发布于 2017-01-17 12:34:34
您应该看看基于动态时间偏差(DTW)距离的分类器。DTW是一种计算两个给定序列(例如时间序列)之间最优匹配的方法。它已被用于监督学习设置,特别是在最近邻分类器中使用时,它已被已报告用于达到最先进的结果。
发布于 2017-12-23 00:58:58
你见过这个论文吗?作者使用DTW来识别一组图表模式。
https://datascience.stackexchange.com/questions/16347
复制相似问题