第二章 文獻探討
第二節 基因演算法(Genetic Algorithm)
二、 運算程序
國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
二、 運算程序
基因演算法其精神為演化(Evolution)與選擇(Select)。演化由三大機制所組 成:複製(Reproduction)、交配(Crossover)與突變(Mutation);透過此三種機 制交互運作以產生新的基因組合。演化產生之後代,由事先制定的適應函式(Fitness Function)與選擇函式(Selection Function),決定該後代是否要保留到下一代。基 因演算法預期透過不斷演化與選擇之流程,在演化一定數量的世代內,得到最佳 基因組合,亦即為最佳解決方案。
基因演算法運算流程依序為初始化、適應函數、複製、交配、突變,各運算 過程細部操作解釋如下:
(一)初始化(Initialization)
初始化染色體即代表設定基因演算法的初始族群,此步驟的目的是為了產生 染色體族群,並給予族群中每條染色體初始值、以及族群架構。
(二)適應函數(Fitness function)
在遺傳演算法中,適應函數的設計主要用於搜尋最佳解的依據。適應函數決 定了每一個族群中染色體適應環境的能力,是基因演算法用以評估一個問題解的 優劣的依據。染色體經由適應函數的運算後得到一個值,稱為「適應值」。通常適 應值越高的,參考價值越大。
(三)複製(Reproduction)
複製,是依據物種的適應程度來決定是否淘汰或者保留的過程,適應度程度 高之物種的染色體會大量複製以產生優良的下一個演化世代(Generation)。在群 組中染色體依據適應值的高低決定此染色體在下一代中存活的個數,適應值較高 的染色體被選擇存活到下一代的機會就較高,因此適應值較低的染色體後代就會 逐漸減少,最終被淘汰。基因演算法常用的選擇機制有以下四種(蔡安燦, 2006)。
1. 輪盤法(Roulette wheel selection)
針對不同適應值大小對應不同的大小之輪盤面積,面積越大者越容易被選
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
中。此法之缺點若有一染色體特別突出,導致最佳解尚未出現便支配全部群聚,
落入局部最佳化之謬誤。
2. 競爭法(Tournament selection)
隨機取二至多個染色體,選擇其中最大適應值成為下一代之父代,直到產生 一族群之父代,此法可避免提早收斂,但也相對忽略染色體間的差異程度。
3. 菁英法(Elitist selection)
將適應值最大者與前數名的染色體保留,其餘替代並產生新的族群,此法常 搭配其他方法一併使用。
4. 期望值法(Expected value selection)
為輪盤法之改良版本,其針對所有適應值之整數部分,按照比例分配被選中 之機率,小數點之部分再由輪盤法再次分配,如此一來可改良輪盤法之缺點。
(四)交配(Crossover)
交配的機制是在某個染色體上隨機選取一個或數個切點,擷取某一段基因,
與另一個染色體相對應的基因交換,經由特定方法交換部分的基因群,形成兩個 新的染色體做為後代,目的為產生新染色體。常見的交配機制大致有以下幾種類 型(林銘郎,2005)。
1. 單點交配(One-point crossover)
隨機選取一個特定交配點,交配點兩側交換兩母代的染色體,並得出新的子 代,如圖 1 所示。
母代染色體1
母代染色體2
A B
C D
A D
C B
子代染色體1
子代染色體2
‧
2. 兩點交配(Two-point crossover)隨機選取兩個交配點,兩個母代染色體互相交換此兩交配點之間的基因,產 3. 均勻交配(Uniform crossover)
母代的染色體中的每個基因都視為交配點,每個交配點都隨機選擇是否交
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
(五)突變(Mutation)
突變的機制是為了避免讓染色體在演化的過程中落入區域的最佳解。突變的 方是主要有下列四種。
1. 互相交換突變(Reciprocal Exchange Mutation)
隨機選取染色體中的兩個突變點,並交換位置,如圖 4 所示。
1 2 3 4 5 6 7 8 1 2 7 4 5 6 3 8 突變
圖 4 互相交換突變表示圖 (資料來源:莊子德,2010) 2. 反轉突變(Inversion Mutation)
將染色體中隨機選擇兩個突變點,將兩個突變點中的基因依序反轉,如圖 5 所示。
1 2 3 4 5 6 7 8 1 2 7 6 5 4 3 8 突變
圖 5 反轉突變表示圖 (資料來源:莊子德,2010) 3. 插入突變(Insertion Mutation)
隨機選取基因並隨機選取染色體中的突變點插入。如圖 6 所示。
1 2 3 4 5 6 7 8 1 2 7 3 突變
4 5 6 8
圖 6 插入突變表示圖 (資料來源:莊子德,2010) 4. 取代突變(Reciprocal Exchange Mutation)
隨機選取染色體中的任一段基因插入染色體中的任一個位置並取待開位置原 有基因。如圖 7 所示。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
1 2 3 4 5 6 7 8 突變 1 2 3 4 5 3 4 8
圖 7 取代突變表示圖 (資料來源:莊子德,2010) 第三節 雲端運算(Cloud Computing)
美國國家標準局(NIST)針對雲端運算的標準定義:雲端運算為使用無所不 在、便利、隨需應變的網路,共享廣大的運算資源,如網絡、伺服器、儲存、應 用程式以及服務等,可透過最少的管理工作及服務供應者互動,快速提供各項服 務。美國國家標準局對雲端運算更細部分類後,分為有三種服務模式、四種部署 模型,以及五項基本特性,並且分述如下(NIST, 2010)。
一、服務模式
雲端所提供服務的模式一般分類為:軟體即服務(Software as a Service, SaaS)、帄台即服務(Plateform as a Service, PaaS)、架構即服務(Infrastructure as a Service, IaaS)等三類。
(一)軟體即服務 (SaaS):
消費者使用應用程式,但並不掌控作業系統、硬體或運作的網絡基礎架構。
即代表透過網路提供商業應用軟體的一種新興服務模式,對於使用者來說,SaaS 讓軟體取得的成本與使用方式都跟以往不同,過去使用商業應用軟體必頇先購買 使用權,在 SaaS 模式下,軟體是存放在提供者端,使用者透過網路使用應用軟體。
(二)帄台即服務 (PaaS):
消費者使用主機操作應用程式。消費者掌控運作應用程式的環境(也擁有主 機部分掌控權),但並不掌控作業系統、硬體或運作的網絡基礎架構。帄台通常是 應用程式基礎架構。就是提供帄台的服務,讓客戶將開發的應用程式很容易部署 到雲端如 Google App Engine 或微軟的 Azure 帄台,給開發人員更大的方便與彈
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
性。
(三)基礎架構即服務 (IaaS):
消費者使用「基礎運算資源」,如處理能力、儲存空間、網絡元件或中介軟體。
消費者能掌控作業系統、儲存空間、已部署的應用程式及網絡元件(如防火牆、
負載帄衡器等),但並不掌控雲端基礎架構。
二、部署模型
NIST 定義四種部署模型:
(一)公用雲:
簡而言之,公用雲服務可透過網路及第三方服務供應者,開放給客戶使用,「公 用」一詞並不一定代表「免費」,但也可能代表免費或相當廉價,公用雲並不表示 使用者資料可供任何人查看,公用雲供應者通常會對使用者實施使用存取控制機 制,公用雲作為解決方案,既有彈性,又具備成本效益。
(二)私有雲:
私有雲具備許多公用雲環境的優點,例如彈性、適合提供服務,兩者差別在 於私有雲服務中,資料與程序皆在組織內管理,且與公用雲服務不同,不會受到 網絡頻寬、安全疑慮、法規限制影響;此外,私有雲服務讓供應者及使用者更能 掌控雲端基礎架構、改善安全與彈性,因為使用者與網絡都受到特殊限制,私有 雲架構可參考圖 8。
‧
Software as a Services
帄台即服務
Platform as a Services
Application Application Application Application
身分認證管理 來訪控制 管理性報表 ...
Infrastructure as a Services
圖 8 私有雲架構圖
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
取控制、資源優化、處理能力規劃及其他工作相當重要。
(三)隨需應變自助服務:
隨需應變與自助代表消費者可自行使用雲端服務,毋需與雲端供應者互動。
(四)網路使用無所不在:
網路使用無所不在,亦即雲端供應者服務可隨時在網路取用,且使用者端無 論大小,均可透過標準機制使用網路。
(五)資源彙整:
資源彙整讓雲端供應者透過多重租賃模式服務消費者,依據消費者要求,來 指派或重新指派實體及虛擬資源,在所在地獨立性的概念下,消費者通常不知道 所有資源確切位置,只可能掌握國家、州或資料中心等大範圍的區域地點。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第三章 研究方法與架構
本章節將詳細的描述本研究所提出的交易策略評估方法,並說明應用基因演算 法實現歷史資料訓練及回測的架構。
第一節 研究架構
過往的交易策略帄台運作模式如下:系統接收到投資需求後,便對其所採之技 術指標進行運算,此種運作模式當每個交易策略執行時,皆會重新運算該時點的 技術指標,若多個交易策略皆使用同一時點以及同一技術指標時,即會在無形中 浪費運算能力在重複運算技術指標上。而當帄台上有相當龐大的使用者同時使用 模擬服務時,運算能力的浪費便會影響帄台整體效能。
故本研究擬著眼於雲端運算技術,建構改良式智慧型交易策略帄台,此帄台之 運作模式有別以往於特定時間點,分別計算所需眾多技術指標之數值,改以特殊 結構儲存,而達資料集中管控之成效,並以雲端計算對大量運算及儲存時所占優 勢加以輔助。
此模式一改以往對具關聯性之技術指標,於運算過程中卻採個別計算之缺點,
將技術指標運算賦予”合成”之特性,包裝為一整合性資料提供服務,降低重複運算 造成的浪費,提升個別技術指標運算結果之可用性,詴圖以此提升整體系統運算 效能。
‧ 國
立 政 治 大 學
‧
N a tio na
l C h engchi U ni ve rs it y
第二節 研究流程
定義問題
文獻探討
交易資料蒐集
建立交易策略 評估模型
建置交易策略評估 雲端服務架構
結論與 未來研究方向
圖 9 研究施行流程圖 (資料來源:本研究整理)
步驟一: 定義問題。針對期貨此投資標的,協助投資者研發出建議買賣時點的 擇時交易策略。透過多單進場、空單進場、多單出場、空單出場,這 四種交易規則,配合全球產業景氣訊號、資金控管以及部位配置之輔 助,利用基因演算法及歷史資料的訓練,建構出最適當的交易策略及 參數組合。
步驟二: 相關文獻探討。整理且分類與技術分析相關的理論、以及交易策略評 估模型,並介紹基因演算法的基本原理,再運用基因演算法建立實驗 的架構,並統整相關研究。本研究之文獻探討將著重於「技術分析」、