⚠️ บันทึกการวิจัยและการเทรดส่วนตัว — ไม่ใช่คำแนะนำการลงทุน ผู้เขียนไม่ได้ให้บริการที่ปรึกษาการลงทุนที่มีใบอนุญาต
เมื่อผมสร้าง corpus ของ IBD transcripts — วิดีโอกว่า 4,800 ชิ้น commentary รายวันเกือบ 10 ปี — ผมต้องการวิธี extract structured signals จาก unstructured text วิธีง่ายๆ ดูชัดเจน: ค้นหาสัญลักษณ์หุ้น ดึง context โดยรอบ และ tag สิ่งที่พูดเกี่ยวกับแต่ละชื่อ
วิธีนั้นผิด และ error ไม่ subtle เลย
Symbol-First: จุดเริ่มต้นที่ผิด
Symbol-first extraction ทำงานแบบนี้: หาทุก ticker mention ใน transcript ดึง 200 คำโดยรอบ และจัดประเภทว่า commentary เป็น bullish, bearish หรือ neutral
สิ่งนี้ produce ข้อมูลมากมาย n=10 "clean" ACTIONABLE_BUY signals ใน ASML transcript 2026-05-13 โดยใช้วิธีนี้
ปัญหา: analysts ไม่เสมอบอกชื่อหุ้อเมื่อพวกเขาทำ claim ที่สำคัญที่สุดเกี่ยวกับมัน พวกเขา set up case โดยใช้ pattern language ("base tight, volume dried up, it broke out this morning on 3× average volume") และจากนั้นพูดชื่อ หรือบางครั้งไม่พูดชื่อตรงๆ เพราะคาดว่า audience ติดตามอยู่แล้ว
Symbol-first capture explicit mentions และพลาด context โดยรอบที่ทำให้สัญญาณ interpretable
Phrase-First: Architecture ที่ถูกต้อง
Phrase-first extraction พลิก search order: scan ก่อนสำหรับ phrases ที่ carry trading signal จากนั้น attribute สัญลักษณ์จาก context
Phrase inventory ที่ผมสร้างครอบคลุม IBD commentary patterns: - PATTERN language: "cup and handle", "flat base", "VCP", "consolidation", "pivot point" - BREAKOUT language: "broke out", "breaking out", "breakout", "new high on volume" - FRESHNESS language: "this morning", "today's session", "just broke", "fresh breakout" - ACTION language: "actionable", "in a buy zone", "buyable", "add to" - CAUTION language: "extended", "too extended", "climax move", "chasing"
เมื่อ phrases เหล่านี้ fire extraction system จดบันทึก anchor phrase ขยาย context และ attribute stock symbol ใกล้เคียง (ภายใน 150-word window พร้อม tie-breaking สำหรับ mentions หลายอัน)
ใน ASML transcript 2026-05-13 phrase-first ให้ n=31 CLEAN ACTIONABLE_BUY signals เทียบกับ n=10 จาก symbol-first ตัวเลขเพิ่มขึ้น 3 เท่ามาจากการ capture กรณีที่ signal language ปรากฏโดยไม่มี ticker ใกล้เคียงอย่างชัดเจน วิธีนี้พบ intent แล้ว resolve attribution
Falsification ที่นำไปสู่
การปรับปรุงวิธีนี้ยังให้ falsification ที่สะอาดกว่าด้วย
เมื่อผมรัน buy-zone analysis ใหม่ด้วย phrase-first extraction และแยก "fresh breakout" language จาก "buy zone" language:
- PATTERN + fresh breakout language (ไม่มี explicit "buy zone"): +3.17pp lift เหนือ baseline จับ move ขณะที่ describe
- Buy zone language ("in a buy zone", "the stock is buyable here"): -7.77pp เทียบ baseline สัญญาณล่าช้า
Symbol-first ซ่อน split นี้เพราะมัน conflate ทั้งสอง type ของ language ใน "positive IBD mention" bucket เดียวกัน Phrase-first แยกพวกมัน เผยให้เห็นว่า language ของ IBD เกี่ยวกับ breakouts (fresh pattern description) ทำนายได้ ขณะที่ explicit "buy zone" claims ล่าช้า
ทำไมสิ่งนี้จึงสำคัญนอกเหนือจาก IBD
Phrase-first principle ใช้กับ text corpus ใดก็ตามที่คุณต้องการ mine เพื่อ signals:
1. หา language patterns ที่ carry signal ไม่ใช่ entities (companies, symbols) ที่ signal เกี่ยวกับ 2. สร้าง phrase inventory จาก domain knowledge — source พูดอะไรเมื่อพวกเขา describe setups ที่ actionable ที่สุด vs. extended? 3. Attribute entities จาก context — ให้ signal language anchor extraction จากนั้น resolve หุ้น
Apply กับ earnings transcripts: signal language ใน strong quarter มักปรากฏใน MD&A ก่อน EPS number ที่ชัดเจน phrase-first จะ catch ก่อน Apply กับ news: headline sentiment ต่างจาก body-paragraph qualifier language phrase-first แยกพวกมัน
Common failure mode ใน text-based signal mining คือการสร้าง classifier ที่ categorize entities ขณะที่คุณควร classify language แนวทางแก้ไข: phrase-first, entity-second
ตามรอย ศึกษา รอจังหวะ จู่โจม
บันทึกการวิจัยและการเทรดส่วนตัว — ไม่ใช่คำแนะนำการลงทุน ผู้เขียนไม่ได้ให้บริการที่ปรึกษาการลงทุนที่มีใบอนุญาต — MOEasymmetry
Draft 2026-06-12. แหล่งที่มา: IBD transcript corpus 4,800+ วิดีโอ 2559-2569 เปรียบเทียบ symbol-first vs phrase-first บน ASML 2026-05-13: n=10 vs n=31 Finding: feedback_phrase_anchored_extraction.md (2026-05-14) Falsification จาก phrase-first: PATTERN+BREAKOUT_FRESH = +3.17pp; explicit buy-zone = -7.77pp ดู feedback_pattern_breakout_conjunction_2026-05-14.md