II. Event Representation & Embedding Framework
Section นี้มีหน้าที่เชื่อม "ข้อมูลจริงที่ทีมคุณถืออยู่" เข้ากับกรอบเชิงคณิตที่โมเดลสามารถเรียนรู้ได้ โดยมุ่งให้
- รองรับ sparse, asynchronous, heterogeneous time events
- ผสาน asset-level events และ macro-level events ในลำดับเดียว
- สามารถนำไป implement ได้โดยตรงในเชิงระบบ
2.1 Event Structure (โครงสร้างเหตุการณ์เชิงทางการ)
ให้เหตุการณ์เดี่ยวหนึ่งรายการเขียนในรูป
โดย
- $t_i$ = เวลาเกิดเหตุการณ์
- $x_i$ = ชนิดของเหตุการณ์ (feature / indicator / macro tag)
- $v_i$ = ค่าเชิงปริมาณ (เช่น Boolean, discrete, หรือค่าเชิงต่อเนื่อง)
นิยาม โดเมนของเหตุการณ์ทั้งหมด เป็น
กล่าวคือ เหตุการณ์อาจเป็น
- สัญญาณระดับบริษัท/หุ้น (micro-structure / strategy / factor signal)
- เหตุการณ์ระดับมหภาค (QE, QT, crisis flag, policy shock ฯลฯ)
2.2 Unified Event Sequence (ลำดับเหตุการณ์แบบรวมเดียว)
สำหรับสินทรัพย์ $a$ ให้มีชุดเหตุการณ์เฉพาะตัว
และเหตุการณ์มหภาคส่วนกลางร่วมกันทั้งตลาด
เราสร้างลำดับเหตุการณ์ "แบบรวมเดียว" โดย
ผลลัพธ์คือ sequence เดียวที่มีทั้ง
- เหตุการณ์ของหุ้นตัวนั้น
- เหตุการณ์ macro ที่เกิดในช่วงเวลาเดียวกัน
และเรียงลำดับตามเวลา ทำให้โมเดล มองเห็นความสัมพันธ์เชิงเวลาแบบต่อเนื่อง ระหว่างเหตุการณ์สองระดับในโครงสร้างเดียว
2.3 Time Encoding & Temporal Geometry
เนื่องจากข้อมูลเป็น asynchronous / irregular time series ค่าช่วงเวลาระหว่างเหตุการณ์จึงมีความหมายเชิงโครงสร้าง จึงนิยาม
และแทนเป็น embedding
ซึ่งอาจเลือกเป็น
- log-scale bucket
- continuous projection layer
- หรือ positional-style time kernel
หลักคิดคือ ให้โมเดล "รับรู้จังหวะเวลา (tempo)" ของ pattern ไม่ใช่เพียงลำดับเหตุการณ์เฉย ๆ
2.4 Event Token Representation (ตัวแทนเวกเตอร์ของเหตุการณ์)
เรากำหนดฟังก์ชันแปลงเหตุการณ์เป็นเวกเตอร์
โดยแยกย่อยเป็นองค์ประกอบ
คำอธิบายเชิงระบบ:
- type-emb — บอกว่า token นี้เป็น asset-event หรือ macro-event
- feature-emb — แยกชนิดของสัญญาณ เช่น Feature-ID, Regime-ID
- value-proj — รองรับ Boolean / discrete / continuous ในรูปเวกเตอร์เดียวกัน
- $\tau_i$ — ให้ความหมายกับช่วงเวลา
โครงสร้างนี้ทำให้ทีม dev สามารถ map ฟีเจอร์จริง → token embedding ได้ตรงไปตรงมา
2.5 Sparsity Awareness & Event Importance (เชิงออกแบบ)
เนื่องจากจำนวนฟีเจอร์มีมาก แต่คาดว่า มีเพียงส่วนน้อยที่มีนัยเชิงสาเหตุในบางบริบท จึงเพิ่มชั้น feature-gating function
และใช้เป็น scaling
พร้อม regularization เพื่อส่งเสริม sparsity
สิ่งนี้ไม่ได้บังคับลดฟีเจอร์ แต่ทำให้ representation ค่อย ๆ คัดเลือก feature ที่สำคัญด้วยตนเอง
2.6 การตีความเชิงการพัฒนา (Implementation-Ready View)
ในระดับระบบ ทีมสามารถมอง token หนึ่งรายการเป็น JSON เช่น
{
"t": 1712001234,
"type": "asset_event",
"feature": "feature_X_217",
"value": 1,
"delta_t": 5400
}
แล้ว mapping ผ่าน embedding layer ตามสมการด้านบน จะได้เวกเตอร์ $e_i$ ซึ่งส่งเข้าสู่โมเดลลำดับ
กล่าวอีกแบบ:
- ฝั่ง data engineering → ดูแลการสร้าง sequence
- ฝั่ง ML model → ทำงานบน embedding + sequence layer เท่านั้น
2.7 จุดเชื่อมไปยังโมเดลลำดับ
เมื่อได้ลำดับเวกเตอร์
โมเดลลำดับ (เช่น Transformer / TCN) จะเรียนรู้
ซึ่งเป็น foundation ของ
- การเรียนรู้ pattern accumulation
- การทำ regime-conditioned analysis ภายหลัง
Section ถัดไปจะอธิบาย backbone และ training objective อย่างเป็นทางการ