「技術不是冷冰冰的指令,它可以是幫助別人做決策的溫柔手段。」
這是我做這個專題時,最常在心裡提醒自己的話。

一、起心動念:想把複雜的投資變得溫柔可觸
我一直相信:把技術做得「對新手友善」,比做出花俏的功能更重要。
於是我決定用我熟悉的工具(Python + Streamlit + AI)做出一個能回應「我想開始投資但不知道怎麼起步」的介面。
專案名稱暫且叫它:美股智能投顧。
核心目標:
- 幫新手把「資料」變成「可執行的投資提案」
- 用溫暖的語氣與簡明的圖表,減少使用者的焦慮
- 把學習與操作串成循序漸進的體驗(教育 → 建議 → 回測 → 紀錄)
二、我做了什麼(功能速覽)
在第一個可用版本中,我把功能壓成幾個明確的區塊:
- 使用者系統(簡易註冊/登入)
- AI 客製化投資組合(Google Gemini)
- 歷史績效視覺化(yfinance + Plotly)
- 紀錄功能(Google Sheets)
- 教育中心 / 一站式開戶 / 實作說明

三、技術重點
這些是我在程式碼裡特別刻意設計的部分:
- 多頁式 UI:Streamlit Tabs + Sidebar
- Google Sheets 當快速後端
- API Key 安全設計(Secrets / .env)
- AI 呼叫重試與錯誤處理
- 資料視覺化:Plotly 折線圖 + 蒙地卡羅模擬
- 紀錄回寫 Google Sheets

四、挑戰與解法
1) 外部 API 的不穩定性
- 問題:AI 回應 timeout / 格式錯誤
- 解法:重試機制、超時設定、UI 錯誤訊息提示
2) 大量金融資料下載效能
- 問題:一次抓多個 ticker 容易卡頓
- 解法:快取資料,必要時才更新;繪圖與下載分離
五、我學到的三件溫柔功課
- 使用者沒耐心,介面要清楚
- 不確定性也能用圖表解釋清楚
- 把紀錄留下來,才能持續改進
六、下一步規劃(roadmap)
- 更安全的 DB(Firestore)
- 更換部署方式:從 Streamlit Cloud 升級至
Google Cloud Run
(搭配 Docker) - 強化模型可信度:引入
多模型驗證
與修正蒙地卡羅
- 增加更多「金融專業指標」
- 打造真正的「個人化儀表板 (Dashboard)」
七、給同行的快速技術清單
- Web UI:Streamlit
- 金融資料:yfinance
- AI:Gemini / OpenAI
- 簡易 DB:Google Sheets (MVP) → Firestore
- 圖表:Plotly
- 其他套件:dotenv、pandas、numpy、gspread
八、結語
這個專題不是為了炫技,而是希望把技術變成 陪伴:
陪你做理性的決策、陪你理解風險、陪你在投資的路上睡得比較安穩。
如果你也在思考「如何把工程能力用在真實問題」,或許可以從這樣的小專案開始,慢慢把技術調成「溫柔模式」。
*此專題目前持續優化改版中,近期比較忙碌,後續若更新完成有機會再與大家分享!