王穎穎,晁緒耀
(1.鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院,河南 新鄭 450001;2.鄭州職業(yè)技術(shù)學(xué)院,河南 鄭州 450007)
作為一門新興的數(shù)據(jù)分析技術(shù),數(shù)據(jù)挖掘適用于擁有海量相關(guān)數(shù)據(jù)的領(lǐng)域,以及基于某一知識(shí)決策的領(lǐng)域。股票市場每天都會(huì)產(chǎn)生大量實(shí)時(shí)數(shù)據(jù),這些數(shù)據(jù)看似沒有關(guān)聯(lián),但是數(shù)據(jù)背后隱藏著很多有價(jià)值的信息及數(shù)據(jù)規(guī)律,因此從這個(gè)意義上講非常適合采用數(shù)據(jù)挖掘技術(shù)進(jìn)行股票數(shù)據(jù)分析。此外,股票分析預(yù)測過程本身就是基于一定知識(shí)的決策過程[1],所以從這個(gè)層面上講,其又與數(shù)據(jù)挖掘的適用領(lǐng)域相符,因此在股票數(shù)據(jù)分析過程中應(yīng)用數(shù)據(jù)挖掘技術(shù)是可行的、必要的。
相比數(shù)據(jù)挖掘技術(shù)應(yīng)用的其他領(lǐng)域,股票數(shù)據(jù)分析體現(xiàn)出一定的特殊性。首先,單一性。股票數(shù)據(jù)的類型是單一的,即都是實(shí)數(shù)型,這無形中降低了數(shù)據(jù)處理難度,且股票數(shù)據(jù)分析的對(duì)象具有單一性,雖然個(gè)股數(shù)據(jù)存在較大差異,但是股票的屬性信息是相同的[2]。其次,多樣性。每個(gè)專家對(duì)股票數(shù)據(jù)的分析有著不同的目的,自然會(huì)使用不同的分析方法,有著不同的側(cè)重點(diǎn)、分析角度及提取數(shù)據(jù)的時(shí)間,且每種方法都有對(duì)應(yīng)的理論支持,因此基于某種目的而言,無法評(píng)判每種分析方法的好壞。最后,隱蔽性。由于多種因素都會(huì)對(duì)股票數(shù)據(jù)變化產(chǎn)生影響,不同指標(biāo)受不同影響因子的作用,因此各個(gè)指標(biāo)之間會(huì)表現(xiàn)出特定的發(fā)展規(guī)律及特征,但是這些規(guī)律及特征并不能立即作為決策的依據(jù),因此要應(yīng)用數(shù)據(jù)挖掘技術(shù)對(duì)股票數(shù)據(jù)信息的變化進(jìn)行集成分析,挖掘出數(shù)據(jù)背后隱含的信息及知識(shí)[3]。
數(shù)據(jù)挖掘使用機(jī)器學(xué)習(xí)技術(shù)分析數(shù)據(jù),挖掘過程需要根據(jù)規(guī)范程序一步步完成,因此一個(gè)完整的數(shù)據(jù)挖掘過程包括以下環(huán)節(jié)。
1)確定挖掘?qū)ο?。雖然數(shù)據(jù)挖掘結(jié)果具有不可預(yù)測性,但是在開始挖掘時(shí)選擇一個(gè)明確的目標(biāo)非常重要,因此挖掘目標(biāo)的選擇對(duì)于挖掘結(jié)果具有指向性。數(shù)據(jù)挖掘是一個(gè)涉及面非常廣的過程,有時(shí)候需要技術(shù)人員提供經(jīng)驗(yàn)知識(shí),這種經(jīng)驗(yàn)知識(shí)可能來自于用戶的業(yè)務(wù)領(lǐng)域,也可能來自于之前數(shù)據(jù)挖掘的成果。無論基于哪種經(jīng)驗(yàn)知識(shí),數(shù)據(jù)挖掘過程中隨時(shí)都有可能出現(xiàn)新問題[4]。
2)收集數(shù)據(jù)。收集數(shù)據(jù)時(shí)要對(duì)無效數(shù)據(jù)進(jìn)行篩選,以保證數(shù)據(jù)挖掘結(jié)果的有效性,提高數(shù)據(jù)信息的價(jià)值。通常收集相關(guān)數(shù)據(jù)后需要確定與目標(biāo)信息相關(guān)的屬性。
3)數(shù)據(jù)預(yù)處理。完成數(shù)據(jù)采集后需要對(duì)數(shù)據(jù)信息進(jìn)行預(yù)處理,即將數(shù)據(jù)由高維空間轉(zhuǎn)換到低維空間。預(yù)處理主要是剔除錯(cuò)誤數(shù)據(jù)并轉(zhuǎn)換數(shù)據(jù),所謂錯(cuò)誤數(shù)據(jù)就是異常值,剔除異常值可以減少數(shù)據(jù)挖掘過程中的負(fù)擔(dān),找到更多數(shù)據(jù)特征。
4)數(shù)據(jù)挖掘。挖掘過程中應(yīng)用各種數(shù)據(jù)挖掘算法及技術(shù)并根據(jù)數(shù)據(jù)建模,在特定的時(shí)候選擇特定的算法解決特定的問題。
5)信息解釋。數(shù)據(jù)挖掘完成后會(huì)呈現(xiàn)出一堆毫無意義的數(shù)字,只有對(duì)直接挖掘出的結(jié)果進(jìn)行解釋,才能將挖掘結(jié)果真正應(yīng)用于實(shí)踐中。不過在結(jié)果呈現(xiàn)過程中,用戶往往很難看懂一些繁瑣的指標(biāo),因此需要通過簡單、明了的圖表將挖掘結(jié)果直觀地展示出來??梢暬故緮?shù)據(jù)及信息可以大大提高結(jié)果的可讀性。
股票趨勢(shì)分析涉及非常多的指標(biāo),多數(shù)指標(biāo)是企業(yè)的財(cái)務(wù)指標(biāo),包括成長能力、經(jīng)營能力、償還能力、營運(yùn)能力、盈利能力、現(xiàn)金流等,在數(shù)據(jù)挖掘之前要選擇股票指標(biāo)[5]。
上市公司的數(shù)據(jù)都是連續(xù)性的變量,無法直接挖掘關(guān)聯(lián)規(guī)則,因此需要對(duì)收集的數(shù)據(jù)進(jìn)行離散化處理,最終挖掘出財(cái)務(wù)指標(biāo)的頻繁項(xiàng)集及規(guī)則數(shù)目。本研究利用東方財(cái)富Choice資訊獲取股票數(shù)據(jù),利用軟件收集到的數(shù)據(jù)都是無法直接分析的原始數(shù)據(jù),包含了很多噪聲數(shù)據(jù)、重復(fù)數(shù)據(jù)以及不完整數(shù)據(jù)。因此,要對(duì)原始數(shù)據(jù)進(jìn)行基本預(yù)處理,包括將缺失股票數(shù)據(jù)的股票去除,如股票名稱前帶有ST、*ST的經(jīng)過處理的股票以及股票名稱中帶有S的未改股股票等均要去除,新加入的股票由于數(shù)據(jù)較少不具有分析價(jià)值,因此也要去除[6]。股票數(shù)據(jù)經(jīng)過預(yù)處理后再進(jìn)行深層處理,先計(jì)算出各個(gè)指標(biāo)的平均值,再用指標(biāo)均值對(duì)比每個(gè)股票的數(shù)據(jù),大于均值的股票為A,小于等于均值的股票為B,實(shí)現(xiàn)股票數(shù)據(jù)由數(shù)值型向字母型轉(zhuǎn)化,避免因股票數(shù)據(jù)數(shù)量級(jí)不同而影響分析結(jié)果的準(zhǔn)確性。
根據(jù)篩選結(jié)果可知,與股票上漲概率成正比的相關(guān)指標(biāo)包括股票上市公司營業(yè)總收入同比增長率、股票上市公司總資產(chǎn)凈利率、股票上市公司歸屬母公司股東的權(quán)益/負(fù)債合計(jì)、股票上市公司銷售期間費(fèi)用率、股票經(jīng)營活動(dòng)凈收益/利潤總額、凈資產(chǎn)收益率同比增長率、總資產(chǎn)周轉(zhuǎn)率以及經(jīng)營活動(dòng)產(chǎn)生的現(xiàn)金流量凈額/營業(yè)收入等。
利用關(guān)聯(lián)分析算法可以確定與股票上漲關(guān)聯(lián)度較高的指標(biāo),接下來應(yīng)用決策樹中ID3算法對(duì)股票進(jìn)行分類,確定漲跌值高于平均值的股票,即優(yōu)質(zhì)股票池。利用決策樹進(jìn)行分析時(shí)要先刪除與股票漲跌值無關(guān)或者相關(guān)程度較小的指標(biāo),以此來提高股票分類效果。應(yīng)用決策樹ID3算法對(duì)所研究的股票進(jìn)行分類,從股票數(shù)據(jù)集中找出每個(gè)指標(biāo)對(duì)應(yīng)的股票數(shù)目,進(jìn)而計(jì)算信息增益。ID3算法的具體分類過程如下。
先計(jì)算股票數(shù)據(jù)集合信息熵,計(jì)算公式為
計(jì)算出每個(gè)指標(biāo)的信息熵后再計(jì)算每個(gè)指標(biāo)的信息增益值,然后進(jìn)行對(duì)比,信息增益值最大的指標(biāo)為決策樹根節(jié)點(diǎn)。
接下來對(duì)決策樹上每個(gè)葉子節(jié)點(diǎn)重復(fù)上述過程,直到產(chǎn)生一個(gè)完整的決策樹。由計(jì)算結(jié)果可知,在所有股票屬性指標(biāo)中,信息增益值最大的為總資產(chǎn)凈利率,其包含最多信息量,因此決策樹根節(jié)點(diǎn)就選擇“總資產(chǎn)凈利率”。在股票數(shù)據(jù)集合中“總資產(chǎn)凈利率”取值有兩種,可以將其分為兩個(gè)子集,對(duì)應(yīng)決策樹兩個(gè)葉子節(jié)點(diǎn),其余股票指標(biāo)為樹的分枝。
利用神經(jīng)網(wǎng)絡(luò)技術(shù)分析和預(yù)測股票數(shù)據(jù)主要是學(xué)習(xí)股票的歷史價(jià)格,存儲(chǔ)其非線性變化趨勢(shì),再根據(jù)這個(gè)趨勢(shì)對(duì)未來股票的變化趨勢(shì)進(jìn)行預(yù)測,幫助投資者了解股票價(jià)格變化趨勢(shì),為其投資決策提供依據(jù)[7]。本研究選擇的神經(jīng)網(wǎng)絡(luò)輸入元包括開盤價(jià)、最高價(jià)、最低價(jià)、收盤價(jià)、成交量、成交額、5日移動(dòng)平均線、10日移動(dòng)平均線、20日移動(dòng)平均線等,神經(jīng)網(wǎng)絡(luò)輸出元為股票收盤價(jià)。由于分析過程中股票指標(biāo)很多,每個(gè)指標(biāo)數(shù)據(jù)的數(shù)量級(jí)存在較大差異,神經(jīng)網(wǎng)絡(luò)無法利用原始數(shù)據(jù)進(jìn)行分析,因此需要對(duì)數(shù)據(jù)進(jìn)行歸一化處理。股票分析預(yù)測中BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用如下。
首先設(shè)計(jì)BP神經(jīng)網(wǎng)絡(luò),其包括隱含層數(shù)、隱含層單元數(shù)及其他參數(shù)的設(shè)定等幾個(gè)環(huán)節(jié)。包含1個(gè)隱含層的BP神經(jīng)網(wǎng)絡(luò)可以將所有非線性函數(shù)映射出來,因此本研究中隱含層數(shù)目設(shè)為1。采用試湊法同時(shí)結(jié)合經(jīng)驗(yàn)公式確定隱含層單元數(shù),經(jīng)驗(yàn)公式為
式中:M為隱含層單元數(shù);N為輸入層單元數(shù);L為輸出層單元數(shù);ɑ的取值為1~10。
采用式(4)計(jì)算隱含層單元數(shù)。為提高神經(jīng)網(wǎng)絡(luò)訓(xùn)練速度,降低誤差,最終確定隱含層節(jié)點(diǎn)數(shù)為3~15。變動(dòng)隱含層節(jié)點(diǎn)數(shù),測試每個(gè)股票樣本,根據(jù)預(yù)測誤差最小、預(yù)測效果最好的訓(xùn)練目標(biāo)確定最佳隱含層節(jié)點(diǎn)數(shù),本研究中隱含層單元數(shù)為9。
其次設(shè)定學(xué)習(xí)率、目標(biāo)誤差及訓(xùn)練次數(shù)等其他重要目標(biāo),此處著重強(qiáng)調(diào)學(xué)習(xí)率的設(shè)定。學(xué)習(xí)率表示權(quán)重變化量,學(xué)習(xí)率過高會(huì)導(dǎo)致網(wǎng)絡(luò)振蕩,降低計(jì)算效率,因此設(shè)定范圍為0.01~0.8,本研究中的學(xué)習(xí)率為0.1。
最后對(duì)BP神經(jīng)網(wǎng)絡(luò)結(jié)果進(jìn)行分析。將股票數(shù)據(jù)帶入MATLAB系統(tǒng),通過系統(tǒng)計(jì)算可得出股票價(jià)格的預(yù)測結(jié)果,再對(duì)比其實(shí)際股票價(jià)格。需要注意一點(diǎn),神經(jīng)網(wǎng)絡(luò)初始值帶有顯著的隨機(jī)性特點(diǎn),因此預(yù)測結(jié)果也是隨機(jī)的,需要通過多次試驗(yàn)將隨機(jī)性的影響降至最低[8]。本研究進(jìn)行10次重復(fù)試驗(yàn),平均10次預(yù)測結(jié)果得出的數(shù)值即為最終結(jié)果。對(duì)比股票的實(shí)際價(jià)格可知,系統(tǒng)預(yù)測曲線與實(shí)際股票價(jià)格曲線基本重合,因此利用BP神經(jīng)網(wǎng)絡(luò)預(yù)測股票價(jià)格走勢(shì)可以獲得較為理想的預(yù)測效果,可以作為股票投資決策時(shí)的重要依據(jù)。然而,個(gè)別預(yù)測值還存在較大誤差,因此后續(xù)需要進(jìn)一步改進(jìn),以提高預(yù)測精度。
利用數(shù)據(jù)挖掘技術(shù)可以從大量股票數(shù)據(jù)中挖掘出隱含的信息價(jià)值,投資者參考這些有價(jià)值的信息可以提高投資決策的科學(xué)性與準(zhǔn)確性。在股票數(shù)據(jù)信息分析過程中,投資者可以先利用關(guān)聯(lián)規(guī)則算法挖掘出影響股票漲跌值的指標(biāo),再利用決策樹算法找出最具有投資價(jià)值的股票池,最后應(yīng)用神經(jīng)網(wǎng)絡(luò)算法預(yù)測股票價(jià)格的變化。當(dāng)然,股票市場是一個(gè)影響因素眾多、環(huán)境復(fù)雜的非線性系統(tǒng),國家政策、經(jīng)濟(jì)環(huán)境、投資心理等均會(huì)對(duì)其發(fā)展產(chǎn)生影響。因此,在未考慮這些因素的基礎(chǔ)上進(jìn)行預(yù)測可能會(huì)導(dǎo)致一定的預(yù)測誤差,并且神經(jīng)網(wǎng)絡(luò)預(yù)測初始值是隨機(jī)選擇的,反復(fù)試驗(yàn)后才確定神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)目,這些均會(huì)影響到預(yù)測結(jié)果的準(zhǔn)確性,后續(xù)需要加強(qiáng)研究,進(jìn)一步優(yōu)化。