###### tags: `Trader` # Fin Information Bot ## 核心概念 - 提供服務 輿情分析(含NLP Clustering & Topic Analysis & TF-idf技術)、AI預測策略、LineBot、微服務架構、雲端容器化結構、會員制度 - 內部搜集用戶的**數位足跡**,用於基金與股票推薦系統的建置作業 ## Interface - 新聞摘要 - 新聞分群與聲量分析 - 價格模型預測 ## 財經新聞輿論分析 - 提供用戶快速掌握財經最新資訊 - 使用AI NLP 輿情分析技術,提供個新聞主題分析關鍵字 ## AI模型策略預測 - 常見的K線趨勢圖 - 結合深度學習模型,如LSTM, BiGRU等多因子序列預測模型,輔助用戶決策 ---- ## 技術簡介 - 此專案採用「微服務 MicroServices」架構,將各個功能進行容器化。 > 微服務(英語:Microservices)是一種軟體架構風格,它是以專注於單一責任與功能的小型功能區塊 (Small Building Blocks) 為基礎,利用模組化的方式組合出複雜的大型應用程式,各功能區塊使用與語言無關 (Language-Independent/Language agnostic)的API集相互通訊。 - 系統架構示意圖: ![](https://i.imgur.com/szGUCs3.png) ### 各別服務簡介 #### Web - 程式語言:Golang - 資料庫:MySQL - 說明:為了方便demo我們所構想的服務,我們選用網站作為我們使用服務的操作介面,由於本專案結構採用「微服務」模式,因此各項功能彼此之間互相獨立。 - 後端部分,採用 Golang 作為編寫服務介面的程式語言,主要是因為其優異的concurrency 特性使得我們可以透過平化來處理來自用戶的高併發請求,也易於整合各項服務API間的溝通。 - 前端部分採用JS的 React 框架進行編寫,同時注重RWD介面的開發,確保在不同裝置下能夠有良好的操作體驗。 #### 輿情資料搜集 - 程式語言語言:Golang - 資料庫:MongoDB - 說明:使用爬蟲以蒐集全網之新聞與相關新聞內容,爬蟲框架選用golang的colly,其優異的性能(>1k request/sec on a single core)能夠使我們在更短的時間內完成資料的爬取蒐集。最後會先將原始資料內容儲存於NoSQL的MongoDB之中,用以進行後續的資料前處理。 #### 個股資料搜集 我們透過yahooAPI來取得股票的即時與歷史資料 #### 輿情分析模型&時序價值預測模型 - 語言:Python - 套件:Pytorch - 說明: - 時序價格分析部分,會將「資料蒐集」、「資料清洗」、「建模」以及「應用部署」全部包在一起處理。資料蒐集部分採用永豐金證券Python api 與yahoo財經api等,盡可能取得歷史與即時性的time series資料。我們會透過架設Grafana監控平台來觀察資料間的數據(見下圖Grafana),進行清理以及分析。最後將處理好的時序資料,應用於AI時序理論相關論文模型中(如:LSTM, QuerySelector等)最後將AI模型預測結果進行視覺畫呈現(如下圖預測結果示意) - NLP建模方面,採用在繁體中文NLP領域表現顯著的ckip/Bert系列的預訓練模型進行文章的斷詞,並藉透過K-Means與HDBScane的演算法實現非監督式學習對文章進行分群與摘要。 - 預測結果示意 ![預測結果示意](https://i.imgur.com/faRKaE3.png)