• 沒有找到結果。

Celery 讓平台裡的任務可以跨層傳輸以及遠端運行;JupyterHub 提供使用者熟悉 的IPython 頁面;Docker Spawner 將 docker 虛擬化的概念深植平台裡,使得各個 服務平均分佈在分散式架構中,減輕單一機器負擔;HAWQ 極大量平行運算的 功能,更是突破大量資料存儲速度過慢的問題。此架構具有以下之優勢:

l 高擴充性

Ambari 作為 Hadoop 平台上的搭建利器,只需經由瀏覽器即可進行 Hadoop 叢集部署。圖形化及一目瞭然的參數設定介面,讓開發者可以 快速新增節點及其他Hadoop 上的開源軟體,如 YARN、Spark 等,有 利於平台進行水平擴充與垂直擴充。

l 資源隔離

利用 Docker 容器化的技術,將原本 JupyterHub 生成的 Python 實例 轉變成容器使用,由於容器間彼此都是獨立的環境,讓使用者個人配置

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

以HAWQ 作為資料庫,並每日排程化爬取金融資料存進資料庫 裡,讓使用者不需在此額外下功夫,且IPython 的開發介面也對開發者 來說較為熟悉、容易上手。

第二節 未來展望

為了搭上近幾年深度學習的熱潮,本研究擴增Tensorflow 套件及 GPU 建 置,目的是希望讓演算法交易更多樣化且加速運算速度,不過Tensorflow 函式 庫過多且較複雜,對於剛接觸的開發者上手較為不易,因此,本研究未來可能 會採用較簡易的套件Keras,或者是將 Tensorflow 的重要函式包裝成程式所需的 API,讓未來的開發者有更多選擇,並開發出更多有用的演算法交易

針對平台上的交易,未來想採用區塊鏈的技術,透過區塊鏈去中心化及資 料無法被竄改的優勢,將平台裡的每筆交易公開、透明且安全地儲存下來,讓 平台上的開發者及買服務者能更具保障。

[1] KPMG. (2016). Fintech funding hits all-time high in 2015, despite pullback in Q4: KPMG and CB Insights. Available:

https://home.kpmg.com/xx/en/home/media/press-releases/2016/03/kpmg-and-cb-insig hts.html

[2] 金融監督委員會。2016。金融科技發展策略白皮書。Available:

http://www.fsc.gov.tw/ch/home.jsp?id=517&parentpath=0,7,478

[3] David Silver. (2016). Mastering the game of Go with deep neural networks and tree search

[4] Bartlett, M. S. (2005). Recognizing facial expression: machine learning and application to spontaneous behavior. . Computer Vision and Pattern Recognition.

[5] Geoffrey Hinton, Li Deng, and Dong Yu. (2012). Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups [6] Richard J. Hillman. (2005). Securities Markets: Decimal Pricing Has

Contributed to Lower Trading Costs and a More Challenging Trading Environment [7] Bin Li, Michael Wu, and Nan Lu. (2002). System for trading financial assets using volume weighted average price. U.S. Patent No. US20020194107 A1 [8] Morton Glantz and Robert Kissell. (2013). Multi-Asset Risk Modeling:

Techniques for a Global Economy in an Electronic and Algorithmic Trading Era.

[9] Robert C. Merton. (1999). Applications of Option-Pricing Theory: Twenty-Five Years Later.

[10] Ian Domowitz and Henry Yegerman. (2005). The Cost of Algorithmic Trading A First Look at Comparative Performance.

[11] Michael J. Barclay, Terrence Hendershott, and Charles M. Jones. (2008). Order Consolidation, Price Efficiency, and Extreme Liquidity Shocks.

[12] 張育軍。2009。上海證券交易所研究中心研究報告。上海人民出版社。

[13] Alexey Grishchenko. (2016). Apache HAWQ: Next Step In Massively Parallel Processing. Available:

https://content.pivotal.io/blog/apache-hawq-next-step-in-massively-parallel-processin g

[14] Hive, https://hive.apache.org/

[15] Hbase, https://hbase.apache.org/

[16] Lei Chang, Zhanwei Wang, Tao Ma, Lirong Jian, Lili Ma, Alon Goldshuv Luke Lonergan, Jeffrey Cohen, Caleb Welton, Gavin Sherry, and Milind Bhandarkar.

(2014). HAWQ: A Massively Parallel Processing SQL Engine in Hadoop.

[17] Alexey Grishchenko. (2015). Hadoop vs MPP. Available:

https://0x0fff.com/hadoop-vs-mpp/

[18] Pivotal Inc. (2017). HAWQ Architecture. Available:

http://hdb.docs.pivotal.io/211/hawq/overview/HAWQArchitecture.html

[19] 常雷。(2016)。HAWQ ——功能強大的SQL-on-Hadoop引擎。 Available:

https://read01.com/BEzjR7.html

[20] Dong Cutting, A Bialecki, M Cafarella, and O O’MALLEY. (2005). Hadoop: a framework for running applications on large clusters built of commodity hardware.

[21] Dhruba Borthakur. (2013). HDFS Architecture Guide. Available:

https://hadoop.apache.org/docs/r1.2.1/hdfs_design.html

[22] Limited Lin。(2014)。 HDFS-Hadoop Distributed File System 介紹。 Available:

http://limitedcode.blogspot.tw/2014/10/hdfs-hadoop-distributed-file-system-hdfs.html [23] Apache Software Foundation. (2016). Apache Hadoop YARN. Available:

https://hadoop.apache.org/docs/r2.7.2/hadoop-yarn/hadoop-yarn-site/YARN.html [24] Fernando Perez and Brian E. Granger. (2007). IPython: A System for Interactive Scientific Computing. IEEE.

[25] Jupyter, http://jupyter.org/

[26] JupyterHub, https://jupyterhub.readthedocs.io/en/latest/index.html

[27] K. Fukushima and Sei Miyake. (1982). Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in

position. Biol. Cybern., 36, 193–202.

[28] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. (1989). Backpropagation Applied to Handwritten Zip Code Recognition. Neural Computation, 1, pp. 541–551.

[29] S. Hochreiter. (1991). Untersuchungen zu dynamischen neuronalen Netzen.

Diploma thesis. Institut f. Informatik, Technische Univ. Munich. Advisor: J.

Schmidhuber.

[30] S. Hochreiter et al. (2001). Gradient flow in recurrent nets: the difficulty of learning long-term dependencies. In S. C. Kremer and J. F. Kolen, editors, A Field Guide to Dynamical Recurrent Neural Networks. IEEE Press.

[31] Tensorflow, https://www.tensorflow.org/

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

[32] Django, https://www.djangoproject.com/

[33] Django CMS, https://www.django-cms.org/en/

[34] Mezzanine, http://mezzanine.jupo.org/

[35] Dmitriy Samovskiy. (2008). Introduction to AMQP Messaging with RabbitMQ.

p.9 Available:

https://www.slideshare.net/somic/introduction-to-amqp-messaging-with-rabbitmq [36] Leo G. (2016). Running Asynchronous background Tasks on Linux with Python3 Flask and Celery. Available:

https://techarena51.com/index.php/running-asynchronous-background-tasks-linux-pyt hon-3-flask-celery/

[37] Yahoo奇摩理財, https://tw.money.yahoo.com/fund

[38] Docker Spawner, https://github.com/jupyterhub/dockerspawner [39] Nvidia Docker, https://github.com/NVIDIA/nvidia-docker [40] Docker Swarm, https://docs.docker.com/engine/swarm/

[41] Incubator-HAWQ,

https://github.com/apache/incubator-hawq/blob/master/contrib/hawq-docker/Makefile