---
# System prepended metadata

title: Fin Information Bot
tags: [Trader]

---

###### 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)
