設為首頁收藏本站

艾歐踢論壇

 找回密碼
 立即註冊

QQ登錄

只需一步,快速開始

搜索
熱搜: 活動 交友 discuz
查看: 677|回復: 0
打印 上一主題 下一主題

實時股票分析系統的架構與算法

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2018-2-12 06:19:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
https://read01.com/PRyN.html#.WoDAnKiWbIV

【編者的話】如果能在一台伺服器上應用人工智慧和機器學習算法處理每天的股票交易,而自己則在夏威夷的海灘上享受生活,那將是多麼愜意呀。雖然股票 價格的變化受多種因素的影響,世上也沒有免費的午餐,但是有些公司依然能夠藉助於開源的機器學習算法和數據分析平台得到「更好、更健康、更便宜的午餐」。 本文搜集並整理了一些如何實現實時股票分析系統的資料,從架構和算法兩個層面給出了一種可行的方案。

雖然股票交易市場一直在持續地變化,經濟力量、新產品、競爭、全球性的事件、法規、甚至是Tweet都 有可能引起市場的變動,但是在這個市場上,使用不同的模型通過股票的歷史價格來預測未來的價格依然是一種常見的實踐。一個實時的股票分析系統不僅需要將影 響股票價格的各種數據集合起來進行分析,還需要具有響應低延遲的特性,因而架構必須是高可伸縮、高擴展的,一方面隨著時間的流逝,系統將存儲越來越多的數 據;另一方面數據處理應用程式必須能夠通過添加更多的節點進行水平擴展以保持實時地響應速度。
來自於Pivotal公司的企業應用解決方案架構師William Markito最近在公司的博客上發表了題為《實時股票預測系統開源參考架構》的文章,介紹了一個通過開源技術實現實時股票分析系統的參考架構。雖然該架構關注於金融交易,但是也適用於其他行業的實時用例場景。William Markito首先從最頂層的視角,給出了一個高層架構圖:


從最頂層的視角看,由預測模型驅動的最優化實時股票預測架構包含數據存儲、模型訓練、實時評估和採取行動四部分:首先,進入系統的實時交易數據必須 被捕獲並存儲,作為歷史數據。第二,系統必須能從數據的歷史趨勢中學習,識別出影響決定的模式和機率。第三,系統需要能夠實時地將新傳入的交易數據與從歷 史數據中學到的模式和機率進行比較。最後,系統還需要預測出輸出並決定所要採取的行動。
之後,William Markito又使用Spring XD(現在稱為Spring Cloud Data Flow,是一個統一併且可擴展的分布式系統,可用於數據抽取、實時分析、批量處理和數據導出場景)、Apache Geode(一個針對高可擴展應用程式的開源分布式內存資料庫,目前正在孵化中)、Spark MLlib、Apache HAWQ(一個Hadoop原生的大規模並行SQL分析引擎)以及Apache Hadoop™等開源組件對架構中的每一部分進行了細化:

如圖所示,整個數據流包含6步,每一部分都是松耦合併且可以水平擴展的:
  • 使用Spring XD讀取並處理通過Yahoo! 金融Web服務API獲取到的實時數據,然後通過Apache Geode將數據存儲在內存中。
  • 使用 Apache Geode中的實時熱數據,通過Spark MLib應用創建並訓練模型,將新數據與歷史模式進行比較。當然,也可以使用其他工具集創建模型,例如Apache MADlib或者R。
  • 將訓練出的機器學習模型推送到部署好的應用程式上,同時更新 Apache Geode以便於進行實時預測和決策。
  • 隨著時間的推移,有一部分數據將變成冷數據,將這一部分數據從 Apache Geode移動到Apache HAWQ上並最終存儲到Apache Hadoop™中。
  • 周期性地基於整個歷史數據集重新訓練並更新機器學習模型。這一步讓系統形成了一個閉環,當歷史模式發生變化或者新的模式出現的時候,它會持續地更新和提升模型。

為了讓讀者能夠在自己的筆記本上運行這一架構,William Markito還給出了一個更為簡化的實現,該版本移除了長期的數據存儲組件Apache HAWQ和Apache Hadoop™。

該解決方案中的每一個組件都責任明確,支持擴展並且能夠在雲環境中運行。那麼除了架構之外,針對影響股票價格的不同因素,應該選擇哪些算法來訓練模型並預測股票價格趨勢呢?
在SlideShare上LargitData的CEODavid Chiu介紹了如何通過隱馬爾科夫模型(HMM)來預測股票價格,David Chiu認為股票的歷史行為與當前行為具有一定的相似性,明天的股票價格可能會遵循過去的某種模式:


另外,在Vatsal H. Shah 的網站上還有一個文檔介紹了Decision Stump 算法、線性回歸、支持向量機、Boosting 算法和基於文本分析的方法在股票預測領域的應用,並對這些算法的預測結果進行了比較。
除此之外,與上市公司相關的新聞動態也會對股票價格造成影響,例如併購定增事項、公司領導人的離開等等,對於這一問題,新加坡的數據科學家Lim Zhi Yuan在SlideShare上分享了一些自己的經驗。Lim Zhi Yuan在該分享中研究了外部事件對於股票價格的影響,在分析時他分別通過線性模型和非線性模型兩種方法進行了實驗,線性模型採用了支持向量機(SVM)算法,非線性模型採用了深度神經網絡模型。




本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?立即註冊

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 轉播轉播 分享分享 分享淘帖
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|Archiver|手機版|艾歐踢創新工坊    

GMT+8, 2024-5-16 15:21 , Processed in 0.230911 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表