xiaoge_distill · Inventory

小哥交易知識來源與產出物盤點

三條原料線餵進來的東西到底有多少?中間的規則卡、最後的手冊、再往下的選股器,各自放在哪、進不進版控?這一頁一次講清楚。

5 條來源 影片/教材/課程/PPA/外部筆記 1,336 張 規則卡 1,024 條 唯一規則 67 份 篩選規格(1 份放行)
0

一張圖看懂全貌

所有東西都在 data/xiaoge/ 底下,依「線」分資料夾

整個專案只做一件事:把權證小哥講過的東西,變成可重用、可被程式篩選的交易判斷規則。左邊三條線是原料,中間匯流成規則卡與主手冊,右邊選股線再把文字規則翻成每日篩選清單。主手冊是唯一正本,其餘不是原料就是可重生的衍生物。

① 知識來源 YouTube 影片線 57 集全數萃取(含 17 集會員) 教材 PDF 線 2 份教材 / 56 小節 課程錄影線 17 支 / 11.1 小時 / 9 門課 外部筆記(第四來源) 同學筆記 1 / 小哥臉書貼文 1 篇 PPA 訂閱線(第五來源) 已併入 6 篇 / 117 張卡 ② 中間產物(LLM 萃取) 規則卡 1,336 張 影片 769 / 教材 63 / 課程 141+1 / PPA 117 / 外部 11 quote 驗證 + 情境欄位 ③ 正本 主手冊 870 條 五篇 · mention_count 排序 notes主手冊/ ④ 下游 篩選規格 67 份 YAML 每日清單 floor_list/ 衍生物(可重生) 58 份簡報 / 課程筆記 / 教材手冊 / 手機隨身讀

三條線、PPA 訂閱線與外部筆記各自算「一次提及」等重匯流;規則被講幾次就是它的重要度,這是整個產品的核心假設。

A

知識來源

原料各自是什麼、拿到多少、卡在哪

來源原料取得狀況落地位置(data/xiaoge/ 下)
YouTube《哥有籌必爆》播放清單 57 集57 集全部轉錄+萃取完成(extracted);其中 17 集是頻道會員限定,2026-09-25 以會員 cookie 補齊YT影片線/transcripts/ 57 份逐字稿、frames/ 每 30 秒擷圖(251 MB,不進版控)
籌碼教材 PDF《關鍵籌碼入門》27 小節
《關鍵分點進階班》29 小節
56 小節全部萃取完成;狀態機正本 doc_manifest.jsondoc教材線/doc_pages/ 2 份教材+7 份課程講義的頁面圖(278 MB,不進版控)
付費課程本機錄影17 支/11.1 小時:籌碼入門 ×3、進階班 ×2、當沖 1~3 共 6 支、PPA 教學 ×2、處置新制 ×1、處置神器 ×317 支全轉錄;14 支有教材 PDF 可對齊;PPA 教學與處置新制純轉錄course線上課程線/course_transcripts/ 17 份、course_frames/
PPA 訂閱線(PressPlay 付費專欄「交易筆記本」)1,428 篇專欄文章(內文、圖片、影片音訊);規則只吃影片逐字稿已併入主手冊 19 篇(6 篇 10-08/10-13 併入、11 篇 10-26 套用 10-13 匯出的 172 筆審閱決定、2 篇 0901/0907 同日審閱併入),共 351 張卡;另有 13 檔 9~10 月新萃取、尚未審閱的卡(249 張)在 rule_cards_pending/ 待審隔離(尚未併入、不在 1,024 條內,待 PM 審閱)ppa訂閱線/rule_cards/ 17 檔(進版控)、rule_cards_pending/ 13 檔(進版控但不併入手冊);articles/ 的圖片、音訊、原文、逐字稿不進版控、不上雲(帶會員浮水印的付費原文)

各條線的工作單位刻意不同:影片線是一集、教材線是一個小節(教材頁首編號+子題的連續頁區段)、課程線是一門課(同門課多支影片只算一次)、PPA 訂閱線是一篇文章(同篇多支影片只算一次)。這決定了下游怎麼數「提及次數」。

影片線五階段

  • 轉錄(groq 雲端或地端 GPU whisper)
  • 擷圖(平行軸,不等轉錄)
  • 圖文編織 → 規則萃取(唯一 LLM 階段)
  • 狀態機正本 manifest.json

教材線四階段

  • PDF → 小節清單 → 渲染頁面圖
  • 萃取一定走視覺模型:文字層每頁只有 50–80 字,判斷邏輯全在圖裡
  • 頁碼由 quote 位置自行推導,不採信 LLM 自報

課程線四階段

  • 轉錄(tf_3.0 環境)→ 擷幀+dHash 對齊 PDF 頁
  • 整合筆記:每頁 PDF=頁面圖+教材文字+該頁講解
  • 萃取 1 支影片 1 次純文字呼叫,餵 term_fix 校正後文字
  • 無 manifest,產出檔存在即跳過
B

產出物清單

分三類:LLM 中間產物、確定性正本、可重生的衍生物

產出數量位置版控說明
規則卡1,336 張=769+63+(141+手寫 1)+PPA 351+外部 11YT影片線/rule_cards/ 57 檔
doc教材線/doc_rule_cards/ 56 檔
course線上課程線/course_rule_cards/ 17 檔+1 手寫
ppa訂閱線/rule_cards/ 17 檔(待審的在 rule_cards_pending/)
external外部筆記/rule_cards/ 2 檔(同學筆記、小哥臉書貼文)
進每張帶 quote 三段式驗證、direction/timeframe 情境欄位、provenance 證據鏈。影片卡 quote 驗證通過 97%(746/769)、課程卡 92%(130/142)、PPA 卡 99%(350/351),整體 1,179/1,336 張;2026-09-25 改良比對後,影片、課程、PPA 卡另存逐字稿截出的原文 quote_source(共 1,262 張),用字與引文不同的在手冊並列
主手冊(正本)1,024 條唯一規則
904 判斷+120 基礎知識
notes主手冊/ 入口 總覽心得筆記.md,分籌碼判讀/進出場/風控/權證工具/選股流程五篇進三來源+PPA+外部筆記依 rule_id 合併;187 條重複提及(mention_count≥2,判斷 171+知識 14);榜首「關鍵分點大賣為股價上漲的警示訊號」12 次,並列次位「布林通道縮窄後沿上軌突破且主力買超為起漲點買進訊號」與「隔日沖分點進出模式判讀」各 9 次。_stats.json 是量級守衛基線
教材單獨視角手冊同五篇doc教材線/doc_notes/進只含教材來源,讓人能單看教材脈絡
課程整合筆記9 份 md + 9 份 page_mapcourse線上課程線/course_notes/進每頁 PDF 配該頁講解逐字稿。「當沖3-買賣盤竭盡」走 fulltext,其 page_map 是歷史殘留不可用
單集 HTML 簡報58 份(57 集+索引)decks簡報線/(178 MB)不進一張規則卡一頁配截圖,圖片 base64 內嵌;無 LLM,隨時可重生
手機隨身讀1 檔(約 1.9 MB)reader手機隨身讀/index.html → xiaoge-cards.pages.dev進主手冊全部 1,024 條的單檔 HTML:搜尋/篩選/書籤與已讀/每張卡的個人筆記/隨機抽卡/修練模式(每日一局 15 題的規則卡測驗,FSRS 排程到期重考)/深色與字級;來源與個案示範的時間戳都可點回 YouTube 該秒;引文下方並列逐字稿原文(標「機器轉錄、未分講者」)。與主手冊同源同數,規則數對不上 _stats.json 就不會建;筆記、書籤與修練進度存手機 localStorage,可匯出匯入。2026-10-02 內嵌修練題庫與 ts-fsrs 後由 788 KB 增為 1394 KB,2026-10-13 併入 PPA 與補題後約 1.66 MB,2026-10-26 併入 PPA 審閱卡(870 → 991 條)、再併入 0901/0907 兩篇(→ 1,024 條)後約 1.9 MB(含 10-26 補題)。2026-10-09 起網站改開放閱讀(整站登入牆已拆);編輯模式要輸入「編輯權限驗證碼」,修正存雲端 D1、換裝置立即看到,每晚 23:30 自動同步回本機 card_edits.json(sync_card_edits.py,已上線);每條規則有題目編號(A001 起:A 籌碼判讀、B 進出場、C 風控、D 權證工具、E 選股流程)供回報錯字
修練題庫合格題幹 1,795 個
1,024 條規則中仍有 11 條沒有合格題幹(走原話/個案題型)(2026-10-26)
quiz題庫/quiz_bank.json進隨身讀修練模式的情境題題幹,由 build_quiz_bank.py 呼叫 LLM 出題、再以另一次 LLM 盲答驗證(只給題幹與選項,選不中正解就退回),初版 1322 題全數通過,三輪約 96 次呼叫(出題幹 43、盲答 53),PM 抽樣 30/30 合格;10-13 補題後合格題幹增為 1,516 個,仍有 7 條判斷規則沒有合格題幹(走原話/個案題型);10-26 為新併入的規則補題,合格題幹增為 1,795 個(0901、0907 併入後再補 7 次呼叫)。LLM 產出不可重現所以進版控;建隨身讀時內嵌
PPA 待審隔離13 檔(249 張待審)ppa訂閱線/rule_cards_pending/進9~10 月新萃取、尚未經 PM 審閱的 PPA 卡。load_handbook_cards() 讀不到它,所以不併入手冊、不在 1,024 條內;審閱 --apply 後才搬進 rule_cards/
專案備份每天 23:50 一份iCloud 雲碟 xiaoge_backup(排程 xiaoge-backup)不是版控備份目的地不是 git:git bundle +資料 zip 白名單;PPA、.env、.secrets、cookie 一律排除;docs/教材/ 約 72 GB 不在內,需另備。repo 沒有任何遠端,備份是唯一異地副本
歷史封存5 個資料夾+1 個索引v1早期產物/進v1 筆記、修正前規則卡、情境欄位前課程卡、6 集備份。只供回溯,不參與任何管線
執行狀態檔3 個manifest.json/doc_manifest.json/_llm_usage.json進manifest 是影片線唯一狀態正本;LLM 每日 100 次額度計數在 _llm_usage.json

主手冊的情境分布(1,024 條,2026-10-26)

每條規則經跨來源多數決得到一個方向與一個時間框架。白名單的值全部列出、沒有規則的值也會列為 0 條——「搶反彈」是 09-23 新增的時間框架,既有 798 張萃取卡刻意不重標,只有之後新萃取的卡會標到。手冊層級現為 7 條(2026-10-25):10-01 併入的「處置神器」課程 2 條(跌停爆量出量搶反彈,新卡比舊卡更具體所以獨立),加上 PPA 併入後的 2 條,每條都只有一張卡、沒有別張卡反對;影片會員 17 集有卡標到,但規則各有他卡標了別的時間框架,多數決平手退為「不限」。

方向條數
做多290
做空274
多空皆可139
中性觀察201
知識120(抽到各篇篇尾「基礎知識」,不參與排序)
時間框架條數
當沖187
隔日沖44
搶反彈8(09-23 新增;共 14 張卡標到,來自課程 6、PPA 5、影片會員 3,合併後多數決平手者退為不限,故規則數為 8)
波段514
不限271

同一份表也渲染在 notes主手冊/總覽心得筆記.md 的「情境分布」段,由 consolidate_notes 確定性產出。

關鍵片段 1 · 產出目錄的唯一正本

上面表格裡每一個路徑,程式端都不是寫死的。2026-08-30 目錄重組時,14 個腳本共 35 處寫死路徑同時全盲,彙整線「成功」合併 0 張卡把 615 條的手冊蓋成空殼。之後所有目錄都經這張表解析。

scripts/xiaoge/paths.pyPYTHON
# 邏輯名稱 → (分組資料夾, 分組內的目錄名)。
# 分組資料夾為 None 代表「整個目錄被改名」而非搬進群組(notes/decks)。
LAYOUT: dict[str, tuple[str | None, str]] = {
    # 影片線
    "frames": ("YT影片線", "frames"),
    "transcripts": ("YT影片線", "transcripts"),
    "rule_cards": ("YT影片線", "rule_cards"),
    # 教材線
    "doc_pages": ("doc教材線", "doc_pages"),
    "doc_rule_cards": ("doc教材線", "doc_rule_cards"),
    "doc_notes": ("doc教材線", "doc_notes"),
    # 課程線
    "course_frames": ("course線上課程線", "course_frames"),
    "course_transcripts": ("course線上課程線", "course_transcripts"),
    "course_notes": ("course線上課程線", "course_notes"),
    "course_rule_cards": ("course線上課程線", "course_rule_cards"),
    # 選股線(2026-09-08):規格 YAML/審閱表進版控,行情 parquet 與 HTML 不進
    "rule_specs": ("screener選股線", "rule_specs"),
    "screen_review": ("screener選股線", "review"),
    "market_data": ("screener選股線", "market_data"),
    "screen": ("screener選股線", "screen"),
    "feature_store": ("screener選股線", "feature_store"),
    "floor_list": ("screener選股線", "floor_list"),
    # 整份被改名的
    "notes": (None, "notes主手冊"),
    "decks": (None, "decks簡報線"),
}
註解為什麼重要:這張表就是本頁盤點的機器版。要新增產出目錄,先在這裡登錄;有測試釘住「每個管線用到的目錄都在表上」與「表上每個目錄都解析得到」。人讀本頁、程式讀這張表,兩邊對不上就是有東西漏了。

關鍵片段 2 · 三條來源怎麼算「一次提及」

1,336 張卡合併成 1,024 條時,重要度靠 mention_count。它數的不是卡片張數,而是不重複的來源鍵。三條線、PPA 訂閱線與外部筆記的粒度不同,全在這一個函式裡定義。

scripts/xiaoge/consolidate_notes.pyPYTHON
def source_key(prov: dict) -> str | None:
    if prov.get("source") == "doc":
        doc, section = prov.get("doc"), prov.get("section")
        # 必須含教材名——兩份教材各有 1-1,只用小節鍵會把兩個不同小節算成同一個
        return f"doc|{doc}|{section}" if doc and section else None
    if prov.get("source") == "course":
        # 單位刻意是課程,不是影片 key——同一門課的多支影片算一次提及
        course = prov.get("course")
        return f"course|{course}" if course else None
    if prov.get("source") == "external":
        # 外部筆記(2026-09-24 起):一份筆記算一次;同篇貼文的多張卡共用 note_id
        origin, note_id = prov.get("origin"), prov.get("note_id")
        return f"external|{origin}|{note_id}" if origin and note_id else None
    if prov.get("source") == "ppa":
        # PPA:一篇文章算一次,同篇多支影片不灌水(與課程線同理);必須排在「缺 source 視為影片」之前
        article = prov.get("article_dir")
        return f"ppa|{article}" if article else None
    # source 缺漏一律視為影片:09-25 前影片萃取器從不寫這欄,現已補上,這條保留作防線
    vid = prov.get("video_id")
    return f"video|{vid}" if vid else None
註解為什麼重要:跨來源等重是 PM 拍板的決策——一集節目、一個教材小節、一門課程、一份外部筆記各算一次,載體長短不加權,因為加權會引入一個無法從資料驗證的主觀係數。外部筆記沒逐字稿可驗,手冊出處明標「非小哥語料」或「小哥親筆」。最後一行的退回邏輯原本是影片卡的唯一路徑:2026-09-25 以前影片萃取器從不寫 source(不只舊卡,連新萃取的也沒有),沒有這行影片卡的 mention_count 會全部塌成 0。現在萃取器明寫 source="video"、既有 706 張已就地補上,這行保留作為防線。
C

下游:選股線的產出

把主手冊的文字規則變成「今天哪些股符合第 N 條」

選股線是三條原料線之外的第四類產出,全部在 screener選股線/。三層分離:規格層是 PM 手改放行的 YAML,資料層是 FinMind 與本機籌碼湖的 parquet,篩選層是每日的清單。

子目錄內容版控現況
rule_specs/67 份 YAML,一條規則一份進1 份 approved(地板股搶反彈)、28 份 draft 待 PM 逐條審、38 份 unsupported(27 份缺資料,多為分點/權證/盤中類;6 份本來就不是選股條件;5 份是指標或門檻還沒做)
market_data/FinMind 逐檔 parquet:Price/ 502 檔日 K、Info/ 宇宙母表、_features/ 快照不進增量起點看檔案內容最大日期,0 列不算已抓
feature_store/地板天花板資料庫 fv=1,Hive 分區 parquet + _registry.parquet不進全市場 32 秒可重建;門檻=近 740 交易日全樣本 95/5,對五檔小哥軟體截圖校準過
screen/篩選結果 <日期>.{json,md,html}進09-08 起;json/md 進版控,html 不進
floor_list/每日地板股清單:<日期>.json/latest.json(契約檔)/latest.txt(手機文字)進09-21 起;2026-09-28 起工作排程器每週一到週五 22:15 自動產出並自動提交進版控;_last.json 是執行狀態不進版控
review/審閱表:小哥原文|DSL 中文句|門檻來源|dry-run 命中數進09-08 一份
xiaoge_features.duckdb薄目錄,兩個 view不進給其他專案 ATTACH 唯讀用,隨時可重建

關鍵片段 3 · 唯一一份放行的規格長什麼樣

67 份規格裡只有這一份 status: approved,也是每日清單目前唯一跑的規則。看它就知道「文字規則 → 可篩選規格」的落差在哪:哪些數字是小哥原話、哪些是補的。

data/xiaoge/screener選股線/rule_specs/floor-stock-rebound-strategy.yamlYAML
rule_id: floor-stock-rebound-strategy
title: 地板股搶反彈:收盤跌破地板且本日放大量
direction: 做多
timeframe: 搶反彈        # 2026-09-23 新增的第五個 timeframe
conditions:
- field: at_floor          # 來自 feature_store 地板股資料庫
  op: ==
  value: true
- field: vol_ratio_incl    # 含當日的 20 日均量倍數,不是 vol_ratio
  op: '>='
  value: 2.0
threshold_source: 補的     # 地板門檻非原話;量能 2 倍是原話,但單一欄位只能誠實標「補的」
status: approved          # PM 手動拍板,propose_rule_specs 不會覆寫
註解為什麼重要:LLM 只能從特徵目錄挑欄位,挑不到就標 unsupported。這是語意翻譯錯誤的第一道防線,也是 38 份規格被擋在篩選器外的原因——多半不是規則不好,而是缺資料(多為分點/權證/盤中);其餘是本來就不是選股條件,或指標、門檻還沒做。

注意事項 · 讀這份盤點時要知道的邊界

📅「搶反彈」只有 7 條,不是漏了:09-23 新增的時間框架,既有 798 張萃取卡刻意不重標(PM 決策),只有之後新萃取的卡會標到。2026-10-25 手冊層級共 7 條:10-01 併入的「處置神器」課程 2 條、PPA 併入後 2 條,皆無他卡反對;09-30 重萃的會員 17 集有卡標到,但那些規則各有另一張卡標了別的時間框架,多數決平手一律退為「不限」。要讓舊規則也標上,得重標既有卡(約 20 次 LLM 呼叫)。
🔒影片 57 集全數萃取,會員 cookie 會過期:17 集頻道會員限定「進階榮耀班」09-25 以會員 cookie 補齊。cookie 約兩週失效,日後要重跑這 17 集得先換 cookie,再用 build_manifest --reopen-members-only 放回佇列。
🧪同一份手冊混了三代模型:搬遷前用 gemini-2.5-flash,2026-08-02 後改 gemini-3.1-flash-lite,2026-09-30 後改 gemini-3.8-flash(並要求逐條列出、名詞解釋做成知識卡)。比較各線的驗證率或規則數之前,先意識到這條分界。
📄教材卡的引文誠實但沒被機器驗證:教材沒有逐字稿可比對,63 張卡的 quote_verified 一律 false;其中 15 張只定位到小節層級。查證請點頁面圖。
💾三坨重物不進版控、可重生:影片擷圖 251 MB、教材頁面圖 278 MB、簡報 178 MB。clone 下來沒有它們是正常的,跑對應階段即可重建。
🔢本頁數字是 2026-10-26 實際數出來的:卡片數與驗證率用 Python 逐檔讀 JSON 計算,規則數、方向與時間框架分布取自 10-26 重跑後的 _stats.json 與總覽;來源表與目錄大小沿用 2026-09-23~10-02 的實測(影片擷圖不含 _tmp_video 暫存影片)。之後管線再跑過,數字就會漂移,以 README 的「現況」表為準。
🔐PPA 是付費專欄、有兩道邊界:圖片帶會員 uid 浮水印,圖片、音訊、原文(content.html)與逐字稿一律不進版控、不上雲;13 檔 9~10 月新萃取、尚未審閱的卡放在 rule_cards_pending/ 待審隔離,審閱套用前不在手冊與隨身讀內。注意隨身讀網站已開放閱讀,已併入的 PPA 規則卡(含引文)是公開的,PM 2026-10-09 已確認。