[摘 要]利用股票的大量歷史數據發現規律從而預測股票走勢,成為熱門的研究課題。為了能更好地觀察國內申萬行業指數間的聯動性與輪動性,同時針對股票的滯后性效應問題,有學者提出了一種基于時間序列的關聯規則挖掘算法。文章通過關聯規則及其算法,挖掘出我國2010年3月到2022年6月申萬行業指數交易數據間的關聯現象,從而獲得有意義的關聯規則,為后期制定投資策略打下基礎。
[關鍵詞]關聯規則;挖掘算法;申萬指數
doi:10.3969/j.issn.1673 - 0194.2023.04.051
[中圖分類號]F832 [文獻標識碼]A [文章編號]1673-0194(2023)04-0159-03
0" " "前 言
數據挖掘在數據科學研究領域成果豐碩且在不斷發展,關聯規則挖掘是其中一種常用來研究項目與項目集之間關系的方式[1]。關聯性分析原理是利用機器學習算法來分析數據,在1994年阿格拉沃爾(Agrawal)等就提出了經典的關聯規則算法,但其算法存在通過多次掃描數據庫會多次產生大量頻繁候選項集等缺點[2]。拉赫曼(Rahman)等對其進行改進并提出了一種從不確定數據庫中挖掘具有權重約束的序列的新算法[3]。林甲祥等提出了參數自適應的關聯規則挖掘算法,降低算法對先驗知識的依賴性[4]。王常武等提出了一種改進的時間序列關聯規則算法,將頻繁項集應用于基于時間約束的關聯規則挖掘[5]。
這里利用關聯規則挖掘算法,探究34只申銀萬國行業指數2010年3月到2022年6月的聯動與輪動規律,并提出一種基于時間序列的關聯規則挖掘算法。該算法可以有效過濾無效數據,提升算法運行效率,改善股票間聯動或輪動效應的滯后性問題。
1" " "研究背景及目的
1.1" "案例背景
行業之間存在相互關聯,如農林業與家具建材行業、石油與化工行業等,它們之間要么存在著上下游關系,要么相互關聯及影響。受國家的產業政策變化、經濟大環境的影響,在股票上漲、下跌和調整的過程中,不同行業板塊之間會出現同漲同跌、同升同落等現象,這就是常見的行業聯動現象。而行業輪動現象則是指一個或多個行業的漲跌會影響某個行業未來的上漲或下跌的這類現象,行業聯動是行業輪動的基礎。分析行業之間的聯動與輪動現象,找出其規律,對投資者等均具有積極的指導意義。下面基于申銀萬國行業指數交易數據,從日行業的聯動現象與輪動現象入手,提取有價值的行業輪動關聯規則,并在此基礎上設計其量化投資策略。
1.2" "案例目標及實現思路
在日常處理股票交易的問題時,每天會有大量數據匯入數據庫,由于上市公司之間存在合作、競爭等,有一些股票的價格在一段時間內會出現相似或相反的趨勢。本文主要通過挖掘申銀萬國行業交易指數2020年3月到2022年6月的部分股票數據,分析其聯動與輪動現象,獲得有意義的行業關聯規則,進一步分析上市公司的各種政策和方案,在此基礎上設計量化投資策略,從而作出正確的投資決策。行業聯動是行業輪動的分析基礎,因此本文僅對日行業聯動與行業輪動進行分析[6]。
1.3" "數據獲取
以申銀萬國行業指數日行情數據為基礎,分析行業的聯動現象與輪動現象。申銀萬國指數行業包括農林牧漁、采掘、化工等34個行業。數據區間取2010年1月4日至2017年3月7日,共1 741個交易日,其中不足1 741個交易日的行業指數被剔除,最終得到28個行業指數。所有分析數據均來源于國泰安CSMAR數據庫,具體數據表包括交易日歷數據表、指數基本信息表、指數交易數據表。
2" " "關聯規則算法原理
2.1" "Apriori算法概述
Apriori是一種常用的數據關聯規則挖掘方法,它可以用來找出數據集中頻繁出現的數據集合。找出這樣的一些頻繁集合有利于決策,如找出超市購物車數據的頻繁項集,可以更好地設計貨架的擺放。注意它是一種逐層迭代的方法,先找出頻繁1項集L1,再利用L1找出頻繁2項集,以此類推……
關聯規則:關聯規則是形如X→Y的蘊涵表達式,其中X和Y是不相交的項集,即X∩Y=?。關聯規則的強度可以用它的支持度和置信度來度量。
最小支持度:最小支持度是人為規定既定的閾值,它表示的是項集在統計意義上的最低或者說是最小重要性[7]。
最小置信度:最小置信度也是人為規定的閾值,它表示的是關聯規則的最低可靠性。只有支持度與置信度同時達到了最小時,這時的關聯規則才會被稱為強關聯規則。
頻繁項集:滿足最小支持度的所有項集,被稱為頻繁項集。
2.2" "關聯規則定律
直接暴力搜索關聯規則不可行,因此需要利用支持度對數據集進行剪枝,所以需要知道一些定律,從而進行剪枝(關聯定律1:如果一個集合是頻繁項集,則它的所有子集都是頻繁項集。關聯定律2:如果一個集合不是頻繁項集,則它的所有超集也一定都不是頻繁項集。定理2是上一條定理的逆反定理)。根據定理2,可以對項集樹進行剪枝[8]。
3" " "案例分析
本節挖掘以日為頻率周期的行業聯動與輪動關聯規則。由于選擇的行業指數交易數據為日度數據,故直接利用交易數據進行計算即可。下面分別從指標計算、日行業聯動關聯規則挖掘和日行業輪動關聯規則挖掘三方面給出詳細的計算流程及代碼實現[9]。
3.1" "指標計算
投資者通常只關心上漲的情況,不考慮下跌的情況。因此,計算每個行業從2010年1月5日至2022年6月8日的指數行情上漲情況。所謂上漲,是指當前交易日行情數據減去上一個交易日行情數據大于0,其指標名稱記為:行業名稱_up,如果上漲記為1,否則記為0。
計算思路及算法如下:
(1)預定義空的字典D。
(2)對每一個指數代碼,提取其交易收盤價數據,并按日期進行排序。
(3)預定義一個與其長度相等的全0數組z21_up,同時收盤價按交易日期錯位相減,如果大于0,表示上漲,z21_up對應的位置賦值為1。
(4)以行業名稱_up為鍵,z21_up為值,賦值給預定義的空字典D。
(5)將D轉化為數據框,其中index為對應的交易日期。
執行結果如圖1所示。
3.2" "行業聯動關聯規則挖掘
調用Apriori關聯規則挖掘算法可以挖掘多對一關聯規則,輸出結果如圖2所示。
進一步,可以通過關聯規則的定義來檢驗置信度和支持度的準確性[6]。置信度與支持度的計算公式如下:
支持度(A=gt;B)=A、B同時發生的事物個數/所有的事物=支持度(A∩B)/置信度(A=gt;)=P(A|B)=支持度(A∩B)/支持度(A)=支持度(A∩B)/支持度(A)
通過關聯規則置信度和支持度計算公式,計算兩個規則的置信度和支持度,驗證Apriori程序結果的正確性,從而更好地理解關聯規則的置信度和支持度,為進一步制訂投資方案提供參考價值。
3.3" "行業輪動關聯規則挖掘
本節利用關聯規則的支持度和置信度定義公式來挖掘單個行業之間的行業輪動規則(一對一關聯規則,即規則的前件和后件僅有一個項,這里指僅有一個行業)。為了方便后續周、月行業輪動關聯規則挖掘的使用,我們借鑒案例中一對一關聯規則挖掘程序案例,將挖掘行業輪動關聯規則的程序代碼定義為函數的形式,其函數名稱記為rule。
該函數輸入參數為布爾數據集Data、最小支持度s0和最小置信度c0,返回值為一對一行業輪動關聯規則。比如,本例設置行業關聯規則的最小支持度和最小置信度分別大于0.3和0.59,調用定義的rule函數進行行業輪動關聯規則挖掘。執行結果如圖3所示。
4" " "結論與展望
本文以申銀萬國行業指數日行情數據為基礎,分析行業的聯動現象與輪動現象。申銀萬國指數行業包括農林牧漁、采掘、化工、商業貿易、黑色金屬、有色金屬、紡織服裝、建筑建材、電子元器件、食品飲料、公用事業、信息服務、交運設備、綜合、醫藥生物、建筑材料、房地產、建筑裝飾、電氣設備、機械設備、國防軍工、金融服務、家用電器、計算機、傳媒、通信、信息設備、輕工制造、餐飲旅游、銀行、非銀金融、汽車、交通運輸、機械設備等34個行業。數據區間取2010年1月4日至2017年3月7日,共1 741個交易日,不足1 741個交易日的行業指數剔除,最終得到28個行業指數。以此來分析股票間的聯動效應的滯后性的問題,同時提出了一種基于時間序列的關聯規則挖掘算法,基于此,利用關聯規則挖掘算法來分析我國申銀萬國行業34只股票間的聯動與輪動效應,從而利用算法輸出的關聯規則來幫助投資者制定出有利于自身的較為理性的投資決策,從而達到獲利的目的。除此之外,股票市場中表現出來的聯動與輪動效應的強弱可以用于衡量風險傳遞的多少,為市場監管機制的制定提供些許借鑒。然而,股票的價格往往具有隨機性等特征。為了提高投資決策的有效性,今后的研究應該致力于將關聯規則挖掘出來的結果與傳統的技術分析以及基本面分析三者相結合,從而更好地預測股票未來的走勢,做出最恰當、最高效的投資策略。
主要參考文獻
[1]殷麗鳳,李夢琳.基于關聯規則挖掘算法的A股股票聯動性分析[J].云南民族大學學報:自然科學版,2022(4):486-492.
[2]AGRAWAL R.Fast algorithms for mining association rule in large databases[J].VIdb,1994(20):172.
[3]RAHMAN M M,AHMED C F,LEUNG C K,et al.Frequent sequence mining with weight constraints in uncertain databases[C]//Proceedings of the 12th international conference on ubiquitous information management and communication,2018:1-8.
[4]AGRAWAL R,IMIELINSKI T,SWAMI A. Mining association rules between sets of items in large databases[J]. Acm Siymod record,1993(22):207-216.
[5]林甲祥,巫建偉,陳崇成,等.支持度和置信度自適應的關聯規則挖掘[J].計算機工程與設計,2018(12):3746-3754.
[6]WANG Chunxia,ZHENG Xiaoyue.Application of improved time series Apriori algorithm by frequent itemsets in association rule data mining based on temporal constraint[J].Evolutionary Intelligence,2020(1):120.
[7]陳艷,褚光磊.關聯規則挖掘算法在股票預測中的應用研究:基于遺傳網絡規劃的方法[J].管理現代化,2014(3):13-15,39.
[8]鄭朝霞,劉廷建.關聯規則在股票分析中的應用[J].成都大學學報:自然科學版,2002(4):46-49.
[9]李宏,陳松喬,王建新.基于時序模式關聯的股票走勢分析研究[J].計算機工程與應用,2001(13):56-57,85.
[10]毛伊敏,鄧千虎,鄧小鴻,等.改進的并行關聯規則增量挖掘算法[J].計算機應用研究,2021(10):2974-2980.