twstock-finmind Dashboard
SQLite 資料、最新收盤、圖表分析、做多篩選 V3|本頁只讀既有資料,不讀取 Token
載入中
📊 總覽儀表板
市場狀態載入中
6 指數卡・類股熱力圖・大盤走勢(MA60)・市場廣度・法人/期貨籌碼・強勢族群/個股・漲跌家數與外資趨勢(ECharts)。●市場開盤中+即時報價接 Part A 凱基。
類股熱力圖
面積=家數・色=漲跌大盤走勢(加權+MA60,今年)
市場廣度(漲跌家數比)
法人籌碼(今日,億元)
期貨籌碼(台指期)
外資淨部位/十大交易人待接(P3,需 FinMind token)
強勢族群 TOP 5
漲跌家數趨勢(近 8 日)
外資買賣超趨勢(張)
強勢股排行(RS)
⚡ 即時報價(凱基)
尚未連線
🧭 圖表分析摘要
⚙️ 資料來源
資料來自 data/twstock.db、reports/charts/*.png 與 reports/long_filter_v2.csv。
讀取中...
📈 TWSE 官方收盤(最新交易日)
讀取中...
收盤走勢
成交量(張)
🖼️ 既有圖表
由 generate_charts.py 產生🚀 新提款機扣3D V3 Top 30
讀取 reports/long_filter_v2.csv🧲 籌碼篩選 V3
外資投信同買:外資+投信同步買進,多因子評分 ≥ 18(法人強度百分位 + 技術 + 量能 + 主題)
外資卡位:外資主導買超,多因子評分 ≥ 14
投信鎖碼:投信主導買超,多因子評分 ≥ 15
讀取中...
💪 強勢優化 v2.0
優化強勢分數(壓低小產業霸榜)+ 0~100 強度條 + 龍頭股 Top3
讀取中...
🔍 個股總覽
輸入股票代號後顯示日 K 線與技術指標(MA/KD/MACD/RSI),資料來自 TWSE 官方收盤。
💼 虛擬下單(紙上交易)
純虛擬練習,不送任何真實委託;現價取自凱基即時/最近收盤。
🤖 AI 操盤分析
帳號(≥3碼)
密碼(≥6碼)
代號
股數
價格(空=自動帶價)
持股
交易紀錄(近 200 筆)
與你手動帳戶並行的獨立虛擬帳戶,AI 依規則自動進出、權益曲線分開計算。啟用即跑一次,之後每交易日08:30 盤前定觀察清單、09:00–13:30 每 5 分鐘盤中監控(站上突破才買、跌破停損/觸及目標才賣)、13:35 收盤結算,皆由排程自動操盤。需先於「虛擬下單」分頁登入後才會載入資料(兩分頁共用同一帳號)。
尚未登入:請先到「虛擬下單」分頁登入,本頁才會顯示 AI 帳戶資料。
AI 持股(逐檔進場依據:評級/突破/停損/目標/RR,買進時凍結)
AI 觀察清單(凍結突破價,站上才買)
AI 操作日誌(近 200 筆)
📝 分段掃描 / 報告摘要
載入中
🕘 排程執行 Log 歷史記錄
只讀取 logs/ 內的排程相關檔案,預設顯示最近 200 行。
讀取中...
載入中
📋 更新日誌
| 日期 | 更新內容 |
|---|---|
| 2026-07-13 | 新增 Gitea push 自動部署(webhook → pull → 重啟服務):先前 AI 透過 issue+label 修完並合併進 Gitea master 後,這台伺服器不會自動更新,需手動 pull+重啟,導致「commit 已合併但頁面還是舊的」(如 issue #7 拿掉族群輪動後頁面仍顯示)。新增 deploy/webhook_listener.py(systemd 服務 twstock-deploy.service,監聽 3110、HMAC-SHA256 驗證簽章、只認 master push)與 deploy/auto_deploy.sh(askpass 取憑證 fetch → 僅快轉合併 → 重啟 twstock-finmind.service;工作區不乾淨或歷史分歧時中止並記錄,flock 防併發),Gitea repo 已註冊 push webhook(branch filter:master)。每次觸發無論結果都寫 logs/deploy_webhook.log(收到事件)與 logs/auto_deploy.log(部署結果)。之後 issue 修完合併 master 即自動生效,無需手動部署。 |
| 2026-07-12 | AI 託管帳戶:既有持倉停損統一改回「平均成本 −10%」政策線(issue #5 補完):issue #5 把停損政策改為「平均成本 −AI_STOP_LOSS_PCT%(預設 10%)全出」,但當時只改了 ai_buy()(新買進適用),既有持倉的 stop 欄仍是舊的「支撐×0.97」技術停損,多數在成本 −11%~−23%(如凌巨 −16.4%、能率網通 −19.9%、亞航 −23.1%),跌破 −10% 也不會出清。修正:run_for_user() 新增「停損政策同步」段——每輪開頭把持倉 stop ≠ 成本 −10% 者更新為政策線並寫 adjust_stop 日誌(同步後與 ai_buy() 寫入值一致,之後每輪皆為 no-op;加碼攤平仍跟新成本重算);既有 16 筆持倉已即時回填(同公式+同 log 格式),其中凌巨×3 帳戶與台塑(uid2)現價已低於新停損線,下一交易日盤中 live 首輪即停損出清。AI 日誌動作標籤新增「⚙️ 調整停損」。注意:聯強/元大金 2 筆舊技術停損比 −10% 更緊(−8.4%/−9.1%),統一政策後略為放寬,屬預期行為。 |
| 2026-07-12 | AI 託管帳戶持股「逐檔」顯示完整進場依據(評級/突破/停損/目標/RR/距停損%):停損=支撐×0.97、目標=突破+(突破−支撐)、突破=進場觸發價、RR/停損距離%/評級——這些本來就是每一檔個股各自的交易計畫,但先前 AI 買進後只把 stop/target 存進 pt_ai_positions(rr 欄存在卻從未寫入、突破價與評級根本沒存,觀察清單列又於買進即刪),持股頁只看得到整體損益+停損/目標兩欄,逐檔的進場依據遺失。修正:pt_ai_positions 新增 breakout/rating 欄(自動 ALTER TABLE),ai_buy() 買進時把該檔的突破/RR/評級一併凍結寫入;既有 16 筆持倉由 pt_ai_log 買進當下的 detail_json 訊號快照回填(只補 NULL 不覆蓋,_backfill_ai_position_basis())。/api/pt/ai/portfolio 逐檔回傳 breakout/rr/rating 與即時算的 stopDistPct(現價距停損%);「AI 持股」表新增評級/突破/RR 三欄,停損欄附「現價距停損 −x%」、目標欄附「距目標 +x%」提示。同步更新「🤖 AI 操盤分析」文件:加註「全部價位與評級皆為逐檔概念、買進即凍結至該筆持股,僅部位大小與大盤閘門看整體」,並註明「支撐×0.97」為掃描階段技術停損(候選篩選+風險法部位計算用),持倉實際停損線自 issue #5 起為該檔平均成本 −10%(AI_STOP_LOSS_PCT,新買進適用),同樣逐檔各自一條線。 |
| 2026-06-29 | 修正台指期「夜盤不更新」(顯示日盤收盤凍結值):期交所 MIS 的日盤與夜盤是不同市場、不同合約後綴——日盤(一般)=MarketType:"0"、近月後綴 -F;夜盤(盤後)=MarketType:"1"、近月後綴 -M。原 fetch_taifex_txf() 不論時段都查日盤參數,導致夜盤(15:00→次日05:00)抓回的是日盤收盤的舊值、CTime 凍結在 13:44:59 不動。新增 _taifex_market() 依台北時間決定市場別與合約後綴(平日 08:45–15:00 用日盤源含 13:45 後顯示收盤;其餘夜盤/清晨/週末用盤後源),fetch_taifex_txf() 改帶對應 MarketType 與後綴、快取以市場別為 key(切換時段不沿用另一時段快取),卡片時段標示改用同一判斷。實測夜盤卡現顯示即時成交與秒級更新的 CTime。不需 cron:台指期為即時拉取式(前端 futuresOpen() 夜盤本就輪詢),此次純為抓取參數修正。 |
| 2026-06-29 | AI 託管帳戶改盤中即時操盤(買在開盤後、賣有盤中+盤尾):原 AI 操盤引擎只有每日 08:30 一次、用昨收判斷買賣,導致「買進只在早上、停損停利一天才看一次」。現改為三段排程(cron 週一~五):08:30 盤前定計畫(--mode plan,只刷新觀察清單與 ttl、不買不賣)→ 09:00–13:30 每 5 分鐘盤中監控(--mode live,吃凱基即時報價:站上凍結突破才買、跌破停損/觸及目標即時賣)→ 13:35 收盤結算。關鍵修正:realtime_monitor.get_watch_list() 原未訂閱 AI 標的,導致 AI 持股/觀察清單盤中抓不到即時價(永遠 fallback 昨收、突破/停損形同失效);現已將 pt_ai_positions(持股) ∪ pt_ai_watchlist(觀察清單) 一併納入訂閱(15 秒內自動補訂)。凱基訂閱上限保護:觀察清單達 121 檔,全訂會超過凱基單連線上限(實測約 30 檔,超過回 Q012 並被丟棄、可能連帶丟掉 AI 持股的監控);get_watch_list() 改為有優先序+裁到上限(AI 持股→人持股→近 30 分查價→config 核心→AI 觀察清單「最接近突破」者補滿),上限 KGI_MAX_SUBS 預設 30(systemd drop-in 可調)。實測 30 檔內可涵蓋全部 AI 持股+全部人持股+8 檔最接近突破候選,Q012 歸零。引擎 jobs/ai_autotrader.py 以 --mode 拆 plan/live/full:盤中多輪以 pt_ai_trades 當日實際筆數控管「單日最多新進 3 檔」(不再每輪歸零)、觀察清單 ttl 只在盤前 plan 維護一次(不再每輪 −1)、大盤 regime 日誌僅盤前寫一次避免洗版、pt_ai_equity 同日列 upsert 持續刷新收盤為最終值。同步更新「🤖 AI 操盤分析」文件與 AI 託管帳戶面板說明。 |
| 2026-06-28 | 移除指數卡下方 VIX 解讀列:判級已移入卡片內彩色徽章後,下方獨立解讀列(vixNote)重複,予以移除(連同 renderVixNote()、.vix-note 樣式與 vixNote 容器);判級邏輯 vixInterp() 保留供卡片徽章使用。 |
| 2026-06-28 | 台指 VIX 判級標籤移入卡片內:原判級(高度恐慌等)只顯示在指數卡下方解讀列,現於 VIX 卡片內(原 sparkline 位置,VIX 無走勢圖)以彩色徽章呈現「高度恐慌/偏高/正常…」,顏色隨級別(綠→黃→紅)。ic-vixtag 樣式、renderIdxCards() 渲染。 |
| 2026-06-28 | VIX 卡標籤與解讀精簡為「台指 VIX」:卡片標籤由「台股 VIX」改為「台指 VIX」;指數卡下方解讀列精簡為單行格式「台指 VIX 44.01 高度恐慌 (2026-06-26 收盤)」(移除冗長說明與註腳,保留判級與顏色)。 |
| 2026-06-28 | VIX 卡正名為「台股 VIX」,避免與美股 VIX 混淆:本卡資料為期交所臺指選擇權波動率指數(TAIWAN VIX),標的為臺指選擇權、反映台股未來 30 天預期波動,與美股 CBOE VIX(S&P 500)是不同指數、數值不同。原標籤僅「VIX 指數」易被誤認成美股 VIX(例:2026-06-26 台股 VIX 收 44.01=高度恐慌,當日加權 −3.64%/櫃買 −5.59% 大跌;同日美股 VIX 約 18 為兩回事)。卡片標籤改為「台股 VIX」,解讀文字加註「臺指選擇權波動率指數,反映臺股未來 30 天預期波動,與美股 VIX 不同」。數值來源與計算不變(仍取期交所官方收盤)。 |
| 2026-06-28 | 首頁 HTML 禁止快取,改版即時生效:本站所有前端 JS 內嵌於單一 HTML,改版即是改這份文件,但 / 原本不送任何快取標頭,瀏覽器/CDN 會沿用舊版,導致新功能(如 VIX 狀況解讀)需手動硬重新整理才看得到、甚至卡在「有 VIX 卡、沒解讀」的中間版本。改為在 index() 明確回 Cache-Control: no-cache, no-store, must-revalidate(+Pragma/Expires),首頁不再被快取;靜態檔(echarts.min.js 等)不受影響。 |
| 2026-06-28 | 總覽儀表板指數卡下方新增「VIX 狀況解讀」:在 6 張指數卡下方新增一條 vixNote 區塊,依當前 VIX 數值分區解讀市場情緒(<15 低波動/15–20 正常/20–25 略升/25–35 偏高/35–50 高度恐慌/≥50 極度恐慌),含對應顏色標記(綠→黃→紅)與一句說明,並標註收盤日。前端 vixInterp() 判級、renderVixNote() 渲染,跟著指數卡一起更新。目前 44.01 落在「高度恐慌」區。 |
| 2026-06-28 | 修正「TWSE 官方收盤」面板偶發顯示「尚無資料」:renderTwse() 原本 _twseData 每次載入只 fetch('/api/twse-daily') 一次就永久快取,若該次請求剛好碰上服務重啟/部署的數秒空窗而撲空或丟例外,空結果會被快取住,整個分頁 session 一直顯示「尚無 TWSE 官方收盤資料。請先執行 jobs/daily_backfill.py」直到重新整理(實際 twse_daily 資料正常)。改為僅在尚未取得資料或上次抓到空時才(重)抓,並以 try/catch 包住,撲空不快取、可自動重試。 |
| 2026-06-28 | 總覽儀表板「VIX 指數」卡接入臺股波動率指數:原 VIX 卡為 available:false 佔位(待接 P3)。新增期交所臺指選擇權波動率指數(TAIWAN VIX)來源(fetch_taifex_vix():先讀 taifex.com.tw/cht/7/vixMinNew 取近月各交易日,再抓最新與前一交易日的 getVixData 分鐘檔,以末列「Last 1 min AVG」官方收盤值算漲跌,免 token、5 分鐘快取)。卡片顯示最新 VIX 收盤值、對前一交易日漲跌/漲跌%(VIX 升=市場恐慌升)。為日資料、盤後更新。 |
| 2026-06-28 | 總覽儀表板「台指期」卡接入即時+台股夜盤:原「台指期近月」是 available:false 佔位(待接 P3)。新增期交所 MIS 近月台指期來源(fetch_taifex_txf() 打 mis.taifex.com.tw/futures/api/getQuoteList,CID=TXF 取近月 -F 合約,免 token、5 秒記憶體快取),同一端點日盤(08:45–13:45)與夜盤(15:00–次日05:00)皆更新。卡片即時顯示最新成交/漲跌/漲跌%,meta 依時段標示「日盤/夜盤 HH:MM:SS」,休市則顯示最後成交價+收盤日。前端新增 futuresOpen() 時段判斷,輪詢在日盤與夜盤都會刷新指數卡(即時報價面板仍只在日盤輪詢)。加權/櫃買現貨無夜盤,夜盤時段該兩卡維持最後收盤。 |
| 2026-06-24 | 修正即時報價面板顯示數天前的舊價:realtime_quote 以 upsert 累積,曾被訂閱(持股/查價請求)後又移出監控清單的代號會殘留舊價且不再更新;原 /api/realtime 無條件吐出全表,前端把最舊達 13 天前的價(如 6/11 的 2603=226、6/23 的 2368=1265)當「即時報價」顯示,與真實即時對不上。改為只回「表中最新交易日」那批報價(substr(datetime,1,8) = 最新日期 且 datetime <> ''),過時殘列一律排除;並清除既有 21 筆殘留舊列。持股頁現價另走「凱基即時→最近收盤」回退,不受影響。註:log 另有凱基 Q012 訂閱數量已超過上限(盤中查價/下單臨時加訂使清單暫時超過凱基單 session 上限),核心 23 檔不受影響,後續可加訂閱數上限保護。 |
| 2026-06-23 | 虛擬下單持股進場時凍結停損/目標/風報比:先前持股的目標價/風報比只在顯示當下從今日 reports/long_filter_v2.csv 即時 join,隔天做多篩選一覆蓋名單就消失。改為下單即把進場依據凍結存進資料表:pt_positions(及 AI 子帳戶 pt_ai_positions)新增 stop/target/rr 三欄,買進時由 _settle_order() 取當日 V3 Top30 的停損/目標/風報比寫入,以 COALESCE 凍結首次有值者(加碼不覆蓋)。/api/pt/portfolio 改為優先顯示凍結值,舊持倉(凍結為 NULL)才回退當日 Top30;持股表凍結值標 🔒、今日 Top30 標 ⭐。既有資料表自動 ALTER TABLE 補欄不影響舊資料。 |
| 2026-06-22 | AI 託管帳戶每筆風險上限 1.5% → 10%:操盤引擎風險法部位(jobs/ai_autotrader.py AI_RISK_PCT)預設由 1.5% 調高至 10%(仍可用環境變數覆寫),單筆進場可承擔更大風險、配置更大部位。實務上部位大小取「風險法/單檔權重上限 25%/可用現金」三者最小值,風險拉到 10% 後多數進場將改由 25% 單檔權重上限主導;「問 AI 解讀日誌」提示詞文字同步更新為 10%。單檔權重上限 25% → 40%(AI_MAX_WEIGHT_PCT):配合 10% 風險放大單筆部位,仍保留分散(8 檔上限下最少約 2.5 檔,單筆被停損實虧 ≤ 權益 4.8%)。同步更新「AI 操盤分析」文件(ai_autotrader_analysis.html,即標題列「🤖 AI 操盤分析」與「分析說明」按鈕):風控參數改為每筆風險 10%、單檔權重上限 40%,並加註「風險法部位約需權益 83%、實務多被 40% 權重上限封頂、單筆實虧 ≤ 4.8%」的風險說明,含範例日誌與公式一併更新。 |
| 2026-06-22 | AI 託管帳戶可隨時加碼(增加動用金額):先前動用金額只能在「首次接手」建立帳戶時設定一次,事後無法調整。新增 /api/pt/ai/topup 加碼 API 與畫面上的「+ 加碼」輸入框(帳戶建立後顯示),同時增加可用現金 cash 與報酬率基準 seed_cash(使報酬率不因注資而失真),上限仍為 10 億,每次加碼寫一筆 pt_ai_log。AI 持股摘要新增「動用金額(種子)」卡片,狀態一目了然。修正 AI 操盤引擎 cron:原 ai_autotrader 排程漏了 cd /opt/twstock-finmind,從家目錄執行使相對路徑 logs/ 失效、整段失敗從未真正執行;已補上工作目錄(週一~五 08:30 正常自動操盤)。更新「AI 操盤分析」文件(ai_autotrader_analysis.html,即「分析說明」按鈕)為「目前狀況:已上線」現況:引擎已實作、cron 每日 08:30 EOD 版、pt_ai_* 實作表、預設撥 1000 萬可加碼,並標注盤中即時/LINE 日報為未來增強。AI 託管帳戶面板自動刷新:登入後每 30 秒自動重抓 AI 操作日誌+持股+狀態(aiStartPoll,不重置閒置登出計時),登出/逾時自動停止。啟用即跑一次:使用者按「AI 接手」啟用後,/api/pt/ai/toggle 立即針對該 user_id 跑一次操盤引擎(ai_autotrader.run(only_uid=))——建立觀察清單、視突破進場、寫權益曲線,不必等隔日 08:30 cron;於連線關閉後執行避免 SQLite 鎖衝突,失敗不影響接手狀態。觀察清單可視化:操盤引擎每輪刷新觀察清單後寫一筆 watch 摘要日誌(凍結突破價、距突破百分比、已站上幾檔),AI 面板新增「AI 觀察清單」表格(現價/凍結突破/距突破/停損/目標/RR/剩餘 TTL,站上突破者優先),即使當日未進場也看得到 AI 正在凍結突破價、等突破,不再像「沒在動作」。新增 /api/pt/ai/watchlist。日誌每筆可一鍵「📋 問 AI」:把該筆 log(含 detail_json 訊號快照)組成向網頁 AI 提問的繁中 prompt 並複製到剪貼簿(支援非 HTTPS 環境的 fallback),方便貼到外部 AI 追問決策。AI 日誌「標的/說明」欄改為可換行(覆寫全域 nowrap、限制欄寬),長摘要不再橫向撐長版面。「AI 託管帳戶」獨立為側邊欄分頁(#ai-account):自虛擬下單面板搬出成頂層 section,側邊欄新增專屬連結;與虛擬下單共用同一登入 session,未登入時顯示提示引導至「虛擬下單」分頁登入。 |
| 2026-06-20 | AI 自動操盤(虛擬)Part D 階段二:操盤引擎+可設定動用金額:新增 jobs/ai_autotrader.py 純規則引擎(0 token)——遍歷 ai_enabled=1 帳戶各自操盤:出場(現價≤停損→停損/≥目標→停利)→ 觀察清單(合格 setup 凍結突破價進 pt_ai_watchlist,現價站上凍結 breakout 才以風險法部位買進,未突破 ttl 每日−1 過期清除)→ 結算(寫 pt_ai_equity 權益曲線),每個決策寫 pt_ai_log 可解釋日誌。實測今日訊號:38 檔合格 setup 入清單、0 檔站上突破(符合分析)。「AI 接手」可自訂動用金額(10 萬~10 億,預設 1000 萬);新增 pt_ai_accounts.seed_cash 記初始金額作報酬率基準。操盤引擎排程(cron)待最後啟用。 |
| 2026-06-20 | AI 自動操盤(虛擬)Part D 階段一:帳號地基+接手開關:虛擬下單新增🤖 AI 託管帳戶區塊——獨立子帳戶(pt_ai_accounts/pt_ai_positions/pt_ai_trades/pt_ai_log,與人手動 pt_* 表完全分離,權益曲線/統計乾淨)。新增 「AI 接手操盤/停止」按鈕(首次接手撥種子資金 1000 萬、寫 ai_started_at)與唯讀檢視:AI 摘要(含對種子報酬率)、AI 持股(含停損/目標)、AI 操作日誌(動作+人話說明+訊號快照 detail_json)。API:/api/pt/ai/status|toggle|portfolio|log(皆 login_required)。買賣結算邏輯抽成共用 _settle_order(),人路由與 AI 共用同一套均價結轉(人路由行為不變)。操盤引擎(盤後 cron)為階段二,本期尚未啟用;純規則、0 token。 |
| 2026-06-20 | 虛擬下單新增「AI 操盤分析」彈窗檢視:虛擬下單面板標題列新增 🤖 AI 操盤分析 按鈕,點擊以獨立彈出視窗(置中、可捲動)檢視《AI 自動操盤(虛擬)整體分析》文件(/ai-autotrader-analysis 服務 ai_autotrader_analysis.html)。文件涵蓋策略素材、實測數據、進場模式取捨、帳號模型(AI 獨立子帳戶+按鈕接手)、可解釋日誌設計(pt_ai_log)、啟動/結束排程(盤前 08:30/盤中/盤後 13:35)與純規則版=0 token 成本。純唯讀檢視入口,不改任何下單邏輯與資料表。 |
| 2026-06-17 | 虛擬下單持股帶入 V3 Top30 目標價/風報比:持股若出現在今日「新提款機扣3D V3 Top 30」名單(reports/long_filter_v2.csv 前 30 名),持股表自動帶入該股目標價(含距目標 %)與風報比兩欄,代號旁加 ⭐ 標記(hover 顯示評級),風報比 ≥2 以紅字標示;不在名單者顯示「—」。後端 /api/pt/portfolio 以 _top30_targets() 做代號 join(純讀 CSV,不改任何下單邏輯與資料表)。 |
| 2026-06-17 | 總覽儀表板加權/櫃買指數盤中即時化:原指數卡只讀 taiex_daily/tpex_daily 盤後日線(一天一更、盤中不動)。新增證交所 MIS 盤中試算指數來源(fetch_mis_indices() 打 mis.twse.com.tw 抓加權 t00/櫃買 o00,免 token、3 秒記憶體快取),/api/indices 在台北時間平日 09:00–13:35以即時值覆蓋加權/櫃買卡並把即時點推進 sparkline;前端每 4 秒輪詢(pollIndices)更新數值、卡片標示「即時 HH:MM:SS」。盤後自動回退日線收盤。 |
| 2026-06-10 | 凱基憑證工具納入版控:把 KGI_CGCrypt(憑證綁定工具,genDat / removeDAT / checkDat)與 libCGCrypt.so 加入 git 追蹤,重灌或換機時不必再向凱基重新取得;憑證本體(.dat/.pfx)仍排除在版控外。 |
| 2026-06-10 | 凱基即時報價斷線自動重啟:修復 6/9 14:22 凱基伺服器端關閉 WebSocket 後行情永久斷線的問題(程序不死故 systemd 偵測不到,前端一直顯示舊價)。KgiRealtimeMonitor 登入後加掛 set_cb_event 監聽連線事件,收到斷線類事件(DISCONNECTED/WS_ERROR/心跳逾時/重連失敗等)起算,持續 120 秒未恢復(恢復=連線事件或任一 tick)即結束程序,由 systemd 20 秒後自動重拉重新登入+訂閱;逾時秒數可用 .env 的 KGI_DISCONNECT_EXIT_SEC 調整。 |
| 2026-06-10 | 法人籌碼改金額顯示+籌碼表漲跌%+安全強化:總覽儀表板「法人籌碼(今日)」由張數改為金額(億元)(金額=Σ 淨買賣股數×當日收盤價,/api/inst-today JOIN twse_daily)。籌碼篩選 v3 表的收盤價欄加註當日漲跌%(紅漲綠跌上色,SQL 取前一日收盤計算)。安全強化:session cookie 加上 Secure / HttpOnly / SameSite=Lax(配合 HTTPS),/upload-markdown 改為需登入才能上傳。 |
| 2026-06-09 | 個股總覽初始不佔版面:未查詢前隱藏 600px 圖表框,按「查詢」查到資料後才展開日 K 圖;查無資料維持收合。 |
| 2026-06-09 | 持股現價漲跌上色+即時報價以全體持股為主:虛擬下單持股表的現價依當日漲跌上色(台股慣例紅漲綠跌,並顯示漲跌%)。凱基即時監控的訂閱清單改為「所有 user 虛擬下單持股 ∪ config 預設清單」,且盤中每 60 秒自動刷新(新買的股票自動加訂、無人持有自動退訂),確保任何持股都拿得到即時現價(後端 realtime_monitor.get_watch_list+KgiRealtimeMonitor.refresh_subscriptions)。 |
| 2026-06-09 | 虛擬下單持股現價盤中自動更新:持股表新增盤中每 5 秒自動輪詢(只重抓 /api/pt/portfolio,現價/市值/未實現損益/總資產隨凱基即時 tick 跳動),盤後(非 09:00–13:30)自動停止不空打;登出/逾時即停止輪詢。輪詢不計入使用者操作,不影響閒置自動登出。 |
| 2026-06-09 | 「更新日誌」改為彈窗顯示:點左側選單「更新日誌」改為跳出訊息視窗(modal)顯示內容,不再捲動到頁面底部;可點視窗外、右上角 × 或按 Esc 關閉。 |
| 2026-06-09 | 修復即時報價監控並設為開機自啟:原 KgiRealtimeMonitor._on_tick 因 from __future__ import annotations 把回傳註解字串化,觸發 kgisuperpy set_cb_tick 簽名檢查失敗(登入成功卻收不到 tick,前端一直「等待 tick…」);移除該 callback 的型別註解修正。新增 systemd 服務 twstock-realtime.service(enable --now,開機自動登入凱基訂閱逐筆 tick 寫入 realtime_quote,崩潰自動重啟,log 導向 logs/realtime_monitor.log)。另移除 realtime_monitor.py 過時的範例警報門檻(2330 price_above:1100 早被現價突破狂噴假警報),預設不設門檻。 |
| 2026-06-05 | 虛擬下單初始資金由 100 萬調整為 1000 萬(新註冊帳號適用)。 |
| 2026-06-05 | 修正虛擬下單可超額買進:原設計不限制現金(買進可使現金變負,導致總資產計算看似異常),改為現金不足即擋下買進(回「現金不足」),確保現金不為負、總資產=現金+持股市值正確。 |
| 2026-06-05 | 虛擬下單登入新增閒置逾時自動登出:Flask session 採 rolling 逾時(每次請求刷新到期,預設 15 分鐘未操作即失效,可用 .env 的 PT_SESSION_MINUTES 調整);前端偵測閒置滿時自動登出,且任何下單/查詢 API 回 401 即切回登入畫面並提示「登入逾時」。另在「虛擬下單」標題後顯示登入者台幣總資產 NT$(隨持股/現價即時更新) |
| 2026-06-05 | 新增「個股總覽」分頁(Part B P4,富果風日 K 頁):搜尋代號 → 顯示多面板日 K 線(K 棒+MA5/10/20/60、成交量、KD、MACD、RSI 五格連動,含 3月/6月/1年/全部範圍縮放),現價/漲跌表頭。後端新增 /api/stock-detail(OHLC 取自 twse_daily,技術指標 Python 計算)。另把 ECharts 改本地 serve(static/echarts.min.js,不再依賴 CDN,離線可用) |
| 2026-06-05 | 總覽儀表板改版為專業版三區佈局(Part B P3,對齊參考稿):指數卡擴為 6 張(加權/櫃買/台指期/電子/金融/VIX,電子+金融新增 index_daily 表+fetch_indices.py 抓證交所 MI_INDEX、免 token;台指期/VIX 待 FinMind token)。中段三欄新增類股熱力圖(ECharts treemap)、大盤走勢含 MA60(/api/index-trend)、市場廣度量規+法人籌碼今日(/api/inst-today 外/投/自合計)+期貨籌碼占位;底段三欄為強勢族群 TOP5(/api/sector-strength)、漲跌家數趨勢、外資趨勢+強勢股排行。即時報價面板移至下方。註:FinMind token 已失效,台指期/VIX/期貨籌碼籌待補 |
| 2026-06-05 | 新增「虛擬下單」分頁(Part C,紙上交易):帳密登入(密碼 werkzeug 雜湊、Flask session、FLASK_SECRET 從 .env 讀),初始資金 100 萬。新增 pt_users/pt_accounts/pt_positions/pt_trades 表(pt_ 前綴,與唯讀行情表分離)與 API:/api/pt/register|login|logout|me|price|order|portfolio|trades,皆 login_required 且只操作自己帳戶。買賣均價結轉、持股不足擋下;現價優先序凱基即時 → 最近收盤。純虛擬不送任何真實委託,預設綁 127.0.0.1 |
| 2026-06-05 | 總覽儀表板接入即時報價(Part B P2):新增 realtime_quote 快照表(storage/db.py 的 ensure/upsert_realtime_quote),Part A 凱基監控 KgiRealtimeMonitor._on_tick 每筆 tick upsert 進此表;新增唯讀 API /api/realtime(補股名);儀表板新增「⚡ 即時報價(凱基)」面板,盤中每 4 秒輪詢更新現價/漲跌/量、●市場開盤中依台北時間切換。指數卡(TAIEX/OTC)跳動需訂閱指數(subscribe_index),留待 P3 |
| 2026-06-05 | 新增「總覽儀表板」分頁(Part B P1,ECharts 繪製):指數卡(加權/櫃買 OTC,含當日漲跌+近 20 日 sparkline)、市場廣度環形量規(漲跌家數比)、漲跌家數趨勢(長條+加權折線)、外資買賣超趨勢、強勢股排行(近 20 日 RS,上市/上櫃切換)。後端新增 5 條唯讀 API:/api/indices、/api/market-breadth、/api/breadth-trend、/api/foreign-trend、/api/strong-stocks(皆純讀既有表、不需 Token)。●市場開盤中以台北時間判斷;指數卡即時跳動待 Part A 凱基報價接入(P2) |
| 2026-06-05 | 即時報價監控由 Fugle WebSocket 改為直接登入凱基(kgisuperpy)抓逐筆 tick,不再經 /opt/fudo 橋接:新增 data_sources/kgi_streamer.py(KgiRealtimeMonitor,登入+訂閱 tick+價格突破/跌破/爆量警報),改寫 jobs/realtime_monitor.py 改用之;凱基帳密改讀 .env 的 KGI_PERSON_ID/PWD/SIMULATION。範圍僅即時報價,三大法人/融資融券/月營收/歷史日K 仍走 FinMind/證交所。註:登入需先以 genDat 安裝凱基 Linux 憑證 |
| 2026-06-04 | 所有分頁表格(TWSE 官方收盤、做多篩選、籌碼篩選、族群輪動、強勢優化)新增點欄位表頭即排序功能:通用委派式排序(initTableSort()),自動辨識數值/文字欄,數值欄首點遞減、文字欄首點遞增、再點同欄反向,空值一律墊底,表頭顯示 ▲/▼ 方向箭頭;scope 為所有 .table-wrap 表格,日後新表格自動套用 |
| 2026-06-04 | 新增「強勢優化 v2.0」Tab(/api/sector-strength):與族群輪動同資料源,改用優化強勢分數 平均漲跌×20 + 上漲率×0.6 + log(家數+1)×20,壓低平均漲跌權重、抬高家數(廣度)權重以避免小產業霸榜;新增 0~100「強度」百分比(以最高分等比縮放,前端畫強度條)、龍頭股精簡為 Top3,欄位含平均漲跌/強度/分數/上漲率/家數 |
| 2026-06-03 | 「TWSE 官方收盤」搜尋框過濾到單一個股時,表格下方展開該檔「價量」並排走勢圖(內嵌 SVG、零外部相依):左為收盤折線、右為成交量柱狀(張,依當日漲跌套紅/綠),兩圖共用 5日 / 1月 / 3月 區間切換、窄螢幕自動上下堆疊;新增 /api/twse-history 提供單檔日線收盤+量序列。註:資料庫僅有日線(無盤中分時),故最小單位為日、不提供 1 日盤中走勢;法人/籌碼圖因 DB 僅回補少數追蹤股暫不提供 |
| 2026-06-03 | 「TWSE 官方收盤(最新交易日)」新增「漲跌%」欄位(各檔相對前一交易日收盤漲跌%,與族群輪動同算法),並於標題列加上「全市場平均漲跌」(當日所有 4 碼個股漲跌% 平均) |
| 2026-06-03 | 新提款機扣3D V3 Top 30 區塊標題下方新增「更新時間」(取 reports/long_filter_v2.csv 檔案修改時間,精確到分,即掃描實際寫檔時間),與「資料日期」(最新收盤交易日)並列顯示,避免清晨開盤前掃描時資料日期落後一日造成混淆 |
| 2026-06-02 |
|
| 2026-06-02 |
|
| 2026-06-01 |
|
| 2026-05-28 |
|
| 2026-05-28 |
|
| 2026-05-28 |
|
| 2026-05-27 |
|
| 2026-05-27 | 移除籌碼篩選 V1,側邊欄「籌碼篩選」直接對應 V3 多因子評分版本 |
| 2026-05-27 |
|
| 2026-05-27 |
|
| 2026-05-27 | 調整做多篩選 V3 分段掃描排程:由每日 00:10~08:10(共 9 次)改為 17:10~01:10(跨夜 9 次),crontab 表達式更新為 10 17-23,0-1 * * * |
| 2026-05-26 |
|
| 2026-05-26 | 各區塊新增資料日期顯示:最新收盤摘要、新提款機扣3D V3 Top 30、既有圖表(圖檔修改時間)各自在標題下方顯示資料日期與筆數 |
| 2026-05-26 |
|
| 2026-05-26 |
|
| 2026-05-26 | 台股市場儀表板改為在 TAIEX/TPEX K 線下方獨立整列放大顯示,並在圖表標題與市場強弱區塊加入醒目的 BULL/BEAR/SIDE 狀態標示 |
| 2026-05-26 |
|
| 2026-05-25 |
|
| 2026-05-25 |
|
| 2026-05-25 |
|
| 2026-05-25 |
|
| 2026-05-25 |
|
| 2026-05-25 | 新增 fetch_price_backfill.py 每日排程(週一至五 16:00):自動補漏近 7 天全市場 TWSE+TPEX 收盤資料,確保籌碼篩選 V1 無缺口 |
| 2026-05-25 |
|
| 2026-05-25 | 新增「籌碼篩選 V1」Tab:三大法人籌碼 × 技術面(MA5/MA20/MA60)即時篩選,三種策略:外資投信同買、外資卡位、投信鎖碼,並附白話訊號說明 |
| 2026-05-25 | 移除上櫃三大法人、上市三大法人、融資融券三個區塊及對應排程(fetch_tpex_institutional.py、fetch_twse_institutional.py、daily_backfill.py 融資券步驟) |
| 2026-05-24 |
排程設定確認 • 15:30(週一至五)上櫃三大法人 fetch_tpex_institutional.py、上市三大法人 fetch_twse_institutional.py• 15:35(週一至五)盤後整合抓取 yfinance + FinMind 融資券 + TWSE 官方 jobs/daily_backfill.py• 00:10–08:10(每小時,每日)FinMind 做多篩選 V3 分段掃描 run_long_filter_batch.py
|
| 2026-05-24 | 修正非交易終端主題下 pre 區塊(資料來源、分段掃描/報告摘要、排程執行 Log 歷史記錄)文字不可見問題,改為白底顯示 |