• 沒有找到結果。

研究架構

在文檔中 中 華 大 學 (頁 35-45)

第三章 研究方法與架構

第二節 研究架構

在本研究的架構是結合了基因演算法、支持向量機、灰色預測模型、累積三 點最小平方法預測模型以及 Black-Scholes 定價模型的整合式預測架構,其架構 如圖 6 所示。研究架構概分為下列三個階段:技術指標值階段、特徵轉換階段及 GA-SVM 階段。

一、技術指標值階段

技術指標階段須取得特徵截取前的所有技術指標,經由下列幾個步驟後,取 得完整的 14 個基本變數資料集:

1. 開發標的股資料截取程式:此階段開發認購權證對應的標的股股票交易 資料的截取程式,向台灣證券交易所抓取標的股的每日成交資料。

2.開發計算標的股技術指標值的程式:由台灣證券交易所取得的標的股每日 成交資料,來計算出五日及十日的 K 值、D 值、MA 值、RSI 值及威廉指 標值等。

3. 開發認購權證資料截取程式:此階段開發認購權證的交易資料截取程 式,向台灣證券交易所抓取認購權證的每日成交資料。

4. 開發計算認購權證相關變數值部份:透過抓取認購權證的每日成交價格 及數量,並由每檔認購權證公告的發行資訊,取得發行價格、無風險利率、

到期日、波動率等。依據這些條件,計算出預估的 Black-scholes 值。

圖 6 研究架構圖

二、特徵轉換階段

在特徵轉換模組中,將已取得的股市的技術指標值和認購權證的相關變數值 與 Black-Scholes 定價值等 14 的輸入變數,經由灰色預測模型與累積三點最小平 方預測模型的計算而產生另一組 GA- SVM 模組所需的另外 14 個輸入變數值。

(一) 灰色模型(Grey model)

此模型產生了 14 個灰色指標變數,以作為基因式支持向量機的一部份輸入 的參考數據。我們利用 GM(1,1)來計算 14 個灰色指標變數,灰色指標模型公式:

a n ax n b

x 1 0.5

) ) (

1 (

ˆ(0) (1) +

= −

+ (29)

由於透過灰色指標模型所採用的方法,會隨著日數的增加而增加誤差,所以 本研究採用了「滾動模型」來解決此問題(Kimoto, Asakawa, Yoda, and Takeoka, 1990),此方法是來自於時間軸移動視窗的概念,以前四日的數據在滾動模型中 建立完第 5 日的 GM(1,1)預測模型的灰色預測值後,將可以根據此模型求得明日 的預測值,然後再把此一預測值納入原始序列中,並且把序列中最舊的一個數值 移除,以保持原始序列中的建模數據不斷更新。

(二) 累積三點最小平方預測模型(Cumulate 3-point Least Square Prediction Model, C3LSP)

累積三點最小平方預測模型也同樣採取累加生成的方式,待生成新數列後,

再採取最小平方法計算最佳化的直線方程式的係數。再以所得的累加生成數列,

來預測下一個累加的預測值。

本研究假設斜率因子及偏移量如下,代入公式(21)

Qc3lsp1 = 1 : 斜率因子 Lc3lsp = 0.5 :偏移量

並由公式(25)推導出計算係數 c1c3lsp c0c3lsp如下

⎥⎥

⎢⎢

− +

+

= −

⎥⎦

⎢ ⎤

) 3 3 ( ) 2 2 3 ( ) 1 1 3 ( 4

) 3 2 ( ) 1 1 2 ( 1

) 2 ( )

2 ( )

2 (

) 2 ( )

2 (

3 0

3 1

s s

s

s s

c c

lsp c

lsp c

(30)

即可以每三個交易日就得到下一個預測值,詳細算法請參考附錄 A。

在建立第 k 日的 C3LSP 的預測模型後,即可根據此模型求得明日的預測值 (即第 k+1 日之預測值),承襲灰色滾動模型的作法,本研究把此一預測值納入本 研究的原始序列中,並且把序列中最舊的一個數值移除,以保持原始序列中的建 模數據不斷更新。接下來再以這三個建模數據來建立第 k+2 日的累積最小平方 預測預測模型,反覆進行上述的建模預測流程,直到所有實驗日期之數據皆預測 完畢。

三、 GA-SVM 模組階段

此階段本研究期望能找到最佳化後最具影響力的變數及 SVM 參數。步驟如 下:

步驟一、正規化:與特徵轉換模組不同,這裡的正規化,是為了消弭變數與變數 之間大小的差異。

步驟二、SVM 階段:

挑選具影響力的變數:一開始由隨機產生的初始基因,透過基因解碼的動作,

取得 28 個變數中,具代表性的變數作為 SVM 的輸入值。

訓練SVM分類器:由基因解碼所得的變數與 SVM 的訓練參數,以訓練集資 料來訓練 SVM。

測試SVM分類器:由訓練後的 SVM,以測試集資料來計算分類能力的評量 指標。

步驟三、適應函數估計值:由分類能力指標組合出評量基因的適應函數值。

步驟四、基因演化階段:再重覆基因的演化過程,包含複製、交配、突變等步驟。

步驟五、循環及終止:再回到步驟 2 的 SVM 階段,一直循環,直到符合終止條 件為止。

(一) 分類能力的指標(Evaluation Index)

當 評 估 一 個 二 元 的 分 類 系 統 時 , 可 以 建 立 一 個 混 亂 矩 陣 (Confusion Matrix),利用這個混亂矩陣計算出評估的指標來評估一個分類系統。利用這個 混亂矩陣,傳統常用的評估指標 (Evaluation Index) 有下列 4 種(Baeza-Yates Ricardo and Riberiro-Neto Berthier,1999): 正 確 率 (Accuracy)、 精 確 率 (Precision)、捕捉率 (Recall)、以及 F-Measure。

混亂矩陣如表 9 所示,其中Wfup代表預測明天上漲,Wfdown代表預測明天下跌,

Wrup代表明天實際上漲,Wrdown代表明天實際下跌,A和B為被正確分類的資料個數。

A代表實際和預測皆為上漲的筆數,而B則代表實際和預測皆為下跌的筆數。C和D 為被分類錯誤的資料筆數。C代表實際為下跌但預測為上漲的筆數,而D則代表實 際為上漲但預測為下跌的筆數。

表 9 混亂矩陣

預測 實際

Wfup Wfdown

Wrup A D

Wrdown C B

1. 正確率(Accuracy )

正確率 (Accuracy) 是用來計算分類系統分類正確的比率。也就是被正確預 測的個數佔全體個數的百分比。其公式如下所示︰

D C B A

B Accuracy A

+ + +

= + (31)

2. 精確率( Precision )

精確率是用來計算分類實際上漲(下跌)的個數佔預測為上漲(下跌)的個數 的百分比。而分類系統如全部預測為上漲或下跌時,雖然可以得到很好的正確 率,但確是一個不好的分類系統。分類系統的指標上,能區隔上漲的精確度與下 跌的精確度的系統,誠然是比較令人安心的。

C A up A forecast presicion

= +

− )

( (32)

D B down B forecast

presicion

= +

− )

( (33)

其中,

Precision(forecast up)是計算分類系統預測其為上漲時,正確預測上漲的 百分比;

Precision(forecast down)則是計算分類系統預測其為下跌時,正確預測下 跌的百分比。

3. 捕捉率( Recall )

捕捉率 (Recall) 是用來計算分類預測上漲(下跌)的個數佔實際為上漲(下 跌)的個數的百分比,為分類系統實際得到正確分類的百分比。由於本研究現在 有兩個類別 (上漲和下跌),所以對於這兩個類別,本研究都可以計算其捕捉率。

公式如下所示︰

D A up A real recall

= +

− )

( (34)

C B down B real

recall

= +

− )

( (35)

4. F - Measure

F-Measure 則是依據上面的精確率和捕捉率兩個指標,加以綜合而成的另一 個評估指標,若本研究刻意提高精確率,則勢必會導致捕捉率的下降,反之亦然,

只有在精確率與補捉率均衡下 F-Measure 才會有極大值,公式如下所示︰

recall precision

recall precision

measure

F− = 2* +* (36)

(二) 基因演算法(Genetic algorithm)

本研究利用基因演算法的參數最佳化的特性來挑選出較具影響力的變數,期 望能夠藉由輸入變數的篩選來提高支持向量機的效能並提高準確性。此演算法透 過模擬生物基因的複製(Selection)、交配(Crossover)與突變(Mutation)等演化特 性,可有效解決一些複雜且難解的問題並避免陷入局部最佳解的問題。

其基本的精神在於由樣本中選擇具有較好特性的母代(Parents),採用隨機的 方式相互交換彼此的位元資訊,以產生更加優秀的子代(Children)(張孝德、蘇木 春,1997)。所以基因演算法能夠同時搜尋不同的區域,是一種最佳化的搜尋機 制,適合用在非線性以及解答範圍很大或是很複雜的問題上面。本研究所採用的 基因演算法設計說明如下(Deng-Yiv Chiu, Ya-Chen Pana and Shih-Yi Yu. 2008):

1. 染色體的組成:

總共有 48 個基因,前面 28 個基因代表 28 個輸入變數,其後的 10 個基因代 表 SVM 的參數 C (cost),其數值以二進位表示,最後的 10 個基因代表參數γ (Gamma),其設計如表 10 所示。

表 10

本研究所採用的染色體設計

Total 48 bits 14 技術指標

(14bits)

14 GM-C3LS 平均值指標 (14bits)

SVM-C 參數 (10bits)

SVM-γ參數 (10bits)

其中,前面 28 個基因用來代表 28 個輸入變數,如果基因值是「1」則選擇 該變數做為輸入變數,如果是「0」則是不選擇。接下來的十個基因是用來決定 SVM的C參數的單元數目,其值是介於 1~1023 之間。假設這十個基因的排列組 合是X9X8X7X6X5X4X3X2X1X0,則轉換規則如式子(37)所示:

C=X9*29+X8*28+X7*27+X6*26+X5*25+X4*24+X3*23+X2*22+X1*21+X0*20+1 (37) 最後的十個基因是用來決定SVM-γ參數,因為要使其數值介於 0 到 1 之 間,假設這十個基因的排列組合是X9X8X7X6X5X4X3X2X1X0,其轉換規則如式子 (38)所示:

γ=[X9*29+X8*28+X7*27+X6*26+X5*25+X4*24+X3*23+X2*22+X1*21+X0*20+1]/1023 (38) 2. 初始染色體:每條染色體以隨機方式建立。

3. 複製(Selection):選擇適應值較高的染色體做複製,再放到結合池中,而本研 究所採用的複製方式是以輪盤式選擇(Roulette Wheel Selection)為主。每個物 種需要被複製的個數,如下面的計算公式:

=

i i

fitness fitness

Num N (39)

其中,

Num 為需要複製的個數 N 為物種的總個數

fitnessi為適應函數值

4. 交配(Crossover):在交配的設計上,本研究使用雙點式交配法,亦即先選擇二 條欲交配的染色體,在染色體裡以隨機方式選擇二點,並在所選的區塊上 兩兩做交換的動作。

5. 突變(Mutation):在突變的設計上,本研究以 0.05 的突變率作為染色體之基因 突變。

6. 適應函數(fitness):基因演算法中最重要的部分在於適應函數的設計,本研究 的設計上是以獲得最大的預測報酬與預測的精準程度為主要考量依據。另 外如果刻意提高精確率,則勢必會導致捕捉率的下降,反之亦然。因此加 入 F-measure 的評估方式,希望同時兼顧模型的精確率與補捉率兩種指標。

計算適應值如式子(40)所示。實驗過程中,本研究將以試誤法來決定α、β 的數值,最後決定以 0.5 的報酬率(α=0.5)加上 10 倍的 F_measure(β=10) 來作為本研究適應函數,如式子(40)所示。

適應值 = α * 報酬率 + β* F_Measure (40) 其中,

α、β為常數

報酬率代表測試資料集的 SVM 預測報酬率。

F_Measure 代表測試資料集的預測精準程度的評估指標。

7. 終止條件:設定為演化 100 代即停止。

(三) 支持向量機(Support Vector Machine, SVM)

本研究將使用台灣大學資訊工程學系林智仁教授所開發的 LIBSVM(Chang, C., Lin, C.,2001)軟體來進行實驗,LIBSVM 軟體有一般常用的五種分類方法可以 選擇使用,有 C-SVC、nu-SVC、epsilon-SVR、nu-SVR 和 one-class SVM,本研 究選用較適合此實驗資料的 C-SVC 分類方法。

另外常用的核心函數有線性(linear)、多項式(polynomial)、放射型(radial basis function;RBF)、以及 S 型(Sigmoid)等四種,其中放射型(RBF)核心函數有能力分 類非線形且高維的資料集,且只須調整 C(Cost)及γ(Gamma)兩個參數。

C(Cost)及γ(Gamma)這兩個參數的工作交由基因依據基因演算法的演化循 環過程:複製、交配、突變、解碼後決定的參數值,代入 LIBSVM 中,計算出 適應函數估計值,再回到基因的演化循環過程,最後當演化 100 代時,最佳的適 應函數值所代表的基因將決定最佳的 C(Cost)及γ(Gamma)兩個參數。

由於方法只需適應函數設計得當,不但減少操作上的複雜度,且能達到較高 得預測能力。且輸入資料經過正規化過程已限定在[0,1]之間,亦能減少 LIBSVM 運算的複雜度和時間。放射型函數(Radial Basis Function, RBF),如下所示:

)

exp(−gammaxiyi 2 (41)

在文檔中 中 華 大 學 (頁 35-45)

相關文件