• 沒有找到結果。

第二章 文獻探討

第五節 基因演算法

立 政 治 大 學

Na tiona

l Ch engchi University

第五節 基因演算法

基因演算法是由密西根大學學者 Holland(1975)根據自然界生物演化過程 所設計的一套演算法。其主要概念在於模擬自然界中「物競天擇,適者生存」的 演化法則,藉由一代接著一代的模擬演化,來找出目標問題的最佳解。以下將簡 單介紹基因演算法之運作流程:

圖 4、基因演算法運作流程圖 (資料來源:本研究整理)

1. 染色體編碼(Chromosome encoding):將目標問題的所有可能解答編碼 成方便進行演化運算的格式。

2. 適應函數(Fitness function):設計一套用來評估染色體適應程度的指 標。

3. 根據適應函數計算所有染色體的適應程度。

4. 評估所有染色體的適應程度,如果滿足終止條件,則停止演化,如果尚 未滿足,便繼續進行演化。

5. 挑出演化中適應力高的染色體族群。

6. 交配(Crossover):將高適應力的染色體相互交換基因以產生下一代染

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

7. 突變(Mutation):隨機抽選部分染色體基因進行調整。

8. 重新計算交配與突變後的染色體適應程度,並重複步驟 4。

由於基因演算法具有高度解釋力,目前廣泛的被應用於半導體產業、航太工 業、生技產業與財務金融等領域。關於基因演算法在本研究中之實際應用方式將 於第三章做詳細說明。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第三章 研究流程與系統架構

傳統的系統化交易策略設計方法是由具有經驗的交易策略設計者,根據本身 對各項量化技術指標的了解,將各指標互相搭配組合成一套的程式交易策略,再 透過代入過往交易的歷史資料來進行回測。在多次的反覆調整策略與參數之後,

最終產生出優秀的交易策略。傳統的策略設計方法產生出高品質的交易策略,但 相對的此模式所需的進入門檻較高,交易策略設計者必須具備相當充足的金融市 場相關知識與程式撰寫能力。

本研究的交易策略發展模式係由一套內建大量交易規則的基因庫中選取若 干交易規則組成一套交易策略,再將交易策略視為染色體,運用基因演算法「物 競天擇」的特性(詳細運作流程會在後面篇章介紹)從廣大的染色體族群中選出 優秀的交易策略。除了內建的基因庫之外,使用者亦可以進階設定的方式將優秀 的交易策略加入基因庫,進一步提升最終產出的交易策略品質。此模式除了能產 生優秀的交易策略外,亦大幅降低了使用者的進入門檻。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第一節 研究流程

圖 5、本研究之研究流程圖 (資料來源:本研究整理)

步驟一: 定義問題。

本研究將針對臺灣上市上櫃股票與臺灣指數期貨建議買賣時點的擇時交易 策略。配合資金控管模式之輔助,利用基因演算法,藉由歷史資料的訓練找出最 適當的交易策略。

步驟二: 文獻探討。

整理建構基於 Hadoop 雲端運算架構之策略交易與回測模擬平台所需之各項 技術與理論,包含雲端運算、Apache Hadoop、技術分析與基因演算法等相關知 識。

步驟三: 建立策略交易與回測模擬平台。

基於文獻探討中所討論之各項技術與理論,設計出適宜本研究使用之模型與 架構,進而實作開發。

步驟四: 找出績效良好之交易策略。

在策略交易與回測模擬平台開發完成後,將臺灣上市上櫃股票與臺灣指數期 貨之歷史資料匯入,並運用本研究所提出之模型,測試各種不同的基因演算法參

定義問題 文獻探討

結論與未來研 究方向 建立策略交易 與回測模擬平

系統架構調整 與效能調校 找出績效良好

之交易策略

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

數,找出績效良好之交易策略。

步驟五: 系統架構調整與效能調校。

重新檢討系統架構並進行調整以改善系統運作效率。

步驟六: 結論與未來研究方向。

探討本研究的發現、貢獻,對於不足或缺失的部分,提供可行的改善方案及 未來研究方向。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第二節 系統架構

本研究之系統主要可分為三大區塊,分別為市場狀態計算模組、基因演算法 模組及前端網頁使用者介面,如下圖。

圖 6、系統架構圖 (資料來源:本研究整理)

以下章節將對此三大區塊逐一進行詳細介紹:

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

一、市場狀態計算模組

圖 7、市場狀態計算模組架構圖 (資料來源:本研究整理)

本研究中所稱之市場狀態係在某一時間點上,某項金融商品的所有技術分析 指標值與該商品於本研究之基因庫中所有基因的狀態。在市場狀態計算模組的部 分,先由 Data Input Server 負責介接市場交易資訊,並將市場交易資訊轉化為可 用的輸入格式,存入 HDFS,作為市場狀態計算模組的輸入資料。

Data Input MapReduce Controller 會定期檢查 HDFS 上是否有未處理的市場 交易資訊,如果有的話,就會啟動 Data Input MapReduce job,將 HDFS 未處理 的市場交易資料,交給各個 Mapper 進行技術指標與基因狀態的計算。由於技術 指標之間存在著相依性,例如 BIAS 指標的計算需要用到 MA 指標的值,MACD 指標的計算需要用到 EMA 指標。因此 Data Input MapReduce Controller 會控制各 個指標 Mapper 運算的先後順序。各個 Mapper 在計算完成後會將結果寫入 Systolic Rib Net(將於下一段詳細介紹),供其他相依的技術指標 Mapper 運算時使用。

技術指標 Mapper 運算完成之後,TA Reducer 會將計算完成的結果蒐集之後存入

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

HBase。

Systolic Rib Net(以下簡稱為 SRN),中文譯為「收縮式肋骨網絡」,是一種 利用人類的脊椎構成概念來儲存金融商品交易資料的資料結構。在 SRN 中,將 每一個單位時間的交易資料存成一個 Vertebra(脊椎骨),由多個連續的 Vertebra 組成一條 Spine(脊椎),一條 Spine 為一金融商品在某個時間粒度之交易資料的 主軸。Spine 為一時間數列,而由於資料具有連續性的特性,每筆最新的原始資 料會隨著時間的推移,一筆一筆加入至 Spine 的最前端,也就是說,Spine 會隨 著時間的推移而生長。由於 Spine 為一時間數列,在 Spine 中的一個 Vertebra 可 視為此時間數列的一個時間點。在這個時間點下的所有市場狀態資料將形成多條 Rib(肋骨),連接在所屬的 Vertebra 之上。在 Rib 上所儲存之資料,依取用方式 上的不同可分為 Horizontal 與 Vertical 兩種形式。Horizontal Data 是將 Rib 中的某 一項技術指標或是基因狀態,以橫向時間序列的方式取出;Vertical Data 則是在 某一個時間點下包含 Vertebra 本身的所有市場狀態資料。

圖 8、SRN Model 示意圖 (資料來源:本研究整理)

SRN 能夠支援不同的時間數列,並包含在一個 SRN 群內,也提供不同目標

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

的資料運算。以期貨為例,使用者對於一支期貨做回測時,可選擇不同的時間精 度,以秒、分鐘、小時做運算時,不同的時間精度需要不同的資料,因此能夠使 用時間粒度為以秒為單位之 SRN,以分鐘為單位之 SRN,及以小時為單位之 SRN,

這三個 SRN 將會被包含在同一商品的 SRN 群內。若使用者需要對以小時為單位 之 SRN 做 MACD 指標之運算,則 SRN 中便有為了計算 MACD 之資料的 Rib,

為了不同的計算目標,SRN 提供不同的 Rib 來儲存。

本研究為了降低回應時間(Response Time),採用預先計算的方式,在進入 基因演算法演算階段前,就先將所有市場狀態計算完成並存放在 SRN 結構之 中。

二、基因演算法模組

根據應用問題的不同,套用基因演算法也需要進行一些調整,以下將介紹基 因演算法在本研究中應用之設計概念與系統架構。

(一)基因演算法模組設計概念

1.基因庫

基因是由一個或多個技術分析值所組成的一組判別式,是組成染色體且可抽 換的最小單位,而此判別式的值則稱為基因狀態。基因庫是本研究中所有基因的 集合。本研究整理了常用之技術分析指標與K線型態,並依其不同之特性,設計 成若干不同之基因,詳細整理請參閱附錄二。

2.染色體編碼

一條染色體代表一個交易策略,由多組前述定義之基因所組成,並分為兩大 部分-買進訊號與賣出訊號。每組基因具有一個權重值,當買進(賣出)訊號內

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

則發生對應的買進(賣出)訊號。

圖 9、染色體編碼示意圖 (資料來源:本研究整理)

3.適應函數

適應函數所代表的是染色體的生存規則,亦是用來評估每個染色體代表問題 解的優劣,不良的適應函數將會導致染色體錯誤的演化方向及結果。本研究以交 易策略之報酬率來做為適應程度衡量的依據。回測後,系統將評估染色體的適應 值,適應值越大表示該染色體內之基因越有機會被保留繼續演化。

4.交配

交配指的是在演化過程中,具有高適應力的染色體交換彼此基因產生下一代 染色體的過程。在本研究的設計中,染色體之間的交配有兩種模式,一種模式為 買賣訊號的整組基因交配,另一種模式為買賣訊號的部分基因交配。

買賣訊號的整組基因交配指的是在交配時,前代的染色體將買進或賣出訊號 以不切割的方式完整地移轉至下一代染色體上。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

圖 10、整組基因交配示意圖 (資料來源:本研究整理)

買賣訊號的部分基因交配則是前代的染色體只將部分的買賣訊號基因移轉 至下一代染色體上。

圖 11、部分基因交配示意圖 (資料來源:本研究整理)

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

5.突變

突變係指在演化過程中,染色體中的基因隨機產生變化的情況。本研究中基 因突變的方式有兩種,一種是基因位置交換突變,一種是基因參數突變。

基因位置突變是以交換買進訊號基因與賣出訊號基因位置的方式來產生突 變。

圖 12、基因位置突變示意圖 (資料來源:本研究整理)

基因參數突變則是以隨機抽換基因的方式來產生突變。

圖 13、基因參數突變示意圖

圖 13、基因參數突變示意圖

相關文件