Professional Documents
Culture Documents
用演化演算法搭配技術指標建構台灣指數期貨當
沖交易策略
研 究 生: 顧凱云
指導教授: 陳穎平 博士
中 華 民 國 一 百 零 七 年 二 月
用演化演算法搭配技術指標建構台灣指數期貨當沖交易策略
Day Trading Strategies in Taiwan Stock Index Future by Using
Evolutionary Algorithm and Technical Indicators
國 立 交 通 大 學
資訊科學與工程研究所
碩 士 論 文
A Thesis
Submitted to Institute of Computer Science and Engineering
College of Computer Science
National Chiao Tung University
in partial fulfilment of the requirements
for the Degree of
Master
in
Computer Science
February 2018
Hsinchu, Taiwan
中 華 民 國 一 百 零 七 年 二 月
用演化演算法搭配技術指標建構台灣指數期貨當沖交易策略
學生:顧凱云 指導教授:陳穎平 博士
國立交通大學 資訊科學與工程研究所
iv
Day Trading Strategies in Taiwan Stock Index Future by
Using Evolutionary Algorithm and Technical Indicators
Student: Kai-Yun Ku Advisor: Dr. Ying-Ping Chen
Institute of Computer Science and Engineering
National Chiao Tung University
Abstract
Technical analysis has been practiced in the stock market for years. In this study, we take
the Taiwan stock index futures as the research object. Refer to previous research[1], we use the
Stochastic Oscillator (KD), exponential moving average (EMA) and the volume (MV) index to
find the suitable time to buy the future and sell it according to the stop-loss point and lock-in-
gain point by using the evolutionary algorithm. We use historical data from November 2012 to
December 2016 to develop day trading strategies.
Our trading strategies use two months historical data to run evolutionary algorithm (training)
and use the next month historical data to simulate trading by using optimized parameters pro-
vided by evolutionary algorithm (testing). This mechanism will shift one month and continue
executing until December 2016. The result of this study show that there are positive profits from
year 2013 to 2016.
v
謝
感謝我的指導教授 陳穎平 教授,於我的碩士研究生涯中提供自由的研究環境,當
我研究上遇到瓶頸時提供適當的指導與幫助,在整個研究過程中,學到如何從定義到
解決問題的方法,這些思考方式是很重要的經驗。
感謝前來參加我口試的口試委員 戴天時 教授與 黃俊龍 教授,百忙之中抽空參加
口試給予專業的見解與指出論文不足之處,使我的論文更加完善。此外也感謝實驗室
的同學,和我討論和分享研究上遇到的問題或想法,以及一同參與的研究所時光。
最後,我要感謝我最重要的家人在我的研究所生涯的支持與幫助,讓我沒有後顧之
憂在交大求學。再次感謝求學這段時間所有幫助我的人,讓我在艱難的時刻有繼續往
前的動力與方向,最終能夠順利完成我的學業,邁向新的人生挑戰。
vi
目
要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v
謝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
圖目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
表目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x
一、 緒論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 研究動機與背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 研究目的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 論文架構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
二、 相關技術理論與背景知識 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 台指期貨 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 當沖交易 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 技術分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.3.1 KD 隨機指標 (Stochastic Oscillator, KD) . . . . . . . . . . . . . . . . 6
2.3.2 指數移動平均 (Exponential Moving Average, EMA) . . . . . . . . . . 7
2.3.3 成交量 (Trading Volume) . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 演化計算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.1 基因演算法 (Genetic Algorithm) . . . . . . . . . . . . . . . . . . . . 9
2.5 相關研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
三、 研究方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 資料格式與研究期間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 研究假設與限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 交易策略設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.1 進場時機探討 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3.2 出場時機探討 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
vii
3.3.3 每筆交易的操作說明 . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.4 基因演算法 (GA) 找出交易策略參數 . . . . . . . . . . . . . . . . . 16
3.4 模擬交易實驗設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
四、 實驗結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1 策略一: 使用 EMA 及 KD 搭配找出進場時機操作績效 . . . . . . . . . . . 20
4.2 策略二: 使用 EMA、MV 及 KD 搭配找出進場時機操作績效 . . . . . . . . 24
4.3 策略三: 使用 GA 於 MV 挑選搭配 EMA 及 KD 找出進場時機操作績效 . . 29
五、 結論與未來展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.1 結論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 未來展望 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
參考文 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
一 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
viii
圖 目
3.1 每筆交易進出場示意圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2 用 GA 於進場時機判斷的每筆交易進出場示意圖 . . . . . . . . . . . . . . . 15
3.3 研究架構流程圖 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
ix
表 目
4.1 台灣期貨交易所手續費 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2 使用 4EMA 及 KD 搭配於 2013 年 5-10 月績效分析表 . . . . . . . . . . . . 20
4.3 參考的先前研究 [1] - 其策略一、策略二搭配績效分析表 . . . . . . . . . . 21
4.4 使用 4EMA、KD 搭配於各期間交易績效分析表 . . . . . . . . . . . . . . . 22
4.5 使用 4EMA、4MV 及 KD 搭配於 2013 年 5-10 月績效總表 . . . . . . . . . 25
4.6 參考的先前研究 [1] - 其策略五策略六搭配績效分析表 . . . . . . . . . . . 25
4.7 使用 4EMA、4MV 及 KD 搭配於各期間交易績效分析表 . . . . . . . . . . 26
4.8 4EMA 及 KD 搭配與 4EMA、4MV 及 KD 搭配績效比較表 . . . . . . . . . 29
4.9 使用 GA 於 MV 挑選搭配 EMA 及 KD 於各期間交易績效分析表 . . . . . 30
4.10 使用 4MV 搭配與用 GA 挑選 MV 作搭配 4EMA 和 KD 績效比較表 . . . . 32
x
一、 緒論
1.1 研究動機與背景
投資一直是許多人都會嘗試的項目,在眾多的投資方式中,股票市場投資往往是熱
門的標的,因為股市投資方式簡單且門檻相較其他投資方式也較低,而操作策略有非
常多,不論是長期投資、短線操作、炒作期貨等,要如何選擇操作方式及操作細節是
許多人努力研究的對象。
台灣期貨市場始於民國 87 年 7 月由台灣期貨交易所推出的台灣股價加權指數期貨,
直至今日發展已相當成熟,歷年成交量也大致呈現逐年上漲的趨勢,反映出台灣的期
貨市場顯然成為投資人避險或套利的重要工具。對於股票市場的分析方式可分成多個
派別,而作為其中一派的技術面分析至今仍舊廣受投資者們歡迎,其主要是利用統計
學的概念,利用過去股價及成交量的變化,以圖形或數字的方式,發展出技術指標,
而 John.J Murphy(1986) 在「Technical Analysis of Future Markets」[2] 曾提出歷史會一再
重演,投資人可以利用過去股價的變化資料或趨勢,預期未來的股價變動趨勢,因為
股價反應出所有總體經濟面、基本面、消息面及心理面的一切訊息,這也讓許多投資
者相信技術分析的確某種程度能夠反應股市的運作。在操作台指期貨時,因期貨市場
競爭激烈,有人賺錢就有人賠錢,且具備高風險、高報酬的特性,如果操作不慎很容
易就血本無歸,所以期貨交易的風險控管、停損停利的原則就相當重要。
要如何選擇停損停利也是一個學問,因為不論進場時發現和自己預測方向相同還是
不同,哪時該出場將決定獲利程度,停損停利的標準設太小則小賺小賠,且可能因為
指數波動的關係也許一開始小跌但之後大漲,而因停損關係在小跌得過程中就認賠殺
出造成損失,而標準設太大則大賺大賠,風險很高。
過去有許多透過技術分析方式建構交易策略以及當沖交易相關的研究 [3][4][5][6],
本研究希望透過技術分析方式及風險管理建構出一個可行且呈現正報酬的交易策略操
作方式。
1
1.2 研究目的
1.3 論文架構
本論文共分五章,各章節研究架構如下:
• 第一章: 緒論
說明研究動機與背景、研究目的及論文架構。
• 第二章: 相關技術理論與背景知識
介紹本研究所使用到的理論基礎與相關知識,分析當沖交易不同於一般交易的特
性,簡述所使用到的技術分析指標的特性及其優缺點,並且介紹演化計算與所使
用到的演化式演算法。
• 第三章: 研究方法
詳細介紹研究的假設與實驗區間,說明如何由先前研究 [1] 中所提技術指標使用
方式,搭配極短期 K 線找出進場時機,由基因演算法選出的停損停利點當作出場
依據,透過當日沖銷的方式及實際上可以操作的進出場點建構出整個交易策略進
行模擬交易。
• 第四章: 實驗結果
針對所進行的交易策略進行模擬交易,統整分析不同月份及不同年度的交易結果
細節資訊與績效。
2
• 第五章: 結論與未來展望
總結本篇論文的研究以及未來可以改進的方向。
3
二、 相關技術理論與背景知識
2.1 台指期貨
股價指數期貨是以特定股票市場未來某時點的股價指數為交易標的物之期貨合約,
相較於普通商品期貨其標的物是一種無形資產,是一種指數,屬於虛擬的,交易人僅
須支付契約價值一定百分比之保證金就能透過政府核准之期貨交易所進行期貨買賣,
買賣指數的盈虧是由進場到出場兩個時點的指數差來衡量再對應到實際金額。「台指期
貨」是台灣期貨交易所推出的產品,它的交易標的是臺灣證券交易所發行量加權股價指
數,是本研究主要研究的對象,相關介紹見表 2.1[10]。
項目 內容
交易標的 臺灣證券交易所發行量加權股價
指數
中文簡稱 臺股期貨
英文代碼 TX
交易時間 一般交易時段之交易時間為營業
日上午 8:45 下午 1:45
契約價值 臺股期貨指數乘上新臺幣 200 元
交割方式 以現金交割,交易人於最後結算
日依最後結算價之差額,以淨額
進行現金之交付或收受。
保證金 原始保證金: 83000 元
維持保證金: 64000 元
- 交易人必須於交易前繳交原始
保證金至期貨商指定的銀行帳
戶,若交易人虧損使保證金水位
低於維持保證金,則交易人必須
補足保證金至原始保證金水準。
2.2 當沖交易
所謂「當沖」,就是「當日沖銷」﹙Day Trading﹚的簡稱,一筆「當日沖銷」交易,
指的是在同一天之內,針對同一件投資標的,透過一買一賣的方式,達成沖抵、結清、
註銷交易的行為。大部分期貨交易人採取波段的交易策略,優點就是當趨勢出現順勢
4
時交易可獲取大波段行情,但相對於當沖交易風險較高,而風險小也是當沖交易的優
點,因為當日沖銷可避開投資環境、新聞報導、市場消息的影響,免除因留倉受上述
因素造成的淨值的損失。
2.3 技術分析
技術分析的原理來自於對金融市場百年來行為的觀察,已知最古老的例子可追朔到
日本的交易者在 18 世紀時所使用的一種交易方法,這個方法演變成 K 線為今日最主要
的圖表工具之一 [11],其他的技術分析在之後如雨後春筍般出現。技術分析主要是利用
交易市場上的各式資訊,以統計的概念加以整理,最後以圖形或是指標數字來呈現各
種不同的分析方式,其目的為找出未來交易市場的趨勢幫助投資者能在市場中獲利。
談到技術分析首先要提到技術分析的基礎,道氏理論 (Dow theory),是由查理斯.
道 (Charles Henry Dow) 提出,其後由 William Peter Hamilton 與 Robert Rhea 繼續對道氏
所提出的相關見解總結歸納,才使道氏理論有完整的理論結構,此理論提出了所有資
訊都反應在價格上,觀察市場發現可歸類三種趨勢:主要、次要、小型,主要趨勢有
三階段:承接、大眾參與、出貨。此外大盤指數和主要類股指數要有同向訊號,且確
定趨勢時要有成交量的確認,在明確反轉訊號發生前原有趨勢仍有效。之後開始陸續
有許多學者替技術分析建立假設,現今提到技術分析有以下三大假設:
1. 股價會隨趨勢而變動: 研究價格走勢的目的是希望順著趨勢方向進行交易,價格
會朝既有的趨勢方向發展直到趨勢反轉為止。
2. 歷史會一再重演: 投資人相信可利用過去股價變化的趨勢,預測未來股價變動的
方向,進而找到適當的進出場時機藉此獲利。
3. 市場行為預先反應一切: 股價將反映出所有訊息的結果,如政策面、消息面、基
本面、心理面。
簡述完技術分析的假設與理論,我們可以將技術分析方法設計的分析工具分成主要
的三種類型 [6] 如下:
1. 圖形分析:
利用市場價格所描繪的曲線型態,來判斷未來的趨勢。如:K 線理論、艾略特波浪理
5
論等。
2. 價格指標:
利用市場過去價格,經由統計方式處理,其主要有幾個概念:過去一段時間的買進成
本、一段時間內的累積漲跌等。如:移動平均線(MA)、相對強弱指標(RSI)、隨機指
標 (KD)、乖離率 (BIAS)、威廉指標等。
3. 量的指標:
利用市場成交量來判斷推動市場的能量,如:能量潮(OBV)、移動平均成交量等。
由上述可知目前坊間所使用的技術指標種類繁多,接下來的幾個小節將介紹本實驗
所使用到的技術指標。
6
圖 2.1: KD 指標計算的 pseudo code
指數移動平均是以指數式遞減加權的移動平均,移動平均的理論基礎是道•瓊斯的
「平均成平」概念,用統計處理的方式計算出一段時間內買入股票的平均價格,也就是
投資人的平均買進成本,移動平均幫助交易者確認現有的趨勢以及判斷未來將出現趨
勢的開始或是反轉,是當今應用最普遍的技術指標之一。相較於單純的移動平均線給
予每個價格一樣的權重 (算術平均),指數移動平均則是在權重上變化,給時間近者較重
權值,較舊的數據也給予一定的加權值,達到更加掌握短期訊號性質。本研究採取的
計算公式如下:
EM At = EM At−1 × n−1
n
+ Pt × n1 ,其中 EM At 為當下之指數移動平均數,Pt 為當下的
收盤價,n 為所取的時間 (幾根 K 線去取 EMA)
以 4EMA 為例 (4 根 15 分 K 線計算 EMA),計算 4EMA 的 pseudo code 如圖 2.2 所示
(in R language)。
7
圖 2.2: 4EMA 計算 pseudo code
成交量是指在某一段時間內的具體交易數量,成交量變化反映了資金進出市場的情
況,過去有許多研究顯示成交量隱藏著許多重要的市場資訊,可以簡單地從股市價格
與成交量間的關係判斷市場走勢,當價格上漲時,若成交量擴增表示市場交易熱絡,
股價有望持續上揚,但若成交量萎縮則走勢可能即將翻轉;當價格下跌時,若成交量
萎縮則行情可能反轉,但若成交量擴增則停損賣壓殺出或是股價已經超跌,進而吸引
到低接、抄底的買盤進場。總之成交量在操作股市時也是一個相當重要的參考依據。
本研究使用移動平均成交量 (MV) 作為搭配的技術指標,其計算方式為取一段時內
的成交量平均,計算 MV 的 pseudo code 如圖 2.3 所示 (in R language)。
2.4 演化計算
8
雜的最佳化問題上有相當好的表現。演化計算的應用範圍非常廣泛,舉凡生物醫學
領域、工程領域、電機相關領域、甚至財務分析 (Financial analysis) 與股市預測 (Stock
price prediction)... 等等,皆已有成功應用的實例。
本研究使用演化演算法中的基因演算法,利用「適者生存,不適者淘汰」之精神,
經由初始母體的演化、迭代的過程,保留較能適應某個特定環境 (較為優秀) 的子代,
最終所選出來的子代即為最能適應這個特定環境 (代表某最佳化問題) 的群體 (最佳解)。
基因演算法大致上有以下幾個重要的部分:
• 編碼 (Encoding):
每一條染色體(chromosome)即為一組解,而每一條染色體是由許多基因所組
成。在編碼的過程(為基因命名),有許多種方式,可以以二元(0,1)方式進行
編碼,或是以實數的方式進行。
• 選擇與複製:
針對 fitness function 的值,把每一條染色體由優至劣進行排列,選擇最優秀的一
定百分比的染色體進行複製 (根據 fitness function 計算的 fitness value)。
• 交配 (Crossover):
由選擇與複製所留下的染色體,選出兩條染色體,進行交叉互換相對位置,產生
下一代個體。
• 突變 (Mutation):
設定一突變機率,使染色體可能發生突變,其目的為避免掉入「區域最佳解」
(local optimum)。
9
整個基因演算法流程圖如圖 2.4 所示。
圖 2.4: 基因演算法流程圖
10
2.5 相關研究
本研究並不專注於發現新的技術分析方式,因此要使用那些技術指標以及如何做搭
配找出適當的進場時機參考了先前之研究 [1],此研究中有提出一些技術指標搭配的操
作策略,本研究基於那些所提出的搭配方式也變化出更多種的搭配方式,這些操作策
略由基因演算法去挑選適合的操作方式作為進場時機之判斷。最終實驗結果部分也會
和所參考之研究 [1] 的結果進行比較。
11
三、 研究方法
3.1 資料格式與研究期間
3.2 研究假設與限制
本研究取得上述台灣指數期貨歷史資料進行模擬交易實驗,不同於真實世界的交易
操作,在進行實驗時有以下的假設與限制:
1. 本研究以大台為研究標的,且交易大台皆以一口為單位。
2. 本研究進行交易模擬時,當進場訊號出現後進場的價格為下一分鐘收盤價,當初
場訊號 (停損、停利點數) 出現後同樣也是以下一分鐘收盤價交易出場。
3. 本研究為當沖交易,每個交易日結束前若還持有當日的買進的台指期貨時,以交
易日最後一分鐘收盤價全部賣出。
5. 在評估績效部分,每口交易成本僅考慮買進、賣出的來回手續費及交易稅,不考
慮其他因素影響 (ex: 滑價)。
12
3.3 交易策略設定
有了上述對於實驗的假設與限制,本小節對當沖交易策略進一步的說明,每個交易
日的每一筆交易可分成兩部分討論,如何進場以及如何出場,最後對於每筆交易的操
作方式詳細說明。
3.3.1 進場時機探討
好的進場時機一直是許多人研究的主題,本研究的進場時機是參考先前研究 [1] 的
技術指標搭配方式所制定,對於每個交易日都會以計算出來的十五分 K 線求出技術指
標,將算出來的技術指標做搭配,當出現符合所設定的條件時 (即滿足進場的交易策
略),就以下一分鐘的收盤價買進一口台指期貨 (由一分 K 線提供),選用的技術指標有:
價格指數移動平均線 (EMA),ex:4EMA 代表 4 根十五分 K 線價格指數移動平均線; 移動
平均成交量 (MV),ex:4MV 代表 4 根十五分 K 線移動平均成交量;KD 隨機指標,採 9
日 KD 值。採取隨機指標 KD 因其適用於短線操作模式,它涵蓋了一定時間內最高價與
最低價的概念,因此可以很靈敏地反映出價格的變化,若僅以隨機指標 KD 作為進場時
機判斷可能因此指標短線上可能有雜訊產生失去準確性,因此也用價格指數移動平均
線 (EMA) 幫助確認現有的趨勢以及判斷未來將出現趨勢的開始或是反轉,最後除了價
的指標外也加入量的指標-移動平均成交量 (MV),因為成交量是價的先行指標,當量增
時,價遲早會跟上來;當價升而量不增時,價遲早會跌下來。這些技術指標搭配的方
式有下面兩種:
策略一: 當 4EMA 初次呈現上揚趨勢且 KD 指標呈現 K 值 >D 值同時成立時進場做
多;當 4EMA 初次呈現向下趨勢且 KD 指標呈現 K 值 <D 值同時成立時進場做空。
策略二: 當 4EMA 初次呈現上揚趨勢且 4MV 呈現上揚以及 KD 指標呈現 K 值 >D 值
三者同時成立時進場做多;當 4EMA 初次呈現向下趨勢且 4MV 呈現上揚以及 KD 指標
呈現 K 值 <D 值三者同時成立時進場做空。
除了參考先前研究所制定採用的操作策略外,也使用基因演算法來挑選合適的技術
指標搭配方式,所設計的方法如下:
策 略 三: 對 策 略 二 進 行 改 良, 用 基 因 演 算 法 對 MV 進 行 挑 選, 從 1MV、2MV、
3MV、4MV、5MV、10MV、15MV、20MV 幾種不同的 MV 中選出一種與 4EMA 和
13
KD 指標進行搭配,所選出的 EMA、MV 和 KD 指標的操作方式和策略二的方式相同。
3.3.2 出場時機探討
擁有台指期貨要如何進行出場有很多方式,許多常見的方式是用滿足某些技術指標
組合鎖所定的條件時就進行出場,本研究則是以指數是否達到停損或停利點數來決定
出場,不管是達到停損或是停利點之前都繼續持有所買進的台指期貨,以買進指數為
基準正負多少點數當作停利點以及停損點,而停損及停利點數要設多少則是由基因演
算法來決定。由基因演算法來決定其主要原因為想由基因演算法挑出最佳的停損及停
利點,若以人為角度來挑停損損點、停利點數,要怎麼挑選多少點數當損點、停利點
以及若挑選的損點、停利點不好也會產生問題。以下是幾種可能會遇到的問題:
1. 若設的停損點、停利點太小會有以下狀況:
- 當出現大漲或大跌走勢在短時間內指數上漲或下跌超過百點,且與當初進場時
研判的趨勢相符合時,若停利點設太小在達到停利點數獲利出場後則會錯失緊接
而來的大行情,實在可惜。
- 當出現整體走勢和自己當初進場預測相同,但因為指數上下震盪達到所設置過
小的停損點而出場,錯失和自己預測走勢相同賺錢的機會。
2. 若設的停損點、停利點太大會有以下狀況:
當整體大台走勢和自己預設趨勢相反,這種情況能越早出場越好,但因設置的停
損點數太大要等到達到停損點才能出場將會造成過多的損失。
因為本研究採當沖交易,因此若當次交易進場所持有的台指期貨遲遲達不到停損、
停利點指數時,所持有之台指期貨均以當日收盤前以最後一分鐘收盤價全部平倉出場。
3.3.3 每筆交易的操作說明
上面小節說明了進場以及出場時機,每個交易日產生的每一筆交易操作細節可統整
成圖 3.1,由十五分 K 線計算的技術指標之組合找出進場時機後便以下一分鐘之收盤價
進場一口台指期貨,持有該台指期貨的某分鐘開盤價直到達到停損、停利點數時則以
14
下一分鐘收盤價平倉出場,若交易日收盤前遲遲達不到停損停損、停利點數則以該交
易日最後一分鐘收盤價出場。
因為是以下一分鐘收盤價平倉出場,真正出場的價格是下一分鐘的收盤價而非所達
到的停損或停利指數,因此做完每筆交易的損益點數不會剛好是停損或是停利點數,
可能比停損、停利點指數略高或是略低。另外,使用基因演算法於技術指標組合 (用
GA 去挑選 MV) 的架構圖見圖 3.2。
圖 3.1: 每筆交易進出場示意圖
圖 3.2: 用 GA 於進場時機判斷的每筆交易進出場示意圖
15
3.3.4 基因演算法 (GA) 找出交易策略參數
接下來說明本實驗使用基因演算法時採用的相關參數:
• 停損點、停利點以二進位方式編碼形成一個 individual,停損點、停利點的基因長
度皆為 5,也就是其數值是介於 1 至 31 間 (化成十進位後)。
16
兩個月做多損益點數以及做空損益點數,之後將總損益點數除以總交易次數所得
的比值當作 fitness value,其值越大代表要越好的表現。
• 用 GA 挑選 MV 版本 (策略三),不同 MV 搭配的策略將其策略總數以二進位方式
編碼和之前停損停利點以二進位方式編碼形成 individual,執行 GA。
3.4 模擬交易實驗設計
17
圖 3.3: 研究架構流程圖
18
四、 實驗結果
由上一章所提出的實驗方法,本章節對所進行的實驗進行整理和績效分析,對於
績效評估有以下幾個方式: 總損益點數、每次交易 (每 1 口大台) 的平均損益點數、考
量交易手續費及期貨交易稅後的實際損益金額,在計算實際損益金額部分,每筆交易
買和賣皆要支付手續費與期貨交易稅,在台灣期貨交易所 [10] 有提供費率作為參考見
表 4.1。
表 4.1: 台灣期貨交易所手續費
19
4.1 策略一: 使用 EMA 及 KD 搭配找出進場時機操作績效
月份 5 6 7 8 9 10
做多總次數 16 1 17 16 24 22
做多成功次數 14 1 15 11 18 11
做多失敗次數 2 0 2 5 6 11
做空總次數 17 21 12 12 9 17
做空成功次數 14 15 11 7 8 15
做空失敗次數 3 6 1 5 1 2
做多損益點數 104 6 141 251 309 83
做空損益點數 172 101 167 85 89 159
損益總點數 276 107 308 336 398 242
總交易次數 33 22 29 28 33 39
每口損益點數 8.364 4.864 10.621 12 12.061 6.205
停利點 8 11 14 23 25 30
停損點 24 16 12 16 16 24
20
表 4.3: 參考的先前研究 [1] - 其策略一、策略二搭配績效分析表
月份 5月 6月 7月 8月 9月 10 月
總進場次數 42 41 51 43 35 39
兩平次數 1 0 1 0 1 1
做多成功次數 14 10 17 14 8 12
做多失敗次數 7 9 10 6 6 9
做空成功次數 12 9 14 16 7 9
做空失敗次數 8 13 9 6 13 8
做多損益點數 80 32 180 264 83 21
做空損益點數 162 -72 159 219 -4 16
總損益點數 242 -40 339 483 79 37
每口損益點數 5.762 -0.976 6.647 11.233 2.257 0.949
為了驗證使用此進場策略操作之方式不會是短期才有效或是只存在特定期間內 (某
幾個連續月份) 有效的情況,本實驗將研究期間拉長至從 2013 至 2016 年進行模擬交
易,看看是否此交易策略長時間內都仍然有效,此策略於 2013 年至 2016 年各年度整年
的績效分析表見表 4.4。圖 4.2 顯示 4EMA 及 KD 搭配於 2013 至 2016 年各個月單月損
益總點數情況,而圖 4.3 則是顯示於此期間的各個月交易每口大台的損益點數 (損益總
點數/總交易次數)。
21
表 4.4: 使用 4EMA、KD 搭配於各期間交易績效分析表
考慮每筆交易買和賣所要支付的手續費與期貨交易稅,並將呈現方式從損益點數轉
換成實際金額,在本研究所假設的手續費計算下,於 2013 至 2016 年各個月份真實的獲
利金額 (單位: 新台幣元) 見圖 4.4供為參考,研究期間每個月皆呈現正報酬。
22
圖 4.3: 4EMA 及 KD 搭配於 2013 至 2016 年各個月每口損益點數
圖 4.5是本研究進行模擬交易於研究期間做多時累積上升點數以及做空時累積下降
點數的情況,即便會有判斷錯誤導致出現虧損點數的情況,但大致而言整體趨勢是一
致的。
23
圖 4.5: 4EMA 及 KD 搭配於研究期間累積點數情況
績效
除了使用價的指標判斷何時進場外,也考量加入移動平均量作為量的指標,利用
價量關係輔助大盤趨勢之判斷,使用 4 根十五分 K 線指數移動平均線 (4EMA) 和 4 根
十五分 K 線移動平均成交量 (4MV) 及 9 日 KD 值作為進場時機判斷,當 4EMA 初次呈
現上揚趨勢且 4MV 亦呈現上揚和 KD 指標呈現 K 值 >D 值同時皆成立時進場做多;當
4EMA 初次呈現下跌趨勢且 4MV 呈現上揚和 KD 指標呈現 K 值 <D 值同時皆成立時進
場做空。同樣的,此進場策略於 2013 年 5 月至 10 月操作績效及資訊見表 4.5。
24
表 4.5: 使用 4EMA、4MV 及 KD 搭配於 2013 年 5-10 月績效總表
月份 5 6 7 8 9 10
做多總次數 6 0 6 6 11 8
做多成功次數 4 0 6 4 7 6
做多失敗次數 2 0 0 2 4 2
做空總次數 8 9 6 1 5 7
做空成功次數 5 6 6 1 5 6
做空失敗次數 3 3 0 0 0 1
做多損益點數 38 0 110 95 117 129
做空損益點數 55 40 131 2 79 57
損益總點數 93 40 241 97 196 186
總交易次數 14 9 12 7 16 15
每口損益點數 6.643 4.444 20.083 13.857 12.25 12.4
停利點 20 12 24 25 24 24
停損點 8 16 24 17 24 17
月份 5月 6月 7月 8月 9月 10 月
總交易次數 33 41 44 37 35 37
兩平次數 1 1 1 0 0 1
做多成功次數 10 8 15 11 11 13
做多失敗次數 5 11 8 4 8 6
做空成功次數 8 10 13 12 7 9
做空失敗次數 9 11 7 10 9 8
做多損益點數 44 -23 231 285 80 137
做空損益點數 98 -49 102 113 14 -9
損益總點數 142 -72 333 368 94 128
每口損益點數 4.303 -1.756 7.568 9.946 2.686 3.459
在他實驗的研究期間內,本實驗損益總點數在各個月份點數皆為獲利狀態,雖然本
實驗損益總點數在 5、7、8 月皆輸且 8 月總點數輸很多,但若考慮到總交易次數可發現
本實驗次數遠少於他的實驗 (模擬交易操作方式和策略設計不同所導致),本實驗在交易
每口大台的損益點數均比其表現要好 (損益總點數/總交易次數),比較圖見圖 4.6。
25
圖 4.6: 使用 4EMA、4MV 及 KD 搭配 - 每口台指期損益點數比較表
同樣驗證使用此進場策略操作於長時間內是否都仍然有效,此策略於 2013 年至
2016 年各年度整年的績效分析表見表 4.7。圖 4.7 顯示 4EMA、4MV 及 KD 搭配於 2013
至 2016 年各個月單月損益總點數情況,而圖 4.8 則是顯示於此期間的各個月交易每口
大台的損益點數 (損益總點數/總交易次數)。
26
圖 4.7: 4EMA、4MV 及 KD 搭配於 2013 至 2016 年各個月損益總點數
27
還是做空所呈現的整體趨勢是一致的。
28
由實驗結果可以發現,使用 EMA 及 KD 搭配的操作策略再加上 MV 做搭配後,交
易次數呈現大幅降低趨勢,也因此損益總點數部分輸給單純 EMA 及 KD 搭配的操作
策略,但平均每筆交易 (每口大台) 損益點數則是勝過單純 EMA 及 KD 搭配的操作策
略,可驗證多加量的指標作搭配的確能幫助在每次進場交易時有更佳的獲利,比較表
見表 4.8。
4EMA 及 KD 搭配 4EMA、4MV 及 KD
搭配
2013 年損益總點數 | 總交易次數 2951 | 343 1376 | 131
2014 年損益總點數 | 總交易次數 3069 | 292 1369 | 115
2015 年損益總點數 | 總交易次數 4448 | 360 2017 | 146
2016 年損益總點數 | 總交易次數 3885 | 382 2106 | 147
損益總點數 | 總交易次數 14353 | 1377 6868 | 539
平均每筆交易 (每口大台) 損益點數 10.423 12.742
場時機操作績效
我們也嘗試使用基因演算法於找尋技術指標搭配方式,以策略二進行改良,不在只
是用固定的 4MV 作搭配,而是從 1MV、2MV、3MV、4MV、5MV、10MV、15MV、
20MV 幾種不同的 MV 中選出一種與 4EMA 和 KD 指標進行搭配,所選出的 EMA、MV
和 KD 指標的操作方式和策略二相同。同樣驗證使用此進場策略操作於長時間內是否都
仍然有效,此策略於 2013 年至 2016 年各年度整年的績效分析表見表 4.9。圖 4.11 顯示
於 2013 至 2016 年各個月單月損益總點數情況,而圖 4.12 則是顯示於此期間的各個月
交易每口大台的損益點數 (損益總點數/總交易次數)。
最後也提供考慮每筆交易買和賣所要支付的手續費 (採本研究所假設的每次 100
元) 與期貨交易稅,於 2013 至 2016 年各個月份真實的獲利金額 (單位: 新台幣元) 見
圖 4.13作為參考,研究期間每個月皆呈現正報酬。同樣的,圖 4.14為本研究進行模擬
交易於研究期間做多時累積上升點數以及做空時累積下降點數的情況,大致而言,不
管是做多還是做空所呈現的整體趨勢是一致的。
29
表 4.9: 使用 GA 於 MV 挑選搭配 EMA 及 KD 於各期間交易績效分析表
30
圖 4.13: 使用 GA 於 MV 挑選與 4EMA 和 KD 搭配於 2013 至 2016 年各個月損益金額
31
由實驗結果可以發現,使用基因演算法對 MV 進行挑選相較於單純使用 4MV 去搭
配 4EMA 和 KD 有更好的表現,說明使用 4MV 搭配在研究期間的各個月份並非均是最
好的選擇,比較表見表 4.10。
使用 4MV 搭配 4EMA 用 GA 挑選 MV 搭配
和 KD 4EMA 和 KD
2013 年損益總點數 | 總交易次數 1376 | 131 1948 | 149
2014 年損益總點數 | 總交易次數 1369 | 115 1706 | 140
2015 年損益總點數 | 總交易次數 2017 | 146 2313 | 155
2016 年損益總點數 | 總交易次數 2106 | 147 2307 | 163
損益總點數 | 總交易次數 6868 | 539 8274 | 607
平均每筆交易 (每口大台) 損益點數 12.742 13.631
32
五、 結論與未來展望
5.1 結論
本研究以大台作為研究對象,用技術指標與基因演算法設計進出場策略進而建構出
當沖交易策略機械化操作模型架構,本研究使用了三種操作策略,這三種策略差異在
於進場時機判斷,策略一在進場時機判斷只有單純的價的指標去搭配操作 (4EMA 和
KD),策略二加入量的指標 4MV 一同搭配操作,策略三則是改良策略二用基因演算法
進行輔助設計。從實驗結果來看,此三種策略在 2013 至 2016 年間均能夠有正報酬的情
況,並非只適用在短期或特定期間,在指標搭配部分,用越多指標進行搭配會減少交
易的次數但每次交易的損益點數會上升,而基因演算法能夠協助操作者找出更好的搭
配方式。
5.2 未來展望
目前本實驗僅採取幾種常用且基本的技術指標搭配作為進場時機判斷依據,未來可
以嘗試更多不同的技術指標去搭配,每種技術指標都有其運用的時機與優缺點,或許
能發現更好的搭配方式;也可以從演化演算法設計上改良,目前本實驗僅對 MV 作挑
選,未來可以繼續發展選取更多的技術指標設計演化演算法去進行參數選擇,找出更
棒的進場判斷方式使獲利增加。此外本實驗用十五分 K 線和一分 K 線搭配設計交易操
作,未來可以嘗試更多不同分鐘的 K 線,或用多種不同分鐘數的 K 線進行輔助設計新
的操作方式,看能否有更佳的獲利績效。同時,也希望能加入更多財經相關知識使整
個所建構的交易策略更好更完善。
目前本實驗有多個實驗假設,未來可以加入更多財經領域的專業進而考慮更多實際
上會遇到的情況去改良操作策略,讓實驗結果更貼近於真實會發生的結果,且本研究
目前是用過去幾年的歷史資料以程式進行模擬交易,未來希望能發展出真正能夠自動
進行交易的交易系統,能與券商所提供的 API 對接,直接進行下單交易而不在只是用
歷史資料進行模擬操作。
33
參 考 文
[2] J. J. Murphy, Technical Analysis of the Futures Markets: A Comprehensive Guide to Trad-
ing Methods and Applications. Prentice Hall Press, 1986.
[3] H. Bessembinder and K. Chan, “The Profitability of Technical Trading Rules in the Asian
Stock Markets”, Pacific-Basin Finance Journal,” Pacific-Basin Finance Journal, vol. 3,
issue 2-3, pp. 257–284, 1995.
[7] T. Bäck, Evolutionary algorithms in theory and practice: evolution strategies, evolution-
ary programming, genetic algorithms. Oxford University Press Oxford, UK ©1996,
1996.
[8] M. Radeerom, “Building a Trade System by Genetic Algorithm and Technical Analysis
for Thai Stock Index,” ACIIDS 2014: Intelligent Information and Database Systems, pp.
414–423, 2014.
[9] C. Neely, P. Weller, and R. Dittmar, “Is Technical Analysis in the Foreign Exchange Mar-
ket Profitable? A Genetic Programming Approach,” JOURNAL OF FINANCIAL AND
QUANTITATIVE ANALYSIS, vol. VOL. 32, NO. 4, pp. 405–426, 1997.
34
[11] S. Nison, Beyond Candlesticks: New Japanese Charting Techniques Revealed, S. Nison,
Ed., 1994.
35
一
36