2008-12-18 45 views
3

我想要做的是采取一定的股票模式(定义为一系列的x和y坐标),并将其与历史股票价格进行比较。如果我发现历史价格与我定义的模式类似,我想将它作为匹配返回。以编程方式比较两条线(股票模式匹配)

我不知道如何确定如何相似的两条曲线。我做了一些研究,可以找到两条直线的相似性(带有线性回归),但我还没有找到比较两条曲线的好方法。

我现在最好的方法是从我正在查看的历史数据范围中获取几个高点和低点,找到线条的斜率,并将这些线条与我试图匹配的模式的斜率进行比较看看他们是否大致相同。

有什么更好的点子?我很乐意听到他们!

编辑:感谢您的输入!我之前考虑过最小二乘法,但我不确定该去哪里。在我收到输入信息后,我想先计算每行的最小平方,以便平滑数据,然后按照詹姆斯的建议缩放和延伸模式,让我找到我想要的。

我打算使用这种识别股票一定的技术标志,以确定买入和卖出信号。目前已有网站在某种程度上做到这一点(such as stockfetcher),但我当然想亲自尝试一下,看看我能否做得更好。

回答

0

其中的一个问题是,曲线利用非线性函数拟合并不总是要为这取决于他们是多么复杂一些你的模式工作。您可以使用二次或三次或其他一些多项式的顺序来获得更准确的结果,但它不适用于所有情况,特别是随着时间的推移数据发生任何急剧变化。

老实说,我认为一个合理和相对简单的解决方案是'缩放'和'拉伸'你的模式,以便它发生在与历史数据相同的范围内。您可以对x轴使用插值,对y轴使用乘法加偏移。之后,只需查看每个点平均差异的均值,如果低于阈值,则可以认为它是匹配的。它需要一些调整才能达到可预测的结果,但我认为这是一个很好的方法,应该允许您定义任何类型的模式,而不依赖回归产生一个很好拟合的曲线。本质上它只是一个统计应用。您也可以查看标准偏差或差异,以获得更全面的方法。

0

一个想到的可能是拍摄移动的不同时间段的平均数(每日数周,数月,数年;每周几个月,几年,等),并将它们与现在移动平均。

个人均线也会给你一个更简单的比较。如果在平均值连续项在某些标准化的形式(从0..1说拆股来等),你可以比较向量连续元素彼此在一定范围内epsilon,并获得一个匹配的潜力。

只是一个想法。

Mathworld(http://mathworld.wolfram.com/)也应该有曲线比较有些服食。

0

或者看看衍生物?

股票价格在理论上的运动通常被建模为具有漂移因子的布朗运动。 (我知道很少,但看看here

如果你不介意我问,到底是什么?

+0

当然有利!过去的行为表明未来的行为! :P – Jimmy 2008-12-18 00:40:09

1

数学是不是我的强项,但您可能能够使用Correlation

计算两个数据集之间的相关值,并且如果相关性大于某个值(.8?),则考虑类似的集合足够

0

最小方格不会是你能做的最好的方法。使用RANSAC算法。它将处理这种数据,因为这种数据是非常不可预测的,并且往往是嘈杂的。