本研究主要利用遺傳演算法演化出最適的合理股價區間(Fair Value Range, FVR)、股價高估區(Overvalue Range, OR)間與股價低估區(Undervalue Range, UR),同時探討股價波動時,投資者應如何靈活配置資金,以進行股票交易策略。
本模型亦利用遺傳演算法結合三次方程內插法,分別在股價高估與低估區,模擬 非線性區間交易曲線。亦即買賣股票是依據當時股價對應至總投資金額的百分 比,依此比例增減目前持有股票數。有別於傳統方法,只能明確計算買賣股價點,
卻無法同時於各股價間作有效資金配置;或是只能作線性資金分配的投資策略。
一、 系統架構
本研究的系統架構如圖 1。第一步,由遺傳演算法產生初始化的染色體。第 二步,各染色體內容做區性重整,以得知合理股價區間、股價高估區間與股價低 估區,同時,為方便下一步三次方程內插法模擬非線性投資交易策略,在股價高 估區間與股價低估區分別最適化N個取樣點,共 2×N個取樣點。第三步,將解碼
後染色體中的 2×N個取樣點帶入三次方程內插法,求算出非線性區間交易曲 線。第四步,依據此一演化後的非線性區間交易曲線模型,套入股價日資料進行 交易求算投資報酬,報酬率高的即視為高適應函數值。第五步,依據適應函數值 選擇優良的染色體,放進交配池(mating pool)之中。接著進行第六與第七步,交 配池之中的染色體進行交配與突變產生新子代。如此循環演化,直到達中止條件 為止。
圖1:系統架構
買賣資金配置比例會依據當時股價值來決定如圖 2。當股價處於sp1與sp2之 間,表示該公司股票被低估。此時,投資者應適時買進該公司股票,以待股價落 入高估區時,在適時賣出;當股價sp2與sp3之間,表示該公司處於合理股價區,
在此區段間投資者將不進行任何買賣交易動作行為;當股價sp3與sp4之間,表示 該公司股票被高估。此時,投資者應適時賣出股票該公司股票,進行獲利。
圖2:非線性區間股價的買賣策略 二、 遺傳演算法之編碼規則
本研究採用二元碼之方式來行進編碼,其編碼規則如圖 3。染色體的編碼首先包 含sp1, sp2, sp3 與sp4以區分股價低估區、合理股價區與股價高估區等四個階段。
資金配置區則代表在股價低估與高估區中,各股價點應持有的資金比例。此外,
為避免頻繁交易削弱最後的投資效益,我們亦利用遺傳演算法最適化交易成立 點。所謂交易成立點,意指當距離上一次交易的股價變動量比例未達交易成立點 時,不予進行交易。例如,交易成立點為 2%,上一次交易股價為 30 元,當目前 股價漲跌超過 0.6 元,交易才會進行。反之,則不予交易。綜合上述,基因編碼 長度計算方法見公式( 1 )。
( ) ∑ ( ) ∑ ( ) (
∑
= = =+ +
+ N
i
i N
i
i i
i
L up L dp L TP
sp L
1 1
4
1
)
( 1 )其中,L(
⋅ )表示各基因編碼的長度;sp:合理股價區間值;dp:低估區資金
配置;up:高估區資金配置;TP:交易成立點圖3:染色體編碼 三、 遺傳演算法之適應函數
適應函數可說是物種演化的環境,若一演化世代愈能符合適應函數的要求,
便表示此物種愈能適應環境,因而可以演化出更優良的子代。本研究適應函數計 算分三步驟見圖 4。首先,由遺傳演算法演化出最適合理股價區間與資金配置。
接著,將股價低估與高估區間各資金配置點,帶入三次方程內插法,使各資金配 置點相互連接形成非線性資金配置曲線。最後,套入真實股價日資料並進行交易 求算投資報酬。報酬率愈高其適應函數值愈高,則有較高的機率演化到下一世代。
適應函數 {
將染色體解碼
套入三次方程內插法
將真實股價代入轉換成持資金配置比例 依據實驗理論模型計算出投資報酬率 }
圖4:適應函數計算流程
本研究之適應函數採用報酬率最大為原則,其定義與計算方式如(2)。
original Original Final
w w
ROI w
−= ( 2 )
其中 wFinal與 wOriginal分別表示投資後的資金與原始投入資金;ROI 為最後的
投資報酬率,此數值越大,表示最終的獲利越高。
四、 三次方程內插法
三次方程內插法觀念主要以各點區段以近似曲線相連,形成點與點之間具有 平滑曲線之概念下進行內插法。反之,每區段間僅以直線進行內插法,會有斜率 不連續的缺點。因此Cubic spline 即修正線性內插法之缺點形成平滑曲線。請參 照圖 5線性內插法與非線三次方程內插法,便可以明顯看出三次方程內插法在曲 線上表現是比較平滑。
10 30 50 70 90 110 130
1 2 3 4 5 (a) 線性內插法