OpenStock 開源股票市場回測系統安裝與 AI 策略整合教學
OpenStock 是一個由社群驅動的開源股票平台,昂貴的市場的平替工具。
簡介
在金融資訊被牆在付費訂閱後的今天,OpenStock 的出現無疑是一場及時雨。它是由 Open Dev Society 推出的開源股票市場平台,旨在打破昂貴工具的壟斷。
OpenStock 不僅僅是一個行情看板,它整合了 Next.js 15、TradingView 圖表、Finnhub 即時數據,甚至還能透過 Google Gemini 提供 AI 驅動的情感分析與個人化每日新聞簡報。最重要的是:它是完全開源且免費的,你可以選擇本地部署,掌握自己的金融數據。
介面展示 (UI Demo)
OpenStock 核心界面與即時數據展示
安裝教學:本地部署你的金融中心
OpenStock 支援 Docker 快速啟動,也支援手動安裝。請根據你的偏好選擇:
1. 使用官方網站(懶人推薦)
2. 使用 Docker (最推薦)
如果你希望環境乾淨且快速啟動,Docker 是最佳選擇。
# 複製專案
git clone https://github.com/Open-Dev-Society/OpenStock.git
cd OpenStock
# 啟動資料庫與應用程式
docker compose up -d mongodb && docker compose up -d --build
- 存取網址:
http://localhost:3000 - 提示:Docker 會自動幫你跑起一個 MongoDB 容器,省去手動設定資料庫的麻煩。
3. 手動安裝 (開發者推薦)
如果你想進行二次開發,可以使用 pnpm 或 npm。
| 步驟 | 指令 | 說明 |
|---|---|---|
| 安裝依賴 | pnpm install | 建議使用 Node.js 20+ |
| 環境變數 | cp .env.example .env | 填入你的 API Keys (見下表) |
| 驗證 DB | pnpm test:db | 確認 MongoDB 連線正常 |
| 啟動開發版 | pnpm dev | 支援 Turbopack 極速啟動 |
核心設定:API Keys 配置
要讓 OpenStock 完整運作,你需要準備以下幾把鑰匙:
| 變數名稱 | 來源 | 用途 |
|---|---|---|
NEXT_PUBLIC_FINNHUB_API_KEY | Finnhub | 核心市場數據、新聞、公司資訊 |
MONGODB_URI | 本地或 Atlas | 資料儲存、用戶清單、身分驗證 |
GEMINI_API_KEY | Google AI | AI 個人化郵件、新聞摘要 (選配) |
BETTER_AUTH_SECRET | 自定義 | 確保用戶登入安全 |
小知識:
NEXT_PUBLIC_前綴的變數會暴露給瀏覽器,請確保這類 API Key (如 Finnhub) 在官方平台上有設定網域白名單。
核心功能教學
第一步:建立你的 Watchlist (自定義清單)
- 註冊並登入後,使用
Cmd + K喚起全域搜索框。 - 搜尋你想關注的股票(如
AAPL,TSLA,NVDA)。 - 進入詳情頁,點擊右上角的星號即可加入清單。
第二步:深入技術分析
OpenStock 完美整合了 TradingView 組件:
- 進階圖表:支援 K 線、技術指標(RSI, MACD 等)。
- 熱力圖 (Heatmap):快速掌握市場當日資金流向。
- 公司財務:直接在頁面查看季度營收與獲利表現。
第三步:AI 情感分析 (Advanced)
如果你配置了 ADANOS_API_KEY,OpenStock 會分析:
- 社群媒體:追蹤 Reddit 與 X.com 的討論熱度。
- 新聞情感:自動判斷當前新聞對股價是利多還是利空。
- 預測市場:參考 Polymarket 等平台的數據。
第四步:自動化工作流 (Inngest)
OpenStock 使用 Inngest 處理背景任務:
- 歡迎信件:註冊後自動發送 AI 生成的個人化歡迎內容。
- 每日摘要:根據你的 Watchlist,每天中午 12 點自動彙整新聞發送到你的信箱。
為什麼選擇 OpenStock? (我們的宣言)
我們相信技術應該屬於每個人。知識不該被鎖在付費牆後,工具不該被綁架在訂閱制中。
「OpenStock 將永遠免費且開源。我們不跑廣告,不賣數據,我們只跑透明度與社群的力量。」 —— Open Dev Society Manifesto
常見問題與解決 (Troubleshooting)
- 數據顯示延遲:Finnhub 免費版數據可能會有 15 分鐘延遲,這是 API 供應商的限制。
- AI 功能沒反應:請確認
GEMINI_API_KEY是否有效,並確保 Inngest 服務正在運行 (npx inngest-cli@latest dev)。 - Docker 啟動失敗:請檢查 27017 (MongoDB) 或 3000 埠位是否被其他程式佔用。
相關連結:
免責聲明:OpenStock 為社群開發專案,非證券經紀商。所有數據僅供參考,不構成任何投資建議。