###### 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集相互通訊。
- 系統架構示意圖:

### 各別服務簡介
#### 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的演算法實現非監督式學習對文章進行分群與摘要。
- 預測結果示意 