2008-12-18 67 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算法。它將處理這種數據,因爲這種數據是非常不可預測的,並且往往是嘈雜的。