首頁

目前文章總數:229 篇

  

最後更新:2026年 04月 25日

0001. 打造 AI 選股助手:n8n Cloud + Groq AI + Azure SQL 實戰自動化工作流

日期:2026年 04月 04日

標籤: n8n Continuous Integration(CI) Microsoft Azure SQL Server LineBot JavaScript RSS Groq AI Agent

摘要:n8n


應用所需:1. 已註冊 n8n Cloud 或 已搭建 n8n Local Server
     2. 集保戶股權資料
解決問題:在利用 n8n 串接 Groq AI 的高速推理能力,搭配自己的 Azure SQL 籌碼庫,建立「新聞過濾 + 籌碼驗證」的雙重機制。
範例檔案:本篇範例代碼(.NET 9.0)
相關參考:0107. 2026 實戰教學:從零打造 C# Line Bot 並免費部署至 Azure App Service
     台灣集保結算所-集保戶股權分散表查詢網站
基本介紹:本篇分為 7 大部分。
第一部分:前言-為什麼需要自動化選股系統?
第二部分:系統架構圖
第三部分:第一階段:RSS 新聞抓取與 AI 初步過濾
第四部分:第二階段:深挖籌碼面 — Azure SQL 資料庫對齊
第五部分:第三階段:AI 綜合研判與 Line 格式轉換
第六部分:第四階段:Line Bot 自動化推播
第七部分:結語與進階思考






第一部分:前言-為什麼需要自動化選股系統?

Step 1:問題 & 解決方案

1. 痛點 每天新聞幾千則,手動過濾太慢;空有利多新聞,卻不知道主力是否在「出貨」
2. 解決方案 利用 n8n 串接 Groq AI 的高速推理能力,搭配自己的 Azure SQL 籌碼庫,建立「新聞過濾 + 籌碼驗證」的雙重機制。


※Azure SQL 籌碼庫,是自行蒐集的籌碼資料,目前 台灣集保結算所-集保戶股權分散表查詢網站只會保留一年的資料

Step 2:n8n 簡介 - 什麼是 n8n

n8n 是一款「節點導向(Node-based)」的低程式碼自動化工作流工具。它允許你透過視覺化介面
將不同的 App(如 Google Sheets, Slack, Line, SQL, AI 模型)串接在一起。

與其他競爭對手(如 Zapier, Make.com)最大的不同在於,n8n 是 「公平碼(Fair-code)」 授權,


這意味著可以在 n8n 實現以下:

n8n 特色    
1. n8n Cloud 官方代管,開箱即用(本篇範例的主要操作說明)。
2. Self-Hosted 部署在自己的伺服器(Docker/VPS),完全掌控數據隱私。



Step 3:n8n - 優缺點分析

除了自動化具備視覺化的操作外,優點整理如下:

優點 (Pros) 內容說明
1. 高度靈活性 支援 JavaScript/Python Node,能滿足所有客製化邏輯,是「低程式碼」與「全程式碼」的完美平衡。
2. AI 原生整合 內建 LangChain 節點,串接 Groq 或 OpenAI 的速度極快,能輕鬆打造 AI Agent 工作流。
3. 強大資料處理 處理 JSON 數據非常直觀,非常適合處理像 RSS 抓取後需要過濾、轉換格式的複雜任務。
4. 部署選擇多樣 提供官方 Cloud 版開箱即用,也支援 Docker 自架,能完全掌控數據隱私並節省長期成本。
5. 視覺化除錯 畫布式介面能即時點開查看每個步驟的「輸入」與「輸出」,大幅縮短開發與維修時間。


相對地缺點整理如下,最致命的傷應屬 學習成本高,太多功能不斷迭代更新:

缺點 (Cons) 內容說明
1. 學習曲線較陡 使用者需要對 API 呼叫、JSON 結構有基本概念,對完全沒有技術背景的新手來說門檻較高。
2. 中文資源稀缺 官方文件與討論區均為英文,中文教學文章相對較少,遇到深層問題時搜尋較花時間。
3. 資源消耗問題 若選擇自架版,當複雜的工作流同時運行時會較佔記憶體,需注意伺服器效能分配。
4. 介面反應速度 當單一工作流中的節點數量極大時,畫布編輯器的操作可能會出現輕微的延遲感。


但這些缺點在具備 CICD & 開發經驗的軟體工程師上,屬於 瑕不掩瑜



Step 4:準備工作 - n8n 註冊(可略)

第一次使用建議從 n8n 雲端版本,註冊完畢後,可以得到 14 天免費的試用期


建立一個 Workflow 後,起點為 When Clicking Execute Workflow (手動執行按鈕)


Step 5:準備工作 - Azure 資料庫訪問權限(可略)

本篇範例是作者自行蒐集 集保戶股權分散表 的籌碼資料,有蒐集 8 年來所有 台灣股市 資料
若是有自己的資料庫餵給 AI Agent 可以跳過這段權限配置操作,目的:

避免 n8n 取得 Insert, Update, Delete, Truncate 等較高的權限
提供給 n8n 的帳號只會有 Query (SELECT) 權限



Step 6:準備工作 - Azure 資料庫訪問權限 - 為 n8n 建資料庫帳號(可略)

登入 Azure SQL Server 資料庫,執行以下 SQL 語法,目的是 建立 n8n 伺服器層級的登入帳號 ,並且只能 查詢
※密碼的地方自行替換

USE master;
GO

CREATE LOGIN [n8n_reader] WITH PASSWORD ='密碼'
GO




Step 7:準備工作 - Azure 資料庫訪問權限 - 為 n8n 建資料庫帳號(可略)

我們的籌碼資料庫在 StockCounter 庫中,因此准許 n8n_reader 登入

USE [StockCounter]];
GO

CREATE USER [n8n_reader] FOR LOGIN [n8n_reader]
GO




Step 8:準備工作 - Azure 資料庫訪問權限 - 為 n8n 建資料庫帳號(可略)

腳色權限賦予 讀取

ALTER ROLE db_datareader ADD MEMBER [n8n_reader]
GO




Step 9:準備工作 - Azure 資料庫訪問權限 - 為 n8n 建資料庫帳號(可略)

驗證 n8n_reader 權限是否只有讀取,因此先登入




嘗試使用 Insert 語法可以看到插入失敗,並且下 SELECT 語法確保可以讀取


Step 10:準備工作 - Groq 介紹

在成本考量上可考慮使用 Groq AI(免費額度)即使每天執行幾百次自動化,也不必擔心像 OpenAI 那樣產生昂貴的帳單。

Groq 是一家專注於人工智慧硬體的半導體公司,他們研發了專為推論(Inference)設計的處理器 LPU (Language Processing Unit)。
與傳統依賴 GPU(如 NVIDIA)的 AI 服務不同,Groq 的技術能讓大型語言模型(如 Llama 3、Mixtral)以驚人的速度運行,每秒可生成數百個字(Tokens)。


特色如下:

核心特性 詳細說明
1. 極致推論速度 每秒可達 300~500 Tokens,比傳統雲端 GPU 快上 10 倍,實現真正的「秒回」。
2. LPU 專屬架構 捨棄了 GPU 的複雜併行運算,採用確定性時序架構,讓 AI 推理過程不再有延遲波動。
3. OpenAI 相容性 提供與 OpenAI API 格式高度相容的 SDK,開發者可以無縫從 GPT 切換至 Groq。
4. 高性價比 提供極具競爭力的按量計費模型,甚至針對小型開發者提供相當大方的免費額度。
5. 開源模型支援 專注於優化開源生態,目前完美支援 Meta 的 Llama 3 系列與 Mistral 等主流模型。



Step 11:準備工作 - Groq API Key 取得說明

Groq 官網註冊並登入後,依序選擇 API Keys -> Create API Key

生成 API Key 後,將其複製,會在 n8n 的 Credential 中添加


Step 12:準備工作 - LineBot 機器人推播(可選)

最終推送到用戶端我們採取 LineBot 推播的方式,可以參考0107. 2026 實戰教學:從零打造 C# Line Bot 並免費部署至 Azure App Service
如何實現 LineBot,當然用 Whatsapp、Slack、Email 方式皆可,以個人實用性為主



第二部分:系統架構圖

Step 1:技術棧架構圖

本篇範例主要使用的技術棧如下,透過 n8n 整合 RSS + AI Agent + 資料庫 + Line Bot 完成自動化篩選股票流程


Step 2:n8n 最終 Workflow 圖

從數據輸入、AI 篩選到資料庫比對,最後輸出到 Line 的自動化閉環
其中 AI Agent 處理 2 次,解決了 1. 新聞過濾資料 。其次解決 2. 決策結論

步驟順序 n8n 節點名稱與功能說明
1. 觸發與設定 When clicking ‘Execute workflow’ & 台股利多關鍵字:手動或定時觸發流程,並預設好要抓取的台股利多核心關鍵字。
2. 獲取新聞 RSS Read (新聞):連接 Yahoo 新聞 RSS 來源,即時抓取最新大量的股票相關新聞標題與內容。
3. 資料預處理 去除重複新聞 & Edit Fields & Aggregate:過濾掉內容重複的新聞,並整理欄位資訊後匯集成單一資料包,準備給 AI 處理。
4. AI 初步選股 AI Agent (Groq Chat Model 1):利用 Groq AI 的快速推理能力,從數十則新聞中篩選出具備利多潛力的股票標題。
5. 數據精煉 整理出推薦 5 檔股票:將 AI 初步分析的結果進行結構化處理,鎖定最有潛力的 5 檔標的。
6. 籌碼驗證 Microsoft SQL (Execute Query):根據這 5 檔股票,自動到 Azure SQL 籌碼庫撈取相關的法人買超或主力動向數據。
7. 數據再加工 SQL 結果整理:將資料庫回傳的原始數據進行清洗,確保格式能與先前的推薦理由完美對齊。
8. AI 綜合決策 AI Agent (Groq Chat Model):第二次呼叫 Groq AI,結合「新聞利多」與「籌碼數據」進行交叉驗證,產出最終深度分析。
9. 格式轉換 正規化 Json 資料:將 AI 生成的建議文字與數據,轉換為符合 Line Flex Message 所需的 JSON 代碼格式。
10. 推播通知 HTTP Request (推播給 LineBot):透過 Messaging API 將精美的選股報告推送到使用者的 Line 手機端。






第三部分:第一階段:RSS 新聞抓取與 AI 初步過濾

Step 1:1. 觸發與設定 - 台股利多關鍵字

建立 Code 節點,參數如下 :

Mode Run Once for All Items
Language Javascript


Js 代碼如下,目的是提供股票 利多關鍵字 ,n8n 只看得懂 URL Encode ,因此需要先將中文轉換

return 		[ 
	{keyword:"%E5%89%B5%E9%AB%98"},//創高
	{keyword:"%E8%B2%B7%E8%B6%85"},// 買超
	{keyword:"%E8%BD%89%E7%9B%88"},// 轉盈
	{keyword:"%E5%84%AA%E6%96%BC%E9%A0%90%E6%9C%9F"},// 優於預期 
	{keyword:"%E5%8A%A0%E7%A2%BC"},// 加碼
	{keyword:"%E6%8E%A5%E5%96%AE"},// 接單
	{keyword:"%E5%88%A9%E5%A4%9A"} // 利多
	];




Step 2:2. 獲取新聞 - RSS Read(新聞)

建立 RSS Read 節點,參數如下:
目的是把關鍵詞依序傳入找出相關的新聞

URL https://tw.stock.yahoo.com/rss?q={{json.keyword}}




Step 3:3. 資料預處理 - 去除重複新聞

建立 Remove Duplicates 節點,參數如下:
目的是把新聞相同的資料移除,減輕資料量

Operation Remove Items Repeated Within Current Input
Compare Selected Fields
Fields To Compate link


其中 link 是判別是否重複來源的新聞依據


Step 4:3. 資料預處理 - 移除冗餘資訊

建立 Edit Fields 節點,參數如下:
目的是移除不需要的資料,只保留 標題內容

Mode Remove Items Repeated Within Current Input  
Fields to Set 標題 {{ $json.title }}
  內容 {{ $json.content }}




Step 5:3. 資料預處理 - 合併資料

建立 Aggregate 節點,參數如下:
目的是整併成 1 筆資料,如果保留原本的多筆資料,會讓 AI Agent 處理太多次 (50筆等於 AI 做 50 次),避免浪費太多 AI API Token

Aggregate Individual Fields  
Fields to Aggregate Input Field 內容






第四部分:第二階段:深挖籌碼面 — Azure SQL 資料庫對齊

Step 1:4. AI 初步選股 - AI Agent 1

建立 AI Agent 然後建立 Groq Chat Model ,並且讓此 AI Agent 的 Model 使用 Groq
AI Agent 參數如下:

Source for Prompt (User Message) Define below
Prompt (User Message ) 以下內容


Prompt 有以下內容,讓 AI 輸出指定的格式,並且要代入身分: 資深的台股分析師,最終輸出 5 檔股票

你是一位資深的台股分析師,擅長從產業利多新聞中挖掘受惠股。

### 任務說明:

請分析以下新聞內容,並列出 5 個最直接受惠的「台股上市櫃公司」+ 股票代號。

### 新聞來源:

所有內容:{{ $json['內容'] }}

### 限制與規則:

1. 僅限台灣上市櫃企業。

2. 若內容不足 5 家,請僅列出最相關者。

3. 嚴禁提供投資建議。

### 輸出格式 (請嚴格遵守以下 Line 訊息編排):

📊 **【台股利多情報分析】**

--------------------------

(請針對每一家公司輸出以下結構,並使用指定 Emoji)

🚀 **[代號 名稱]**

🔹 **受惠理由**:[30字內,精簡扼要]

⚠️ **風險提示**:[20字內關鍵風險]

### 輸出格式:
請嚴格分為兩個部分輸出:

PART 1: [Line 訊息內容]
(這裡放您原本的 Line 訊息編排,包含 Emoji 等)

PART 2: [JSON 資料]
請將分析出的 5 檔股票僅以 JSON Array 格式輸出,方便程式解析。
格式範例:
[{"code": "2330", "name": "台積電"}, {"code": "8210", "name": "勤誠"}]



Groq 參數如下:
將自己的 API Key 代入,並且注意 Model 必須要選可以容納大量輸入文本的模式

Credential to connect with 您的 Groq API Key
Model llama-3.3-70b-versatile




Step 2:5. 數據精煉 - 整理出推薦5檔股票

建立 Code 節點,參數如下 :

Mode Run Once for All Items
Language Javascript


Js 代碼如下,目的是得到我們要的 Json 格式,保留 5 檔 AI 推薦的股票代號

// 1. 取得 Gemini 輸出的原始文字
const fullText = $input.first().json.output
// 2. 切割字串
const parts = fullText.split('PART 2:');
if (parts.length < 2) {
  throw new Error("找不到 'PART 2:' 關鍵字");
}

const afterPart2 = parts[1];

// 3. 關鍵修正:改用搜尋 '[{"' 來精確定位 JSON 陣列的開頭
// 這樣就能跳過前面的 "[JSON 資料]" 文字
const jsonStart = afterPart2.indexOf('[{"'); 

if (jsonStart === -1) {
    throw new Error("在 PART 2 之後找不到正確的 JSON 數據格式。");
}

const jsonPart = afterPart2.substring(jsonStart).trim();

try {
  // 4. 解析 JSON
  const stocks = JSON.parse(jsonPart);

  // 5. 回傳成 n8n 標準格式
  return stocks.map(stock => ({
    json: {
      stock_code: stock.code.trim(),
      stock_name: stock.name.trim(),
      full_line_message: parts[0].trim() 
    }
  }));
} catch (error) {
  throw new Error("JSON 解析依舊失敗,擷取內容為:" + jsonPart + " | 錯誤:" + error.message);
}




Step 3:6. 籌碼驗證 - Microsoft SQL

建立 Microsoft SQL 節點,參數如下 :

Credential to connect with 您的 Azure 資料庫登入帳號密碼
Operation Execute Query


SQL 語法如下,目的是將 AI 推薦的 5 檔利多股票 + 12 週 (3個月) 的籌碼變化查詢出結果

WITH WeeklyData AS (
    -- 步驟 1: 先將 15 級(大戶)與 17 級(總計)的資料轉為同一列
    SELECT 
        T15.stock_no,
        T15.belong_date,
        T15.inventory_ratio AS BigHolderRatio,      -- 大戶持股比
        T17.inventory_people AS TotalHolderCount     -- 總人數
    FROM dbo.TDCC_{ { $json.stock_code } } T15
    JOIN dbo.TDCC_{ { $json.stock_code } } T17 ON T15.belong_date = T17.belong_date
    WHERE T15.level = 15 AND T17.level = 17
),
TrendAnalysis AS (
    -- 步驟 2: 使用 LAG 函數取得「前一週」的數值並計算差異
    SELECT 
        stock_no,
        belong_date,
        BigHolderRatio,
        -- 計算大戶持股比例變化 (本週 - 前一週)
        BigHolderRatio - LAG(BigHolderRatio) OVER (ORDER BY belong_date) AS BigHolderChange,
        TotalHolderCount,
        -- 計算人數變化 (本週 - 前一週)
        TotalHolderCount - LAG(TotalHolderCount) OVER (ORDER BY belong_date) AS HolderCountChange
    FROM WeeklyData
)
-- 步驟 3: 輸出最近 12 週資料
SELECT TOP 12 * FROM TrendAnalysis
ORDER BY belong_date DESC;




Step 4:7. 數據再加工 - SQL結果整理

建立 Code 節點,參數如下 :

Mode Run Once for All Items
Language Javascript


Js 代碼如下,目的是將每個股票代碼資料歸類為 1 個組別,便於 AI 後續分析

const allData = items; // 取得 SQL 輸出的 60 筆資料
const grouped = {};

// 1. 開始分組
allData.forEach(item => {
    // 處理 stock_no,移除空白並確保它是字串
    const sn = String(item.json.stock_no).trim();
    
    if (!grouped[sn]) {
        grouped[sn] = {
            stock_no: sn,
            history: []
        };
    }
    
    // 將該筆週資料推入對應股票的 history 陣列
    grouped[sn].history.push({
        date: item.json.belong_date.split('T')[0], // 簡化日期格式
        ratio: item.json.BigHolderRatio,
        change: item.json.BigHolderChange,
        total_count: item.json.TotalHolderCount,
        count_change: item.json.HolderCountChange
    });
});

// 2. 轉換成 n8n 格式,並只取出前 5 檔股票 (如果你只需要 5 檔)
const result = Object.values(grouped).slice(0, 5).map(stock => {
    return {
        json: stock
    };
});

return result;






第五部分:第三階段:AI 綜合研判與 Line 格式轉換

Step 1:AI 綜合決策 - AI Agent

建立 AI Agent 然後建立 Groq Chat Model ,並且讓此 AI Agent 的 Model 使用 Groq
AI Agent 參數如下:

Source for Prompt (User Message) Define below
Prompt (User Message ) 以下內容


Prompt 有以下內容,讓 AI 輸出指定的格式,並且要代入身分: 台股籌碼分析師
這次是對每 1 個股票作籌碼分析

Role: 你是一位資深的台股籌碼分析師,專長是從集保戶股權變化中找出主力吸籌或出貨的訊號。

Task: 請分析股票(&#123;&#123; $json.stock_no &#125;&#125;)近 5 週數據,並依據邏輯給出結論。

Data (JSON):
&#123;&#123; $json.history.toJsonString() &#125;&#125;

分析邏輯參考:

大戶動向:觀察 BigHolderRatio 持續性。

籌碼集中度:BigHolderChange > 0 且 HolderCountChange < 0 代表強勢集中。

⚠️ 重要回傳格式規範:
請直接回傳以下 JSON 格式,不要包含任何 Markdown 區塊(不要有 ```json)、不要有額外開場白。

{
  "stock_no": "&#123;&#123; $json.stock_no &#125;&#125;",
  "rating": "強力看多/偏多/中立/偏空",
  "observation": [
    "第一點關鍵觀察",
    "第二點關鍵觀察"
  ],
  "conclusion": "一句話的操作建議"
}



Groq 參數如下:
將自己的 API Key 代入,並且注意 Model 必須要選可以容納大量輸入文本的模式(同之前設定)

Credential to connect with 您的 Groq API Key
Model llama-3.3-70b-versatile




Step 2:9. 格式轉換 - 正規化 Json 資料

建立 Code 節點,參數如下 :

Mode Run Once for All Items
Language Javascript


Js 代碼如下,目的是轉換為符合 Line Flex Message 所需的 JSON 代碼格式

// 定義評價顏色對應表
const ratingColors = {
  "強力看多": "#FF0000",
  "偏多": "#E63946",
  "中立": "#457B9D",
  "偏空": "#1D3557",
  "強力看空": "#008000"
};

// 處理所有輸入的 items
return items.map((item) => {
  const rawOutput = item.json.output;
  
  // 1. 提取 JSON 部分(過濾掉可能的 think 標籤或雜訊)
  const jsonMatch = rawOutput.match(/\{[\s\S]*\}/);
  
  if (!jsonMatch) {
    return { json: { error: "無法解析 JSON", raw: rawOutput } };
  }

  const aiData = JSON.parse(jsonMatch[0]);
  const textColor = ratingColors[aiData.rating] || "#333333";

  // 2. 自動生成觀察清單內容 (1️⃣, 2️⃣...)
  const observationContents = aiData.observation.map((text, index) => {
    const icons = ["1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣"];
    return {
      "type": "box",
      "layout": "baseline",
      "spacing": "sm",
      "contents": [
        { "type": "text", "text": icons[index] || "🔹", "color": "#aaaaaa", "size": "sm", "flex": 1 },
        { "type": "text", "text": text, "wrap": true, "color": "#666666", "size": "sm", "flex": 9 }
      ]
    };
  });

  // 3. 回傳 Line Flex Message 結構
  return {
    json: {
      "type": "flex",
      "altText": `${aiData.stock_no} 籌碼研究報告`,
      "contents": {
        "type": "bubble",
        "header": {
          "type": "box",
          "layout": "vertical",
          "contents": [
            { "type": "text", "text": "股票籌碼研究報告", "weight": "bold", "color": "#aaaaaa", "size": "sm" },
            { "type": "text", "text": `${aiData.stock_no} 籌碼健檢`, "weight": "bold", "size": "xl", "margin": "md" }
          ]
        },
        "body": {
          "type": "box",
          "layout": "vertical",
          "contents": [
            {
              "type": "box",
              "layout": "horizontal",
              "contents": [
                { "type": "text", "text": "籌碼評價", "size": "sm", "color": "#555555", "flex": 0 },
                { "type": "text", "text": aiData.rating, "size": "sm", "color": textColor, "align": "end", "weight": "bold" }
              ]
            },
            { "type": "separator", "margin": "md" },
            {
              "type": "box",
              "layout": "vertical",
              "margin": "lg",
              "spacing": "sm",
              "contents": observationContents
            },
            {
              "type": "box",
              "layout": "vertical",
              "margin": "lg",
              "backgroundColor": "#F0F0F0",
              "paddingAll": "10px",
              "contents": [
                { "type": "text", "text": `結論:${aiData.conclusion}`, "wrap": true, "size": "xs", "color": "#333333", "style": "italic" }
              ]
            }
          ]
        },
        "footer": {
          "type": "box",
          "layout": "vertical",
          "contents": [
            {
              "type": "button",
              "action": {
                "type": "uri",
                "label": "查看詳細數據",
                "uri": `https://tw.stock.yahoo.com/quote/${aiData.stock_no}`
              },
              "style": "primary",
              "color": "#1DB446"
            }
          ]
        }
      }
    }
  };
});




  HTTP Request (推播給 LineBot):透過 Messaging API 將精美的選股報告推送到使用者的 Line 手機端。



第六部分:第四階段:Line Bot 自動化推播

Step 1:10. 推播通知 - HTTP Request_推播給LineBot

建立 Http Request 節點,參數如下 :

Method Post
URL 您 Server LineBot 的 API 接口(包含域名)
Authentication None
Body Content Type JSON
Specify Body Using Fields Below
Body Parameters 第 1 組 Name => Message
  Value => {{ JSON.stringify($json) }}
Body Parameters 第 2 組 Name => GroupId
  Value => 您的 LineBot UserId / RoomId / GroupId


這是最後一步驟,就可以將結果推給 LineBot 輸出 Line Flex Message 到指定的訊息對話窗中

若推播成功,會依照股票數依序顯示


Step 2:LineBot 聊天室結果 - 成功接收

我們可以看到 LineBot 的聊天室群組,推播了 2458 籌碼健檢 ,並且提供評價、建議如何操作
查看詳細數據的按鈕,可以直接到 Yahoo 奇摩股市該股票的股價頁面




第七部分:結語與進階思考

Step 1:從自動化到智慧交易

目前實現了上述 n8n 功能,有以下特點:

核心優勢 詳細說明
1. n8n Cloud 穩定性 免去自建伺服器的維護成本與斷網風險,確保 24 小時監控 RSS 新聞,不漏掉任何關鍵訊號。
2. 異質系統整合 證明了 n8n 能完美串接 SQL 數據、AI 推理與 Line 通訊,是打造個人化金融戰情室的核心。
3. 低成本高效能 結合 Groq 的 LPU 加速技術,實現了以往需要昂貴硬體才能達成的秒級選股分析。



Step 2:後續優化擴展 - 讓系統更強大的三個方向

當自動化流程穩定運行後,後續還能在擴展以下升級,也是邁向量化交易的步驟:

擴展方向 實作構想
1. 加入回測機制 在 SQL 中記錄 AI 推薦時的股價,並於 5 天後自動比對漲跌幅,計算 AI 選股的「勝率」與「投報率」。
2. 串接下單 API 當 AI 綜合評分與籌碼指標達到「極高信心」門檻時,自動觸發券商 API 進行小額掛單買進。
3. 多模態情緒分析 除了文字 RSS,未來可串接 YouTube 或 Podcast 逐字稿,利用 AI 分析財經名嘴的口氣與情緒指標。