• 沒有找到結果。

3. 研究方法

3.2 建構階段

3.2.1 股票交易策略模型

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

3.2 建構階段

本階段在於界定解決問題的本質,再依問題本質選擇適當的模型予以因 應。本研究欲解決問題有二個層面,一是如何找到相對優質安全低風險股票,

二是找到股票最佳買賣點時機(低買高賣)。由於此兩種問題的本質不同,一 是 What 問題,即是股票選擇的問題;另一是 How Long 問題,即是股票交易時 間點問題,因此,本研究分別設計不同解決方法予以解決。其建模階段可以下 分為 4 個細部步驟,如表 3-1 所示,依序分別就解決股票交易問題(3.2.1)及 股票選擇問題(3.2.2)之建模步驟進行說明。

表 3-1:建構步驟(The Constructing Phase)

Step 1 : 定義應用領域問題流程,找出知識發掘重要議題。

Step 2: 由知識發掘重要議題中產生資料集合(subset data points)

Step 3: 設計資料驅動點

Step 4: 導入適合問題解決的資料分析方法

3.2.1 股票交易策略模型

 步驟 1:定義應用領域問題流程,找出知識發掘重要議題。

以股票選擇及交易問題而言,終端使用者為投資人,而從投資人的角度來看,

在股票選擇部份,公司經營獲利能力或未來成長性為多數投資人考量的重點;而 在股票交易部份,所謂一個股票交易流程是由買點、賣點組成。投資人的股票買 賣交易決策決定了買賣點時機與價格,進而影響著股票交易成本及獲利多寡。然

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

投資人的股票交易決策受其本身股票交易決策準則影響,因此,在股票交易策略 的應用領域中,股票交易決策準則、買賣點訊號及態樣將是重要的知識發掘

(knowledge discovery)議題。

 步驟 2:由知識發掘重要議題中產生資料集合(subset data point)

不同的投資人有不同的股票交易決策準則分析方式,本研究經文獻探討後 以投資人常用之簡單移動平均線及其黃金死亡交叉決策準則,定義為本研究識 別買賣點訊號的決策準則。黃金死亡交叉決策準則是股市技術分析學派中最常 用簡單之股票交易買賣點判斷決策準則,一般投資人通常以該規則分別以短、

中、長期天數之移動平均線交叉點來偵測買賣訊號,作為股票買賣決策參考。

該準則買賣訊號偵測方式以 60 天短中期(SMA60)及 200 天長期(SMA200) 之移動平均線交叉點為例,當 60 天短中期移動平均線(SMA60)上穿 200 天長 期移動平均線(SMA200)時,稱為黃金交叉(golden-cross),如圖 3-3 之 A 點

(SMA60> SMA200),被視為買入做好的訊號,後市有機會上升,持盤者因而獲 利。當 60 天短中期移動平均線(SMA60)下破 200 天長期移動平均線(SMA200) 時,即代表死亡交叉(death-cross),如圖 3-3 之 B 點(SMA60<SMA200),被 解讀為賣出做淡的訊號,後市有機會下跌,股市持貨者因而蒙受損失,其決策準 則公式如(3-1)所示。因此,黃金死亡交叉決策準則判斷關鍵,在於運用不同天 數移動平均線交叉來做為決策準則的基礎。其立論意涵建立在短、中、長期投資 人根據個人對於市場看法進行股票交易,投資人之投資成本是股票賣出重要指標,

亦是市場支撐或壓力的表現,投資獲利關鍵。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 3-3:SMA 黃金死亡交叉圖

𝑠𝑖𝑔𝑛𝑎𝑙𝑘 = {

𝑏𝑢𝑦, 𝑖𝑓 (𝑆𝑀𝐴𝑘60> 𝑆𝑀𝐴𝑘200) 𝑠𝑒𝑙𝑙, 𝑖𝑓 (𝑆𝑀𝐴𝑘60 < 𝑆𝑀𝐴𝑘200) ℎ𝑜𝑙𝑑, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

(3-1)

 步驟 3:設計資料驅動點

在解決最佳化問題上,本研究從資料子集合的資料屬性中,找出影響流 程或目標的可調參數(EMC and VMware, 2014),並作為資料驅動點。亦即 資料子集合為 SMA 決策準則,其資料屬性透過 SMA 公式(3-1)可得每日 收盤價、SMA 天數兩個參數,然其決策準則是由短中期及長期天數 SMA 比 較決定買賣點,因此,SMA 的天數是影響股票交易決策流程達到獲利目標 的重要參數。

本研究對於 SMA 天數資料屬性,引用變動天數移動平均線理論(VLMA, variable length moving averages;Gunasekarage and Power, 2001),將 SMA 天 數變成可調參數,進而 SMA 天數依資料母體驅動經由訓練後來決定。本研

A

B

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

究交易決策準則詳如公式(3-2)所示(Hsu et al., 2011),T1、T2、T3、T4、 T5、T6、T7、T8為本研究之可調參數,代表簡單移動平均線之變動天數參數 並影響股票交易買賣點決策。

𝑠𝑖𝑔𝑛𝑎𝑙𝑘 = {

𝑏𝑢𝑦, 𝑖𝑓 (𝑆𝑀𝐴𝑘𝑇1 > 𝑆𝑀𝐴𝑘𝑇2) 𝑎𝑛𝑑 (𝑆𝑀𝐴𝑘𝑇3 > 𝑆𝑀𝐴𝑘𝑇4) 𝑠𝑒𝑙𝑙, 𝑖𝑓 (𝑆𝑀𝐴𝑘𝑇5 < 𝑆𝑀𝐴𝑇𝑘6) 𝑎𝑛𝑑 (𝑆𝑀𝐴𝑘𝑇7 < 𝑆𝑀𝐴𝑘𝑇8) ℎ𝑜𝑙𝑑, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

(3-2)

 步驟 4:導入適合問題解決的資料分析方法

針對可調參數求解特性及問題解決目標,選擇適當的資料分析方法。就本 研究而言,透過步驟(4)得知,T1、T2、T3、T4、T5、T6、T7、T8等可調參 數,影響著股票交易決策及買賣點的識別,因此,如何找出可調參數的最佳天 數解,為本研究知識發掘的重要目標,故本研究可調參數的最佳天數求解過程 為一最佳化問題。

為解決交叉決策準則內之移動平均天數(SMA)參數最佳化問題,本研究 提出 EPSO 演算法結合移動平均線、黃金死亡交叉決策準則,改進 MMPSO

(Hsu et al., 2011)參數落陷於邊界值問題,並提出精英候選粒子(elite canadiate)進行演化,以精進 PSO 最佳化演算法,並且與原 PSO 演算法

(Kenndey PSO)、MMPSO 演算法比較演算法效能。

此外,以公式(3.3)之投資報酬率(return of investment,簡稱 ROI)計算 後作為目標函數(fitness function),來衡量粒子群解之優劣,演化至最後得到

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

一組變動天數移動平均線粒子群最佳解,作為股票交易決策參考。投資報酬率 公式(3.3)如下所示:

𝑅𝑂𝐼 =𝐺𝑎𝑖𝑛𝐹𝑟𝑜𝑚𝐼𝑛𝑣𝑒𝑠𝑡𝑚𝑒𝑛𝑡−𝐶𝑜𝑠𝑡𝑂𝑓𝐼𝑛𝑣𝑒𝑠𝑡𝑚𝑒𝑛𝑡

𝐶𝑜𝑠𝑡𝑂𝑓𝐼𝑛𝑣𝑒𝑠𝑡𝑚𝑒𝑛𝑡 (3.3)

在黃金死亡交叉決策準則公式(3.2)之 T1、T2、T3、T4、T5、T6、T7、T8

表示移動平均線變動天數參數,亦是本研究之股票交易決策策略解。本研究股 票交易決策策略解包含 2 個買點子策略解(T1、T2)、(T3、T4)以及 2 個賣 點子策略解(T5、T6)、(T7、T8)。買點決策準則為(SMAT1> SMAT2)and

(SMAT3> SMAT4),賣點決策準則為(SMAT5< SMAT6)and(SMAT7<

SMAT8),由此兩個決策準則決定買賣點時機。

本研究改良 PSO(Kennedy, 2010)及 MMPSO(Hsu et al., 2011)最佳化演 算法,提出菁英候選解概念之 EPSO(Elite-PSO)方法,其演算法核心精神是 源由買點子策略解(T1、T2)、(T3、T4)及賣點子策略解(T5、T6)、

(T7、T8)。首先每家股票經由γ 次實驗訓練(run)後,將會得到 γ 個最佳解

(global best),而這 γ 個最佳解均含有良好的交易策略特質,我們依子策略為 單位可以將策略拆解為各 2γ 個買賣子策略,以(Ti、Tj)表示。將以上具有良 好交易特質子策略重複排列組合,可得各(2γ)4 個最佳解,稱為菁英候選解

(elite canadiates),將這些菁英解經由目標適應函數運算(fitness function)

後,並選取最好解作為此家股票之最佳交易策略。

另外,PSO(Kennedy, 2010)及 MMPSO(Hsu et al., 2011)之 ViT及 XiT落陷於邊界值,使最佳解鈍化問題,本研究提出修正 ViT及 XiT之落陷於邊界值

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

規則。若 ViT >Vmax則 ViT=random[VS,Vmax],並保持原來方向;若 ViT<-VmaxViT=random[VS,-Vmax],並保持原來方向,本研究粒子速度值範圍[Vmax,-Vmax],

VS代表門檻值(threshold);而若 XiT>Xmax或 XiT>Xmin則 XiT=random[Xmin,Xmax],

本研究粒子位置值範圍[Xmin, Xmax]。

本研究 EPSO 演算法詳如公式(3.4)-(3.7),其中公式所引用參數 ViT粒子速度(velocity for particle XiT),XiT為粒子位置(the particle position),

PiT為該粒子之區域最佳解(local best solution),GT為全域最佳解(global best solution),ω 為慣性權重值係數(inertia weight)。c1 為粒子自信係數(self-confidence coefficient),代表粒子自我經驗之最佳解的影響係數。c2為粒子社 會信心係數(social confidence coefficient),代表全體粒子最佳解的影響係數。

ri1、ri2為亂數產生器,其亂數範圍為[0,1]。n 為本期,n+1 為下一期。

𝑉𝑖𝑇𝑛+1 = ω ∙ 𝑉𝑖𝑇𝑛 + 𝑐1∙ 𝑟𝑖1𝑛 ∙ (𝑃𝑖𝑇𝑛 − 𝑋𝑖𝑇𝑛) + 𝑐2∙ 𝑟𝑖2𝑛∙ (𝐺𝑖𝑇𝑛 − 𝑋𝑖𝑇𝑛) (3-4)

𝑋𝑖𝑇𝑛+1 = 𝑋𝑖𝑇𝑛 + 𝑉𝑖𝑇𝑛+1 (3-5)

𝑉𝑖𝑇 = {

𝑟𝑎𝑛𝑑[𝑉𝑚𝑎𝑥, −𝑉𝑚𝑎𝑥], 𝑖𝑓 𝑉𝑖𝑇 > 𝑉𝑚𝑎𝑥 𝑟𝑎𝑛𝑑[𝑉𝑚𝑎𝑥, −𝑉𝑚𝑎𝑥], 𝑖𝑓 𝑉𝑖𝑇 < −𝑉𝑚𝑎𝑥

−𝑉𝑚𝑎𝑥+ 2 × 𝑉𝑚𝑎𝑥× 𝑟𝑎𝑛𝑑(), 𝑖𝑓 |𝑉𝑖𝑇| > 𝑉𝑠 𝑉𝑖𝑇, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

(3-6)

𝑋𝑖𝑇 = {

𝑟𝑎𝑛𝑑[𝑋𝑚𝑎𝑥, −𝑋𝑚𝑎𝑥], 𝑖𝑓 𝑋𝑖𝑇 > 𝑋𝑚𝑎𝑥 𝑟𝑎𝑛𝑑[𝑋𝑚𝑎𝑥, −𝑋𝑚𝑎𝑥], 𝑖𝑓 𝑋𝑖𝑇 < −𝑋𝑚𝑎𝑥 𝑋𝑖𝑇, 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

(3-7)

0-1 Initial elite candidate queue, the queue can store γ global best solutions.

1 Initial step:

1-1

Give m particles, m is the swarm's size. X

i

express one of the particles.

Each particle has 8 attributes. Each attributes has two vectors (position, velocity).

XiT

express one of the attributes’ position and the time interval of SMA.

ViT

express one of the attributes’ velocity.

1-2 For each particle X

iT

, 1≤i≤m, 1≤T≤8 do. steps is reached.

2-2 For each particle X

iT

, 1≤i≤m, 1≤T≤8 do.

2-3 Pick random numbers: r

i1

, r

i2

~ U (0,1).

3. EPSO 演算法(fitness function algorithm;calculate ROI)

1

Initial step:

1-1 Accept the particle X

iT

for main algorithm of EPSO as 8 time intervals of SMA, 1≤i≤m, 1≤T≤8 do.

1-2 Initialize holding capital=NT$1,000,000 and sheet of hold stock=0.

2

Main Step:

2-1 For (d = start date of training/testing;d ≤ end date of training/testing;d++) 2-2 Calculate SMA of the particle X

iT

on d date.

2-3 Evaluate trading strategy signal on d date according Eq.(3.3).

2-4

If (signal on d date == buy) then Buy stock ,

and sheet of hold stock += holding capital / (close price of this d date of this stock + transaction cost).

2-5 If (this d date == end date of training/testing) then

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

and holding capital += (sheet of hold stock * close price of this d date of this stock) − transaction cost.

2-6 return holding capital.