• 沒有找到結果。

第二章 文獻探討

第七節 支撐向量機

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第七節 支撐向量機(Support Vector Machine)

支撐向量機 (Support Vector Machines, SVM)是一種 類(Classification)演算法,

由Vapnik及其他合作者在1992年根據統計學習理論提出的一種新的監測式學習 (supervised learning)方法(William H., Teukolsky, Saul A., Vetterling, William T.,

Flannery, B. P. , 2007)

SVM與傳統機器學習技術的差別在於,它可處理線性與非 線性問題,並且不會受到資料量大小之限制,能從有限訓練樣本得到決策規則對 獨立的測試集仍能夠得到較小的誤差,而不需事先提供充足的資訊範圍

SVM 的主要概念係針對訓練資料集, 用定義的特徵值,以數學的方式訓練 函數,計算出一個最理想的超平面(hyper-plane),透過此超平面 類測試資料判斷 其準確率,當準確率超過一標準值且具意義時,即可 類新的 知資料,將所有 欲 類的資料快速 類至正確的類別(胡翠峰, 2004)

圖 8.支撐向量機示意圖

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

本研究將所有 TA 視為一個集合 set(TA1 TA2 TA3…TAn),並透過訓練得來 的 model 將此集合之成員在超平面下進行 類,以決定目前的投資動作,如買進 觀望 賣出 續抱等 採用支撐向量機做為運算交易策略績效的演算法,以每日 交易資料進行多次訓練及測試,產生之策略 有 97%指示投資者應做多而實際也 為多頭 場之準確率,20%指示投資者做多但實際應做空之機率,測試結果顯示採 用支撐向量機做為本研究策略之演算法可行

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y 第三章研究流程與系統架構

第一節 研究流程

圖 9.研究流程圖

(資料來源:本研究整理)

步驟一:緒論

說明本研究的目的與使用平行運算建置的原因 步驟二:文獻探討

整理建構基於平行運算 HBase 雲端運算資料庫 JMX 管理架構 JBoss 企業 級應用程式伺服器平台與 JMS 訊息交換中介軟體之策略挑選與模擬交易平台所需 之各項技術與理論

步驟三:建立交易平台的平行運算機制

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

架構,進而實作開發

步驟四:平行運算效能測試

平行計算機制完成後,觀察資源 用率 各工作之平均運算時間等,找出本 研究平台交易室的運算量與所需運算資源,進一步 用Amdahl’刪 law 得出本平台 中之平行運算比例

步驟五:結論與 來研究方向

探討本研究的發現 貢獻,對於不足或缺失,提供可行的改善方案及 來進 一步的研究方向

Management Extensions)作為管理架構,以 JMS(Java Message Service)為訊息中介 軟體,並在 JBoss 企業級應用程式伺服器平台實現平行運算 資料層則使用 HBase 雲端運算 散式資料庫,HBase 則建構於 Hadoop 雲端運算平台之上

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 10.平台系統運作架構圖

(資料來源:本研究整理)

本研究所實做系統平台可 為五大模組: 別為規劃室 交易室 下單機 資料 存取室以及 場狀態室

圖 11.模擬交易平台流程圖

(資料來源:本研究整理)

1.規劃室: 為策略產生器 演算法模組 統計模型模組及歷史回測模組 (1)策略產生器

策略系由一個或多個技術 析值所組成的一組判別式 本研究整理了常用之 技術 析指標與K線型態,並依其不同之特性,設計成若干不同之策略

一個交易策略 為兩大部 -買進訊號與賣出訊號 每組策略具有一個權重

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

2.交易室模組: 為策略監控模組及交易報告匯總模組 (1)策略監控模組

用先前在規劃室產生的交易策略,並接收 場狀態運算模組產生的即時 場狀態,對特定的投資標的產生買賣訊號,供投資者參考

(2)交易報告彙總模組

當使用者在策略監控模組觀察到交易訊息產生後,使用者可以選擇下單,交 易報告匯總模總會將使用者的下單請求送至外部下單機,並將交易結果回傳給使 用者 若是進行期貨投資,交易報告彙總模組會自行下單,並回傳結果

3.下單機 (1)下單模組

與券商介接的下單功能,供投資者在交易室觀察產生買賣訊號的特定標的 並下單 下單功能的設定根據使用者投資的 場而有所不同 股票 場需使用者 手動確認才能下單,而期貨 場為求效率則為自動下單

圖 12.交易室 use case diagram

(1)HBase Reader

當規劃室需要歷史股價做為產生交易策略和歷史回測所需的輸入資料時,

HBase Reader 會從 HBase 散式雲端資料庫中讀取所需標的 KBar 資料以及經過技 術指標計算的買賣規則

(2)HBase Writer

HBase Writer 主要的功能是將資料寫進 HBase 資料庫 將使用者在規劃室產生

的策略存回資料庫;另一方面,也提供 場即時狀態非同步地寫入資料庫 場

狀態運算模組將運算結果放入 JMS 通道,HBase Writer 會訂閱相關的 JMS Topics,

將 場狀態資料自 JMS 移至 HBase 如此一來, 場狀態運算模組不用直接參與 Messaging Service(JMS)訊息交換通道中接收經過即時報價接收器轉換成各個時間

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

重新丟進 JMS 訊息交換通道,讓 HBase Writer 將其寫入資料庫 本研究總共使用 11 種技術指標, 別為 K 線樣式(KBar Patterns) 隨機指標(KD) 移動平均線(MA) 動量指標(MTM) 震盪指標(OSC) 相對強弱指標(RSI) 威廉指標(WMS%R) 中 間意願指標(CR) 人氣指標(AR)以及平滑移動平均線(EMA)

圖 13.模擬交易平台架構圖

(資料來源:本研究整理)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

在系統資源配置方面,本研究用六台運算能力相同之四核心主機架設成一群 集,指派其中一台主機做為平台的管理中心,即 JBoss 平台中 Domain controller 之 角色 該主機為接收使用者服務請求及與資料庫讀寫之節點,其他節點則專心處 理管理中心 派的運算工作,不接受客戶端的服務請求與涉及資料庫讀寫,以求 提升平台運算效率,必要時管理中心亦能支援運算工作

圖 14.模擬交易平台軟硬體資源配置圖

(資料來源:本研究整理)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

第三節 平行運算機制

本研究將負責同類型服務的應用程式伺服器實例(Server Instance)放在同一群 集(Cluster)或稱為伺服器組(Server Group),集合所有系統功能成為一個可被管理的 域(Domain) 並建立 JMS 群集,該 JMS 群集隸屬在 JBoss 的管理域之下,如此能 達到跨硬體 享資訊流同時又能讓不同群集的成員保持鬆散耦合,使各應用程式 伺服器僅需記憶同群集成員的資料,節省記憶體空間 而 JMS 的非同步資料傳輸 特性可避免彼此間互相等待,使資源 用率提高

圖 15.平台管理機制圖

(資料來源:本研究整理)

(load-balancing) Infinispan 負責系統可用性(availability) JGroup 負責系統的擴展 性(scalability)

(1) Mod_Cluster

mod_cluster 主要功能為負載平衡 web server 使用 mod_cluster 定時 IP 多點傳 送(multicasting)詢問所有應用程式伺服器的狀況,如被使用與存活情形 web server 端會依據回報情況更新名單,依該名單將使用者的請求指派給空閒的應用程式伺 服器完成工作

圖 16.mod_cluster 配置範例圖

(資料來源:本研究整理)

(2)Infinispan

Infinispan 功能為解決系統可用性的問題 Infinispan 本身為依資料快取空間,

我們將其作為 Session Container 它主要的工作自 Web Server 取得為使用者提供服 務的應用程式伺服器名單後,到各群集中找該群集負責人(Group Coordinator)詢問 該應用程式伺服器的情況,若該應用程式伺服器不可被使用,則 Infinispan 會請求 Web Server 重新指派另一台應用程式伺服器為使用者提供服務

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

圖 17.Infinispan 配置範例圖

(資料來源:本研究整理)

(3)JGroup

JGroup 是為了讓運算資源更具擴展性 JGroup 是一個群集內成員彼此聯絡的 方式 所有成員透過 IP Multicasting 不斷向其他成員傳達自身狀態 因此一旦應 用程式伺服器被使用 被釋放 新加入 被移出群集或當機時,其他成員 會知 道 而每個群集 會有個群集負責人(Group Coordinator),它本身也是一台應用程 式伺服器 主要的工作除了處理在該台應用程式伺服器的運算工作外,群集負責 人還要匯整在群集中所有成員的存活狀態,負責向 Session Container 傳達成員的狀 態 JGroup 的傳遞訊息方式有 TCP 及 UDP,選擇 TCP 傳輸訊息傳遞較可靠,UDP 則犧牲可靠性但傳遞訊息較為快速 本系統平台需要快速傳遞即時訊息即回應結 果,故選擇 UDP

圖 18.JGroup 配置範例圖

(資料來源:本研究整理)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y 第四章 實驗數據 析

第一節 速度測試與 析

本章節將實際測試在即時交易環境中,交易室策略監控模組在一台機器與多台機 器的測試環境中運算速度的差異 本研究採用Amdahl’s law做為平行運算效能的衡量指 標

圖 19.Amdahl’s law 速度與處理器數量關係圖 (資料來源:H. Shen and F. Pétrot, 2011)

Amdahl’s law常用來預測在多處理器的平行運算中理論下的速度最大化,因其 表了處理器平行運算之後效率提升的能力,由於平行運算的速度受限於程式中的僅能 序列化處理的片段,因此系統僅有一部 可以經由平行運算改善效率,其餘則無法 其公式為:

T n = T 1 B + 1 − B

如KBar Pattern因其計算特性在任何模式下,運算速度改善之情形極微;反之計算 時間越長之技術指標,如KD,在群集模式下運算時間縮短幅度越顯著;扣除KBar

1408.048 1078.954 732.276 544.082

11種技術指標平均運算時間(毫秒)

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

在圖14中觀察,要找到Amdahl’s law所述平行運算之理論加速最大值,群集

之處理器數量需1000台以上,才能觀察到趨近理論最大值之曲線;本研究在有限 資源情況下,24台處理器之叢集環境中計算台灣期貨市場八種商品之市場狀態,

較單台處理器得到11倍以上之加速比,足見本研究所設計之平行運算架構極為有 效提升運算效能,尤其適合需要大量運算之期貨交易平台 及其他金融商品之交 易平台 根據圖17之曲線,此次測試結果亦能得出,如擴大本研究設計之平行運 算架構之群集規模,能更有效提升平行運算之效能

量投資者使用需求,結合HBase雲端分散式資料庫 JMX應用程式管理架構 JMS訊息交 換中介軟體,並使用JBoss企業級伺服器管理平台建立平行運算的管理機制 同時運用

以加一層in-memory Database,作為資料暫存之用 同時配合在硬體層級進行平行運算 的程式語言,如Scala,以期能改善平行運算的效能 而在JBoss框架底下,server instance 需要逐一在管理介面啟動,耗時且成本高,未來希望可以找到能動態開啟server instance 的方法

1. George, L(2011), HBase: The Definitive Guide. O’Reilly Media, Inc, pp. 5–13.

4. J. Steven Perry(2002), Java Management Extensions. O’Reilly Media, Inc, pp. 8–10.

5. Ben G. Sullins, Mark B. Whipple(2003), JMX in Action. Manning Publications Co, pp. 8–11.

6. Francesco Marchioni(2011), JBoss AS 7 Configuration, Deployment, and Administration. Packt

Publishing Ltd, pp. 117–131.

7. Thomas Rauber, Gudula R¨unger(2007), Parallel Programming:For Multicore and Cluster Systems,

Springer-Verlag Berlin Heidelberg, pp. 21–23.

8. Wikipedia(2013), “Flynn's_taxonomy”, Retrieved from

http://en.wikipedia.org/wiki/Flynn's_taxonomy.

9. JBoss(2012), ”JBoss 7.1 Admin Guide(2012).” Retrieved from

https://docs.jboss.org/author/display/AS71/Admin+Guide .

10. Mark Richards, Richard Monson-Haefel & David A. Chappell(2009), Java Message Service.

O’Reilly Media, Inc, pp. 9–10.

11. Lo. Alfred, Bloor Chris, Choi. Y K(2000). Internet Research10. 2: 160-169.

12. Amza, C. (1996), Shared memory computing on networks of workstations, IEEE Computer.

13. J. Gantz and D. Reinsel(2010). The Digital Universe Decade - Are You Ready? Technical report, EMC Corporation.

14. A. Greenberg, J. Hamilton, D. Maltz, and P. Patel(2009). TheCost of a Cloud: Research Problems in Data Center Networks. ACM SIGCOMM CCR.

15. Pardo, Robert(2008), The Evaluation and Optimization of Trading Strategies. John Wiley & Sons,

15. Pardo, Robert(2008), The Evaluation and Optimization of Trading Strategies. John Wiley & Sons,

相關文件