第四章 實驗數據分析
第三節 基因演算法參數設定
國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
第三節 基因演算法參數設定
根據上一節的實測結果,本研究歸納出幾個參數設定重點,供使用者進行模 擬演化時參考:
一、染色體的適應程度會隨著演化代數上升,但有其極限。
在一段過去的時間區間內,金融商品價格具有有限的波動幅度,因此透過買 賣操作該金融商品能獲得之超額報酬有其極限。在本研究中,染色體的適應程度 即為各染色體在一段期間內對某項金融商品買賣之獲利能力,故染色體的適應程 度也應該會有極限值存在。
在本研究的實驗中也印證了這樣的推論,染色體的適應程度(即獲利率), 在演化到 24%~26%左右的水平之後,就開始呈現穩定波動,不再持續上升。若 是再持續增加演化代數,只會增加模擬時間,無法找到優秀的染色體。
二、染色體族群數量越大,就能以越少的演化代數找到高適應力之染色體。
染色體族群數量代表的是每一代參與競爭的染色體總數。染色體族群數量若 是太小,代表演化過程中缺乏競爭,不易產生優秀的染色體後代。反之,若是染 色體族群數量夠大,整個染色體族群的複雜度高,在模擬演化前期(較少的演化 代數)就容易出現優秀的染色體後代。在染色體長度為 4 和 8 的實驗中,當染色 體族群數量為 30 或 60 時,都必須經過長期的演化,染色體的適應程度才慢慢改 善。特別是在染色體長度為 2 的實驗中,染色體族群數量為 30 的實驗甚至無法 產生出優秀的染色體後代。反觀染色體族群數量為 300、500 的實驗,幾乎都在 30 代的演化之後,就接近適應程度之極限。
三、在本研究的基因編碼基礎之下,染色體長度不宜過長,建議低於 16。
在本研究的基因編碼基礎之下,染色體所包含的基因如果太多,各基因之間
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
容易產生互斥現象,不易產生交易訊號,獲利能力也較差。從實驗數據來看,在 染色體長度為 2、4 和 8 的實驗當中產生出的優秀染色體適應程度遠高於染色體 長度為 16、32 的實驗所產生出的優秀染色體。在染色體長度為 32 且染色體族群 數量只有 30 或 60 的實驗中,甚至無法產生出能夠獲利的染色體。
綜合以上幾點,建議使用者在設定基因演算法模擬回測參數時,染色體長度 應低於 16,染色體族群總數至少大於 100,演化代數則是最少大於 30。
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
第五章 結論
第一節 研究結論
傳統的系統化交易策略設計方法是由具有經驗的交易策略設計者,根據本身 對各項量化技術指標的了解,將各指標互相搭配組合成一套的程式交易策略,再 透過代入過往歷史交易資料來進行回測。在多次的反覆調整策略與參數之後,最 終產生出優秀的交易策略。傳統的策略設計方法產生出高品質的交易策略,但相 對的,此模式所需之進入門檻較高,交易策略設計者必須具備相當充足的金融市 場相關知識與程式撰寫能力。
本研究以 Hadoop 雲端運算架構建立金融交易策略發展模式,由一套內建大 量交易規則的基因庫中選取若干交易規則組成一套交易策略,再將交易策略視為 染色體,運用基因演算法「物競天擇」的特性從廣大的染色體族群中選出優秀的 交易策略。經過驗證,此模式的確能找出過往績效優秀的交易策略,除此之外,
亦大幅降低了使用者在程式化交易上的進入門檻。使用者不再需要撰寫策略程式,
只要選定標的、指定模擬演化區間,就能找出在該區間內表現良好的交易策略。
在基因演算法模組架構方面,本研究從 Horizontal Design 調整至 Vertical Design 的過程中,大幅度縮減了模擬演化的時間。雖然在模擬速度測試時發現,
本研究基因演算法模擬演化的部分所需的運算時間並沒有遠遠超過等待資料輸 入輸出的時間,使得 Hadoop 分散式運算架構於本研究之基因演算法模擬演化部 分無法發揮應有的效益;但在批次處理大量歷史交易資料、計算技術指標與基因 狀態時,Hadoop 架構仍是十分合適的解決方案。
最後,本研究對基因演算法在找尋優秀策略時所設定之參數進行討論,得到 了以下三點結論:
一、染色體的適應程度會隨著演化代數上升,但有其極限。只要有足夠的染
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
色體族群數量(建議 300 以上),50 代的模擬演化就足以找到十分優秀之染 色體。
二、染色體族群數量越大,就能以越少演化代數找到高適應力之染色體,以 300 到 500 之間的染色體族群數量最為合適。
三、在本研究的基因編碼基礎之下,染色體長度不宜過長,建議低於 16。
未來使用者透過本系統進行模擬演化時,可以基於這三點要領選擇所需之參 數,即可以最有效率的方式,找到優秀的交易策略。
第二節 未來展望
本研究主要聚焦於基於 Hadoop 雲端運算架構之策略交易與回測模擬平台之 架構設計與建置、探討調整架構所帶來的效能改善與找出優秀交易策略所需之基 因演算法參數設定。但本研究所找出之優秀交易策略,乃是過去一段時間區間內 之優秀交易策略,本研究並未進行這些優秀交易策略未來是否能夠持續帶來超額 報酬之實證研究,後續研究者可針對此問題進行實證研究。除此之外,亦可針對 各項不同之指標組合進行績效探討,為使用者提供更多參考依據。
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
參考文獻
中文部分
1. 王耀聰、辜文元、魏綸毅譯(2011)。Tom White 著。Hadoop 技術手冊(Hadoop:
The Definitive Guide, Second Edition)。台北市:碁峯資訊。
2. 陸嘉恆(2012)。Hadoop 實戰技術手冊。台北市:佳魁資訊。
3. 賴育漣(2009,10 月 1 日)。演算法交易漸成市場熱點。經濟日報。取自 http://itrader168.blogspot.com/2009/09/blog-post_23.html。
4. 杜金龍(2006)。最新技術指標-在台灣股市應用的訣竅。台北市:財訊。
5. 林昇甫、徐永吉(2009)。遺傳演算法及其應用。台北市:五南。
6. 江吉雄(2002)。遺傳演算法於股市選股與擇時策略之研究(未出版碩士論 文)。國立中央大學,桃園縣。
7. 姜林杰祐(2012)。「演算法交易與高頻交易」-台灣期交所課程教學資源。
取自http://www.programtrading.tw/viewtopic.php?f=24&t=18840。
8. 藍子軒譯(2011)。Ernest P. Chan 著。計量交易(Quantitative Trading)。台 北市:寰宇。
9. 寰宇財務顧問公司譯(2006)。Gregory L. Morris 著。強力陰陽線(Candle
Power)。台北市:寰宇。
10. 溫豐全(2008)。運用技術指標建構投資決策之知識架構(未出版碩士論文)。
國立政治大學,台北市。
11. 楊雅菱(2011)。基於雲端環境與服務導向架構之交易策略評估平台框架(未 出版碩士論文)。國立政治大學,台北市。
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
英文部分
1. Kevin Kelly(2006). Moving markets Shifts in trading patterns are making technology ever more important. The Economist. Retrived from http://www.economist.com/node/5475381?story_id=E1_VQSVPRT.
2. National Institute of Standards and Technology(2010). Cloud Computing Forum
& Workshop. Retrieved from http://www.nist.gov/itl/cloud.cfm.
3. Dean J, Ghemawat S(2008). MapReduce: Simplified data processing on large clusters. Communications of the ACM, 2008,51(1): 107-113.
4. Apache(2009). Apache Hadoop 0.20 Documentation - HDFS Architecture.
Retrieved from http://hadoop.apache.org/common/docs/r0.20.0/hdfs_design.html 5. Chang F, Dean J, Ghemawat S, et al(2006). Bigtable: A distributed structured
data storage system. The 7th OSDI. Seattle, Washington.
6. Robert D. Edwards, & John Magee(1998), Technical Analysis of Stock Trends.
J. Magee, Inc.
7. Rob Iati(2009), The Real Story of Trading Software Espionage. Retrieved from http://AdvancedTrading.com .
8. Gregory L. Morris, Ryan Litchfield(2006). Candlestick Charting Explained:
Timeless Techniques for Trading Stocks And Futures. McGraw-Hill Professional.
9.
J.H.Holland(2009). Adaption in Natural and Artificial Systems. University of Michigan, United States.
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
附錄一
單一 K 線型態-共 22 種
長紅線 長黑線 長腳十字
短紅線 短黑線 長下影十字
長紅實線 長黑實線 長上影十字
紅收盤實線 黑收盤實線 墓碑十字
紅開盤實線 黑開盤實線 蜻蜓十字
紅紡錘線 黑紡錘線 星形十字
長下影線紅線 長下影線黑線
長上影線紅線 長上影線黑線
‧
‧
‧
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
反撲 A21
1. 在實線出現之後,立即出現相反顏色的實 線。
2. 兩根實線之間存在跳空缺口。
3. 本型態所處之市場方向並不重要。
飛鴿歸巢 A22
1. 在下降趨勢中出現長黑線。
2. 一根短黑線完全位於前一天的實體內。
梯底 A23
1. 連續三根黑線,其開、收盤價均不斷走低。
2. 第四天為具有上影線的黑線。
3. 最後一天為紅線,其開盤價位於前一天的 實體之上。
低價配 A24
1. 下降趨勢中出現連續兩根黑線,兩天的收 盤價相等。
‧
‧
‧
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
內困三日 翻黑 B21
1. 前兩天為「母子」型態。
2. 第三天收盤走低,確認反轉。
反撲 B22
1. 在實線出現之後,立即出現相反顏色的實 線。
2. 兩根實線之間存在跳空缺口。
3. 本型態所處之市場方向並不重要。
‧
‧ 國
立 政 治 大 學
‧
Na tiona
l Ch engchi University
三線反擊 C6
1. 前三天為不斷創新高的紅 K 線。
2. 第四天開盤價創新高,隨後價格急挫,最 低價較第一根紅線還低。
上缺口三 法 C7
1. 第一天為上漲的長紅線。
2. 第二天亦為長 K 線,但顏色不重要,與第 一天之間存在跳空缺口。
3. 第三天為下跌的黑 K 線,開盤價位於第二 天的實體之間,收盤價位於第一天的實體 之間。
‧
‧
‧
Average,MA)N 日 MA =N 日收盤價總和N 日 () N 為正整數
short 、 long 為 整 數 , short < 𝑙𝑙𝑙𝑙
short, long, N
∈ {3,5,10,15,20,30, 40,50,60,80,100,120, 140,160,180,200,220, 240,300,360}
1. MAshort> MAlong 26,32,45,60,80,100, 120,140,160,180,200, 220,240,300,360}
𝛽 ∈ {0.2,0.25,0.3,0.35,0.4, 0.45,0.5,0.55,0.6,0.65,0.7}
1. BIAS(N) < −β 2. BIAS(N) > β 基因總數:462
3 指數移動平均
(Exponential Moving Average,EMA)
N 日的𝐸𝐸𝐸𝑡=
short, long, N
∈ {3,5,10,15,20,30, 40,50,60,80,100,120, 140,160,180,200,220, 240,300,360}
1. EMAshort> EMAlong 2. EMAshort< EMAlong 基因總數:380
‧
(Moving Average Convergence Divergence,MACD) (相依於 EMA)
DIF = EMA(short) − EMA(long)
𝐸𝐸𝐶𝑀𝑡= 𝐸𝐸𝐶𝑀𝑡−1+ 𝐾 × (𝑀𝐷𝐷𝑡− 𝐸𝐸𝐶𝑀𝑡−1)
short、long 為整數 short < 𝑙𝑙𝑙𝑙
K = 2 𝑁 + 1
short, long, N
∈ {3,5,8,12,16,20, 26,32,45,60,80,100, 120,140,160,180,200, 220,240,300,360}
1. DIF > 0
未成熟隨機值(Raw Stochastic Value, RSV)
RSV𝑡=𝐶𝑙𝑙𝐶𝐶𝑡− 𝐿𝑙𝐿𝑁 26,32,45,60,80,100, 120,140,160,180,200, 220,240,300,360}
α ∈ {95,90,85,80,75,70}
β ∈ {5,10,15,20,25,30}
‧
26,32,45,60,80,100, 120,140,160,180,200, 220,240,300,360}α ∈ {0.05,0.1,0.15, 0.2,0.25,0.3}
β ∈ {0.7,0.75,0.8, 0.85,0.9,0.95
1. WMS%R < α 2. WMS%R > β 基因總數:252
7 趨向指標(Directional Movement Index,DMI)
Step1.趨向變動值(Directional Movement,DM) +DM = 本日最高價 - 昨日最高價
-DM = 本日最低價 - 昨日最低價 Step2.真實的波幅(True Range,TR)
TR = MAX[|𝐻𝐻𝑙ℎ𝑡− 𝐿𝑙𝐿𝑡|, |𝐻𝐻𝑙ℎ𝑡− 𝐶𝑙𝑙𝐶𝐶𝑡−1|, |𝐿𝑙𝐿𝑡
− 𝐶𝑙𝑙𝐶𝐶𝑡−1|]
Step3.方向指標(Directional Indicator,DI) +DI𝑁= +𝐷𝐷𝑇𝑇𝑁
𝑁 ; −DI𝑁= −𝐷𝐷𝑇𝑇𝑁
𝑁
Step4.平均趨向指標(Average Directional Movement Index, ADX) 26,32,45,60,80,100, 120,140,160,180,200, 220,240,300,360}
α ∈ {0.5,0.1,0.15,0.2, 0.25,0.3,0.35,0.4}
β ∈ {0.6,0.65,0.7,0.75, 0.8,0.85,0.9,0.95}
γ ∈ {0.2,0.25,0.3,0.35, 0.4,0.45,0.5,0.55,0.6}
1. +DI > 𝛾 2. −DI > 𝛾 3. ADX < 𝛼 (N) 4. ADX > 𝛽 (N) 基因總數:525
‧
Index,MTM)MTM𝑁= 𝐶𝑙𝑙𝐶𝐶𝑡− 𝐶𝑙𝑙𝐶𝐶𝑡−𝑁 N 為正整數
𝐶𝑙𝑙𝐶𝐶𝑡−𝑁為 N 日前之收 盤價
short, long, N
∈ {3,5,8,12,16,20,26}
1. MTMshort> MTMlong 2. MTMshort< MTMlong 基因總數:42
9 震盪量指標
(Oscillator,OSC)
OSC𝑁= 𝐶𝑙𝑙𝐶𝐶𝑡
𝐶𝑙𝑙𝐶𝐶𝑡−𝑁× 100% N 為正整數
𝐶𝑙𝑙𝐶𝐶𝑡−𝑁為 N 日前之收 盤價
N ∈ {3,5,8,12,16,20,26}
β ∈ {5,10,15,20,25,30,35,40}
1. OSCN> 100 + 𝛽 short、long 為整數 short < 𝑙𝑙𝑙𝑙
N ∈ {3,5,8,12,16,20, 26,32,45,60,80,100, 120,140,160,180,200,
220,240,300,360}
α ∈ {95,90,85,80,75,70}
β ∈ {5,10,15,20,25,30}
‧
(Weighted Relative Strength Index,WRSI) (相依於 RSI)
N 日的𝑊𝑅𝑅𝐷𝑡=
2(1 ∗ 𝑅𝑅𝐷𝑡−𝑁+ 2 ∗ 𝑅𝑅𝐷𝑡−𝑁+1+ ⋯ + 𝑁 ∗ 𝑅𝑅𝐷𝑡) N(N + 1)
N 為正整數 short、long 為整數 short < 𝑙𝑙𝑙𝑙
N ∈ {3,5,8,12,16,20, 26,32,45,60,80,100, 120,140,160,180,200, 220,240,300,360}
α ∈ {95,90,85,80,75,70}
β ∈ {5,10,15,20,25,30}
N ∈ {3,5,8,12,16,20,26,40,62}
α ∈ {300,325,350,375,400}
β ∈ {25,30,35,40,45,50,55}
1. 𝐶𝑅 > 𝐶𝑅𝐷𝑀 2. 𝐶𝑅 < 𝐶𝑅𝐷𝑀 3. 𝐶𝑅 > 𝛼 4. 𝐶𝑅 < 𝛽 基因總數:181
‧
(Accumulation Distribution Line)(相依於 MA)
short, long, N
∈ {3,5,10,15,20,30, 40,50,60,80,100,120}
1. 𝐸𝑀𝐸𝐸𝑠ℎ𝑜𝑜𝑡> 𝐸𝑀𝐸𝐸𝑙𝑜𝑙𝑙
N ∈ {3,5,8,12,16,20,26, 32,45,60,80,100,120}
α ∈ {130,140,150,160,170}
β ∈ {60,65,70,75,80}
N ∈ {3,5,8,12,16,20,26, 32,45,60,80,100,120}
α ∈ {360,380,400,420,440}
β ∈ {40,45,50,55,60}
‧
(Ease of Movement Value, EMV)short, long, N
∈ {1,3,5,8,12,16,20,26, 32,45,60,80,100,120}
1. EMV𝑁> 0 (Chande Momentum Oscillator, CMO)
單日上漲/下跌幅度:今日收盤價-前一日收盤價
𝐶𝐸𝐶𝑁=N 日內上漲總幅度 − N 日內下跌總幅度 N 日內上漲總幅度 + N 日內下跌總幅度
N ∈ {3,5,8,12,16,20,26, 32,45,60,80,100,120}
α ∈ {30,35,40,45,50,55,60}
1. CMON> 𝛼 2. CMON< −𝛼 基因總數:91
18 勁道指數 (Force Index, FI)
FI = 𝑅𝑡∗ (𝐶𝑡− 𝐶𝑡−1) 再對 FI 計算 N 日移動平均
FI = 𝑅𝑡∗ (𝐶𝑡− 𝐶𝑡−1) 再對 FI 計算 N 日移動平均