首頁

目前文章總數:256 篇

  

最後更新:2026年 10月 31日

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 分析財經名嘴的口氣與情緒指標。