首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >金融市场模式识别

金融市场模式识别
EN

Data Science用户
提问于 2017-01-16 16:16:12
回答 4查看 16.7K关注 0票数 8

哪一种机器学习或深度学习模式(必须是监督学习)最适合于识别金融市场的模式?

我指的是金融市场中的模式识别:下图显示了样本模式(即头和肩)的外观:

图像1:

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

图像2:

我要做的是:任何类似于图1的模式都可以定义为头和肩模式,但是在图表(价格图)中,它的形式不会像图像1那样清晰。图2是图表(价格图)中的头和肩模式的样本。如图2所示,通常的算法或分析不能将其识别为头部和肩部模式(因为有许多较高、较低的结构,很容易将其引入到许多肩部、头部或任何其他结构中)。我期待着训练机器,当类似的(如图像2)模式形成时,能够识别头部和肩部图案。

谢谢您抽时间见我。

如果我走错了路就告诉我。我只有初学者的机器学习知识。

EN

回答 4

Data Science用户

回答已采纳

发布于 2017-01-18 07:32:52

以下是一些可能有用的建议。

  1. 曲线上的数据比我国的道路还要颠簸。所以我认为你应该从平滑曲线开始。有许多平滑滤波器,比如从最简单的中值平滑到局部回归模型(如黄土区 )。有一些参数需要调整。看看这个例子。
  2. 找到当地的极大值。Python's numpy对此有一个实现,这应该会有所帮助。

我的想法是,基本上是光滑的,直到你得到你的头和肩膀,也就是说,三个最大值。

警告:平滑虽然减少了曲线上的噪声量(而不是字面意义上的噪音),但它倾向于将曲线从原来的位置移动来表示它。

Python实现示例如下

代码语言:javascript
复制
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()

我希望这种方式给出了你可能需要检查的方向。

票数 1
EN

Data Science用户

发布于 2017-01-17 12:34:34

您应该看看基于动态时间偏差(DTW)距离的分类器。DTW是一种计算两个给定序列(例如时间序列)之间最优匹配的方法。它已被用于监督学习设置,特别是在最近邻分类器中使用时,它已被已报告用于达到最先进的结果。

票数 5
EN

Data Science用户

发布于 2017-12-23 00:58:58

你见过这个论文吗?作者使用DTW来识别一组图表模式。

票数 2
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/16347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档