两张在X轴上有非线性扭曲的报价图的比较 - 页 7

 
hrenfx:

这个问题是如何通过DTW(例子)来解决的。

  1. 我们需要在历史上找到类似于极端100条的情况。
  2. 可用的历史记录是1 000 000条。
  3. 首先,我们取了1,000,000个50条的序列,通过DTW与模式进行比较。
  4. 然后,我们又取了1,000,000个55条的序列,通过DTW与模板进行比较。
  5. 这一次是60条。
  6. .....
  7. 在100巴时。
  8. .....
  9. 300条。而这是我们可以停止的地方。

我们总共使用DTW算法做了50,000,000次比较,其复杂度为O(N^2)。这大约是进行了5*10^11(5000亿)次的基本计算操作。

现在,新的一栏已经到来--我们又做了5000亿次的计算。

我们决定在历史上运行它,从20万个最后元素开始。粗略地说,每个人需要200,000次5000亿次的计算才能完成一次运行。这总共是10^17次的计算。

即使有一个棘手的优化,也不会产生超过两个数量级的收益。也就是说,你最多要进行10^15次计算。


在你说这些废话之前,先了解一下算法的原理。该算法的复杂度为O(n*m),其中n和m是两个输入向量的长度。

p.s. 不应该做 "在50条,在55条",因为三个可能的扭曲之一是缺少一个观察。

p.p.s. 有路径形状限制的DTW也存在,你的 "我们可以停在那里 "也是完全不必要的。

p.p.p.s.你的 "之字形+相关计算 "的方法将显示出废话,因为之字形将基于一个嘈杂的随机变量的最大值,这告诉你什么。

p.p.p.s. 对于在大的音频流中的搜索,使用完全不同的方法。

 
IgorM:
Habrahabr http://habrahabr.ru/blogs/algorithm/135087/ 上关于DTW的文章似乎写得很好,但我搞不清楚如何将DTW用于OHLC,谁能给我解释一下?


对于OHLC,你需要考虑一个条形间隔的函数。比如说。

1.给出了两条杠

2.用三度的多项式对每个条形进行近似(对于条形C>O的点。{(t[0];开盘), (t[1];低点), (t[2];高点), (t[3];收盘)}, 对于酒吧O>C的点{(t[0];开盘), (t[1];高点), (t[2];低点), (t[3];收盘) ,其中 t[i] =i/3)

3.认为距离是区间0.1上两个多项式之差的平方根的积分。

(不是我发明的,这个方法似乎是众所周知的,所有感兴趣的人都能得到)。

 
Integer:

你应该首先阅读该主题作者的任务和他的答案。

我同意,制定这个任务是为了找到一个相似性标准。我做了一个进一步的逻辑步骤,作者将根据他早期通过Spearman's QC的相似性标准的工作来应用。也许是错误的,作者在考虑将一个对他来说新的相似性标准应用于另一个。
 
hrenfx:

决定在历史上运行,从最外层的20万个元素开始。粗略地说,每一次运行需要20万次5000亿次的计算。这总共是10^17次的计算。

即使有一个棘手的优化,也不会产生超过两个数量级的收益。也就是说,它最多要进行10^15次计算。

任务要温和得多--将今天已经发生的事情与前一天的开始进行比较(模式大小不同!),并评估其相似性。如果有的话--为今天剩下的时间画出一个大致的航迹轨迹。如果我们以H1为例,它是24个小节。在任何情况下,都不能超过24个比较。在M15上,最大是96个比较。根据我的观察,这种相似性最多两天之内,然后市场就 "忘记 "了一切。长达数月和数年的优化是自取灭亡。
 
anonymous:


在你编造这种无稽之谈之前,先感受一下算法的原理吧。该算法的复杂度为O(n*m),其中n和m是两个输入向量的长度。

为什么有这么多的敌意和攻击性?阅读对算法复杂性的估计。O(N^2)与你所写的并不矛盾。具有这种复杂性的算法适用于数据量小的任务。

p.s. 不需要做 "在50条,在55条",因为三个可能的扭曲之一是缺少一个观察。

p.p.s. 有路径形状限制的DTW也存在,你的 "你可以停在那里 "也是完全不必要的。

注意上面的例子中多次提到的 "粗糙 "一词。如果考虑到所有的细微差别,这个职位将增长到一个巨大的不引人注目的规模。你可以提到FastDTW-算法和其他额外的算法优化。最好是在实践中闪亮你的大脑和知识。

p.p.p.s.你的 "之字形+相关计算 "的方法将显示出废话,因为之字形将基于一个嘈杂的随机变量的最大值,这告诉你什么。

用你的语言来说--"胡说八道"。你能用一个例子来建设性地说明这一点吗?

p.p.p.s. 对于在大的音频流中的搜索,使用完全不同的方法。

这很有意思。
 
wmlab:
这个任务要温和得多。

那我就做过头了。对于这样一个简单的任务,可能没有比DTW更简单的了。但比较这样小的数据序列是值得怀疑的。

你能举出一个生活中的例子,你的假设似乎是有效的吗?

 
hrenfx:

那我就做过头了。对于这样一个简单的任务,可能没有比DTW更简单的了。但比较这样小的数据序列是值得怀疑的。

你能举一个生活中的例子吗,你的假设似乎已经成功了?


这有点来自于现实生活--我注意到,在欧元兑美元上,我在心理上将今天已经获得的图表转移到昨天的图表上。如果至少前半部分在视觉上重合,我们就可以做出预测(如果不是周五,而且没有新闻的话)。"视觉上 "是起伏的交替,水平不匹配。好吧,这就像看进化论的插图一样--相邻的图片是相似的,远处的图片则不是。那么,如果今天和昨天的照片不一致,那么这个方法就不起作用。
 
是否可以引用视觉上匹配的网站的图表?
 
wmlab:
任务要温和得多--将今天已经发生的事情与前一天的开始进行比较(模式大小不同!),并评估其相似性。如果是这样,要为今天剩下的时间画出一个大致的航迹轨迹。如果我们以H1为例,它是24个小节。在任何情况下,都不能超过24个比较。在M15上,最大是96个比较。根据我的观察,这种相似性最多两天之内,然后市场就 "忘记 "了一切。在月和年的间隔上进行优化是一种自欺欺人。

然而,我的指标和专家顾问在H4上的操作,例如,后知后觉的900-1000条,并清楚地捕捉到最后一个酒吧的事件https://forum.mql4.com/ru/46596/page124,这意味着市场记忆 不是那么短暂的事情?
 

有东西...只是没有意识到这一点。体验到一种神秘的狂喜感:)

附加的文件:
idtw2.mq4  8 kb