R語言k-Shape時間序列聚類方法對股票價格時間序列聚類|附代碼數據

2023-02-08     tecdat拓端

原標題:R語言k-Shape時間序列聚類方法對股票價格時間序列聚類|附代碼數據

原文連結 :http://tecdat.cn/?p=3726

最近我們被客戶要求撰寫關於時間序列聚類的研究報告,包括一些圖形和統計輸出。

本文我們將使用k-Shape時間序列聚類方法檢查與我們有業務關係的公司的股票收益率的時間序列

企業對企業交易和股票價格

在本研究中,我們將研究具有交易關係的公司的價格變化率的時間序列的相似性。

由於特定客戶的銷售額與供應商公司的銷售額之比較大,當客戶公司的股票價格發生變化時,對供應商公司股票價格的反應被認為更大。

k-Shape

k-Shape [Paparrizos和Gravano,2015]是一種關注時間序列形狀的時間序列聚類方法。在我們進入k-Shape之前,讓我們談談時間序列的不變性和常用時間序列之間的距離測度。

時間序列距離測度

歐幾里德距離(ED)和_動態時間_規整(DTW)通常用作距離測量值,用於時間序列之間的比較。

兩個時間序列x =(x1,...,xm)和y =(y1,...,ym)的ED如下。

DTW是ED的擴展,允許局部和非線性對齊。

k-Shape提出稱為基於形狀的距離(SBD)的距離。

相關視頻

拓端

,贊14

k-Shape算法

k-Shape聚類側重於歸一化和移位的不變性。k-Shape有兩個主要特徵:基於形狀的距離(SBD)和時間序列形狀提取。

SBD

互相關是在信號處理領域中經常使用的度量。使用FFT(+α)代替DFT來提高計算效率。

歸一化互相關(係數歸一化)NCCc是互相關係列除以單個系列自相關的幾何平均值。檢測NCCc最大的位置ω。

SBD取0到2之間的值,兩個時間序列越接近0就越相似。

形狀提取

通過SBD找到時間序列聚類的質心向量 。

k-Shape的整個算法如下。

k-Shape通過像k-means這樣的疊代過程為每個時間序列分配聚類簇。

重複上述步驟1和2,直到集群成員中沒有發生更改或疊代次數達到最大值。

R 語言k-Shape

> start <- "2014-01-01"

> df_7974 %>%

+ filter(date > as.Date(start))

# A tibble: 1,222 x 10

date open high low close volume close_adj change rate_of_change code

1 2014-01-06 14000 14330 13920 14320 1013000 14320 310 0.0221 7974

2 2014-01-07 14200 14380 14060 14310 887900 14310 -10 -0.000698 7974

3 2014-01-08 14380 16050 14380 15850 3030500 15850 1540 0.108 7974

4 2014-01-09 15520 15530 15140 15420 1817400 15420 -430 -0.0271 7974

5 2014-01-10 15310 16150 15230 16080 2124100 16080 660 0.0428 7974

6 2014-01-14 15410 15755 15370 15500 1462200 15500 -580 -0.0361 7974

7 2014-01-15 15750 15880 15265 15360 1186800 15360 -140 -0.00903 7974

8 2014-01-16 15165 15410 14940 15060 1606600 15060 -300 -0.0195 7974

9 2014-01-17 15100 15270 14575 14645 1612600 14645 -415 -0.0276 7974

10 2014-01-20 11945 13800 11935 13745 10731500 13745 -9

缺失度量用前一個工作日的值補充。(K-Shape允許一些偏差,但以防萬一)

每種股票的股票價格和股票價格變化率。

點擊標題查閱往期內容

對用電負荷時間序列數據進行K-medoids聚類建模和GAM回歸

左右滑動查看更多

01

02

03

04

將zscore作為「preproc」,「sbd」作為距離,以及centroid =「shape」,k-Shape聚類結果如下。

> df_res %>%

+ arrange(cluster)

cluster centroid_dist code name

1 1 0.1897561 1928 積水ハウス

2 1 0.2196533 6479 ミネベアミツミ

3 1 0.1481051 8411 みずほ

4 2 0.3468301 6658 シライ電子工業

5 2 0.2158674 6804 ホシデン

6 2 0.2372485 7974 任天堂

Nintendo,Hosiden和Siray Electronics Industries被分配到同一個集群。Hosiden在2016年對任天堂的銷售比例為50.5%,這表明公司之間的業務關係也會影響股價的變動。

另一方面,MinebeaMitsumi成為另一個集群,但是在2017年Mitsumi與2017年的Minebea合併, 沒有應對2016年7月Pokemon Go發布時股價飆升的影響 。

如果您有任何疑問,請在下面發表評論。

本文摘選 R語言k-Shape時間序列聚類方法對股票價格時間序列聚類 ,點擊「閱讀原文」獲取全文完整資料。

點擊標題查閱往期內容

K-means和層次聚類分析癌細胞系微陣列數據和樹狀圖可視化比較

KMEANS均值聚類和層次聚類:亞洲國家地區生活幸福質量異同可視化分析和選擇最佳聚類數

PYTHON實現譜聚類算法和改變聚類簇數結果可視化比較

有限混合模型聚類FMM、廣義線性回歸模型GLM混合應用分析威士忌市場和研究專利申請數據

R語言多維數據層次聚類散點圖矩陣、配對圖、平行坐標圖、樹狀圖可視化城市宏觀經濟指標數據

r語言有限正態混合模型EM算法的分層聚類、分類和密度估計及可視化

Python Monte Carlo K-Means聚類實戰研究

R語言k-Shape時間序列聚類方法對股票價格時間序列聚類

R語言對用電負荷時間序列數據進行K-medoids聚類建模和GAM回歸

R語言譜聚類、K-MEANS聚類分析非線性環狀數據比較

R語言實現k-means聚類優化的分層抽樣(Stratified Sampling)分析各市鎮的人口

R語言聚類有效性:確定最優聚類數分析IRIS鳶尾花數據和可視化Python、R對小說進行文本挖掘和層次聚類可視化分析案例

R語言k-means聚類、層次聚類、主成分(PCA)降維及可視化分析鳶尾花iris數據集

R語言有限混合模型(FMM,finite mixture model)EM算法聚類分析間歇泉噴發時間

R語言用溫度對城市層次聚類、kmean聚類、主成分分析和Voronoi圖可視化

R語言k-Shape時間序列聚類方法對股票價格時間序列聚類

R語言中的SOM(自組織映射神經網絡)對NBA球員聚類分析

R語言複雜網絡分析:聚類(社區檢測)和可視化

R語言中的劃分聚類模型

基於模型的聚類和R語言中的高斯混合模型

r語言聚類分析:k-means和層次聚類

SAS用K-Means 聚類最優k值的選取和分析

用R語言進行網站評論文本挖掘聚類

基於LDA主題模型聚類的商品評論文本挖掘

R語言鳶尾花iris數據集的層次聚類分析

R語言對用電負荷時間序列數據進行K-medoids聚類建模和GAM回歸

R語言聚類算法的應用實例

文章來源: https://twgreatdaily.com/zh-tw/4a80964c311113d0cf34a4964abed876.html