Event-Driven Representation Learning in Sparse Financial Time Series

A Macro-Contextual Conceptual Framework and Methodology

Niran Pravithana

IV. Training Objective, Optimization Strategy & Learning Constraints

Section นี้อธิบายว่า โมเดลใน Section 3 จะถูก "ฝึก (train)" อย่างไร ภายใต้ข้อจำกัดเชิงเวลา ความไม่สมดุลของเหตุการณ์ และความเสี่ยงของข้อมูลรั่ว พร้อมกำหนดวัตถุประสงค์ทางสถิติที่ชัดเจนและตรวจสอบได้

เป้าหมายของ Section คือ

  • นิยาม objective function อย่างเป็นทางการ
  • อธิบาย วิธีป้องกัน leakage ในระดับ pipeline
  • จัดการ class imbalance และ sparsity ของ outcome
  • อธิบาย regularization เพื่อความทนทาน (robustness)
  • กำหนด regime-aware training framework

4.1 Learning Setting — Time-Consistent Supervised Learning

ให้ sequence ของสินทรัพย์ $a$ ณ เวลาประเมิน $t$:

$$\tilde{\mathcal{S}}^a_{(-\infty,t)} = \{z_i^a \mid t_i^a < t\}$$

และนิยาม outcome event (Section 1)

$$y_t^a \in \{-1, 0, 1\}$$

เป้าหมายคือการประมาณ

$$\hat{p} = \hat{p}(y_t^a \mid \tilde{\mathcal{S}}^a_{(-\infty,t)})$$

โดย ใช้เฉพาะข้อมูลที่เกิดก่อน $t$

โครงสร้างนี้คือ causal-valid learning setting ต่างจาก forecasting แบบ time-agnostic

4.2 Time-Based Dataset Splitting (No Random Shuffle)

เพื่อหลีกเลี่ยง leakage การแบ่งชุดข้อมูลทำแบบ

$$\text{Train} < \text{Validation} < \text{Test}$$

เชิงเวลาเท่านั้น:

$$[0, T_{train}] < [T_{val}^{start}, T_{val}^{end}] < [T_{test}^{start}, T_{test}^{end}]$$

ห้ามใช้ random split เนื่องจาก

  • เหตุการณ์อนาคตอาจไปปรากฏใน training indirectly
  • macro-regime patterns อาจรั่วเข้ามา

หลักการบังคับใช้ใน pipeline

  1. sequence builder จำกัดเหตุการณ์ ≤ cutoff time
  2. label builder อ้างอิงเฉพาะอนาคตหลัง cutoff
  3. model loader ตรวจสอบ time-consistency

4.3 Training Objective Function

ให้ representation สุดท้ายของ sequence คือ $u_t^a$

ฟังก์ชันประมาณความน่าจะเป็น:

$$\hat{p}(y_t^a = k) = \frac{\exp(w_k^\top u_t^a)}{\sum_j \exp(w_j^\top u_t^a)}$$

นิยาม cross-entropy loss

$$\mathcal{L}_{CE} = -\sum_{(a,t)} \sum_{k} \mathbb{1}[y_t^a = k] \log \hat{p}(y_t^a = k)$$

4.4 Class Imbalance & Event-Sparsity Handling

เนื่องจาก outcome event มักเกิดไม่บ่อย เรากำหนด weighted loss

$$\mathcal{L}_{WCE} = -\sum_{(a,t)} \omega_{y_t^a} \log \hat{p}(y_t^a)$$

โดย

  • $\omega_k \propto 1/\text{freq}(k)$
  • หรือใช้ focal loss เพื่อเน้นตัวอย่างยาก
$$\mathcal{L}_{FL} = -\sum_{(a,t)} (1 - \hat{p}(y_t^a))^\gamma \log \hat{p}(y_t^a)$$

เหตุผลเชิงวิจัย: เป้าหมายไม่ใช่ balance class เทียม แต่ป้องกันไม่ให้โมเดล "เพิกเฉยต่อเหตุการณ์หายากที่สำคัญ"

4.5 Regularization for Robust Pattern Learning

เพื่อหลีกเลี่ยง over-fitting กับ noise ระยะสั้น เราเพิ่มองค์ประกอบ regularization

(1) Feature-Gating Sparsity

$$\Omega_{gate} = \lambda_g \|\alpha\|_1$$

ช่วยบังคับให้ representation คัดเลือก feature ที่จำเป็นเท่านั้น

(2) Token Dropout / Event Masking

ในระดับ sequence

$$z'_i = \begin{cases} z_i, & \text{with prob } (1-p)\\ \varnothing, & \text{with prob } p \end{cases}$$

ผลเชิงความหมาย:

  • โมเดลต้องเรียนรู้ pattern ที่ ไม่พึ่ง token ตัวเดียว
  • เพิ่มความทนทานต่อ missing signals

(3) Temporal Smoothing Penalty

ในกรณี representation แกว่งแรงผิดปกติ

$$\Omega_{temp} = \lambda_t \sum_i \|h_i - h_{i-1}\|_2^2$$

สื่อว่า pattern ควรค่อย ๆ ก่อตัว ไม่ใช่เปลี่ยนโดยไร้เหตุผลตาม noise เดี่ยว

(4) Total Objective

$$\mathcal{L}_{total} = \mathcal{L}_{task} + \Omega_{gate} + \Omega_{temp} + \text{(augmentation penalty)}$$

4.6 Macro-Aware Training as Context, Not Filter

สำคัญมาก: regime ไม่ได้ใช้เพื่อ "แยกโมเดล" แต่ใช้เป็น บริบทในลำดับเดียว

ดังนั้น

$$\mathcal{L}_{total} = \sum_{\text{all eras}} \mathcal{L}_{era}$$

แต่ representation $u_t^a$ ถูก conditioned บน macro tokens ใน sequence

ทำให้สามารถทดสอบภายหลังได้ว่า

  • pattern ใด คงอยู่ข้ามยุค
  • pattern ใด เฉพาะบางยุค

โดยไม่สูญเสียข้อมูล

4.7 Leakage Prevention — Formal Checklist

โมเดลถือว่า ไม่ valid หากเกิดกรณีใดกรณีหนึ่ง:

  1. เหตุการณ์อนาคตแทรกใน sequence
  2. macro-event นิยามจาก hindsight
  3. price-derived feature ใช้อนาคตโดยอ้อม
  4. validation/test มีข้อมูลจาก train regime เดียวกันแบบ overlap

เรากำหนดฟังก์ชันตรวจสอบ

$$\text{CheckLeakage}(\mathcal{S}) = \begin{cases} \text{True} & \text{ถ้าละเมิด time-causality}\\ \text{False} & \text{อื่น ๆ} \end{cases}$$

ใช้ใน pipeline ก่อนทุกการ train

4.8 Training as Representation Learning — Not Trading System

จุดยืนทางวิจัย: วัตถุประสงค์ของการเรียนรู้ คือ representation สำหรับตรวจสอบ pattern ไม่ใช่การ optimize performance เพื่อใช้ซื้อขาย

ดังนั้น การตีความผลลัพธ์จะอยู่ในกรอบ:

  • ความคงตัวของ representation ข้ามยุค
  • ความสัมพันธ์เชิง sequence ต่อ outcome
  • ไม่ใช่อัตราผลตอบแทนทางเศรษฐกิจโดยตรง

4.9 Implementation View — ทีม Dev สามารถทำตามขั้นตอนนี้

Training Pipeline

build causal sequence
 → encode tokens
 → transformer sequence encoder
 → attention pooling
 → output head
 → weighted/focal loss
 → add sparsity + temporal penalties
 → optimize

Validation Loop (time aware)

  • fixed forward-rolling windows
  • prohibit look-ahead
  • explicit macro-context in sequence

4.10 Connection to Next Section

Section นี้กำหนด:

  • วัตถุประสงค์การเรียนรู้
  • ข้อจำกัดเชิงเวลา
  • การจัดการความไม่สมดุล
  • บทบาท macro ใน training

Section ถัดไปจะไปยัง: Regime-Conditioned Analysis & Post-Training Diagnostics (การวิเคราะห์ pattern หลังฝึก, per-era behavior, explainability)