[research] Methodology research doc + per-theme data-source map + formula refinement proposals
- Literature: PEAD (Bernard-Thomas 1990, Fink 2021, Livnat-Mendenhall 2006), EM momentum (lower in EM), multi-criteria EM selection, Thai earnings-surprise thesis - 5 formula refinements (R1-R5, await user OK): earnings goodwill weight, momentum factor, continuous regime gate, earnings-revision, dividend screen - Per-theme additional source table (banks NPL reuses reportID 794, utilities EPPO, retail consumer-comfort...) registered via declarative FACTORS
This commit is contained in:
80
docs/methodology-research.md
Normal file
80
docs/methodology-research.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# งานวิจัยที่เกี่ยวข้อง + ข้อเสนอปรับสูตร (Methodology Research)
|
||||
|
||||
> วันที่: 2026-08-26. ใช้เป็น baseline ในการปรับปรุง factor engine โดย grounded กับ literature.
|
||||
|
||||
## 1. งานวิจัยที่เกี่ยวข้อง
|
||||
|
||||
### 1.1 Post-Earnings Announcement Drift (PEAD) — ความต่อเนื่องหลังประกาศผลประกอบการ
|
||||
- **Bernard & Thomas (1990)** — *Evidence that stock prices do not fully reflect the implications of current earnings for future earnings*, JAE 13.
|
||||
ราคาหุ้นไม่สะท้อนข้อมูลกำไรเต็มที่ทันที → drift ต่อเนื่อง 25-30% ของ drift เกิดรอบๆ การประกาศกำไร 3 รอบถัดไป (แม้เป็นแค่ ~5% ของวันเทรด).
|
||||
- **Fink (2021)** — *A review of the Post-Earnings-Announcement Drift*, J. Behav. Exp. Finance 29. สรุป: anomaly มี persistence ในหลายตลาด.
|
||||
- **Livnat & Mendenhall (2006)** — SUE (Standardized Unexpected Earnings) จาก analyst forecast vs time-series. **Revenue surprise ก็ขับ PFAD** (Jegadeesh & Livnat).
|
||||
- **Thai evidence**: Chulalongkorn thesis (2012-2019) — *The effect of earnings surprise on market reaction at various free float* — earnings surprise มีผลต่อราคาหุ้นไทย.
|
||||
|
||||
**→ ต่อยอดกับระบบเรา**: เรามี quarterly earnings ของ TOP (energy theme) เป็น factor. ควรเพิ่ม **SUE-style surprise** สำหรับหุ้น (ถ้ามีข้อมูล EPS ต่อไตรมาส) หรือใช้ earnings momentum (EPS YoY ที่ Siamchart มี) ให้น้ำหนัก "กำไรที่โตเร็วกว่า" มากขึ้นใน `siamchart_score`.
|
||||
|
||||
### 1.2 Momentum ใน Emerging Markets
|
||||
- **Cakici, Fabozzi & Tan / "Revisiting momentum profits in emerging markets" (Sci. Dir.)**: momentum returns มีใน EM แต่ **ต่ำกว่า-developed markets** และผันผวน.
|
||||
- **Jegadeesh & Titman (1993)** — classic 12-1 momentum.
|
||||
- **Van der Hart, Slagter & van Dijk (2003)** *Stock selection in emerging markets* (32 EM 1985-1999): **value, momentum, earnings-revision ล้วนมี alpha** ใน EM; แนะนำใช้ร่วมกันหลาย criterion.
|
||||
|
||||
**→ ต่อยอด**: เพิ่ม momentum factor (trailing 6-12 เดือน return จาก price series ที่เรามี 2.5 ปี) เป็น factor หนึ่ง. แต่ EM momentum ผันผวน → ใช้ weight ต่ำเป็นตัวเสริม ไม่ใช่หลัก.
|
||||
|
||||
### 1.3 Multi-Criteria Stock Selection (EM)
|
||||
- **Biswas & Pamućar (2022)** *Multi-criteria stock selection framework in emerging market* — ใช้ MCDM (FUCOM/CODAS) รวมหลายเกณฑ์. สอดคล้องกับที่เราทำ (60/40 รวม theme+fundamental).
|
||||
|
||||
### 1.4 Alternative / Macro factor
|
||||
- **Hartmann et al / macro-quantamental** — macro momentum (growth/inflation) ใช้ทิศทางทำ factor; สอดคล้องกับ **regime gate** ที่เราออกแบบ (bear = risk-off).
|
||||
|
||||
---
|
||||
|
||||
## 2. ข้อเสนอปรับสูตร (ตาม literature, รอโอเคก่อน apply)
|
||||
|
||||
### R1. Earnings goodwill ↑ weight ใน siamchart_score (PEAD)
|
||||
ตาม PEAD/SUE: EPS growth ควรมีน้ำหนักสูงกว่านี้. ข้อเสนอ: เพิ่ม `eps_growth_yoy` coefficient ใน `build_siamchart_score` (ตอนนี้ growth + yield*2) → ทดสอบเป็นสัดส่วนที่ทำให้ growth ครอบงำคุณภาพปานกลาง.
|
||||
**รูปแบบ**: `raw_siamchart = w_growth·eps_growth + w_yield·yield*2` โดย `w_growth` adjustable เริ่ม 1.0→1.5.
|
||||
|
||||
### R2. เพิ่ม Momentum factor (12-1) เป็น factor ใน registry
|
||||
ใช้ price series 2.5 ปี: `mom = close[T] / close[T-11m] - 1`. ใส่เป็น `momentum_12_1` factor (source: Yahoo, frequency: monthly, sign +1) เชื่อม theme ที่เหมาะ (retail/consumer/banks มี momentum premium). **weight ต่ำ (~0.3)** ตาม EM evidence ที่ผันผวน.
|
||||
|
||||
### R3. ปรับ regime gate ให้เป็น continuous ไม่ใช่ binary
|
||||
Literature (Bernard-Thomas, market-state × momentum ที่ Cooper et al 2004): ส่งผลให้ gate แบบ hard 4-ธีมลบ → ใช้ **stress score** (0..1) จากสัดส่วนธีมลบ แล้ว shift threshold ตามสัดส่วน — smooth แทน cliff.
|
||||
|
||||
### R4. เพิ่ม earnings-revision proxy (ถ้าหาได้)
|
||||
- ถ้า Siamchart/อื่นให้ EPS หลายงวด → คำนวณ EPS revision (compare forecast vs actual) เป็น factor. รอ source ที่เปิดได้.
|
||||
|
||||
### R5. ใช้ dividend เป็น sign ทั้งสองทาง
|
||||
Literature: dividend yield มีผลบวก (value-ish) แต่ **dividend cut = screen off**. เสนอ: หุ้นที่ dividend_yield ติดลบ/หด → exclude จาก LONG ไม่ให้เป็นบวก.
|
||||
|
||||
---
|
||||
|
||||
## 3. แหล่งข้อมูลต่อธีม (เพิ่มเติม — ข้อ design research)
|
||||
| ธีม | แหล่งที่มี | แหล่งที่อาจเพิ่ม | ความถี่ | เข้าถึง |
|
||||
|---|---|---|---|---|
|
||||
| tourism | BOT Tourism | BOT foreign arrivals, hotel occupancy | monthly | auth-free (scrape) |
|
||||
| auto | TradingEconomics | DOLE/DLT registrations, BOT auto-loan | monthly | scrape |
|
||||
| energy | Thai Oil (TOP) | PTT/BCP quarterly, EPPO oil price | quarterly | scrape |
|
||||
| banks | BOT macro proxy | **BOT commercial-bank loan/NPL** | monthly/quarterly | scrape (reportID มี) |
|
||||
| retail | macro consumption | **BOT consumer-comfort / retail index** | monthly | needs report |
|
||||
| utilities | macro mfg | **EPPO energy demand** | monthly | scrape |
|
||||
| telecom | macro consumption | **true/AIS subscriber** (หาก public) | quarterly | needs source |
|
||||
| property | macro invest | **BOT housing transfer / REIC** | monthly | scrape |
|
||||
| healthcare | macro consumption | hospital operator occupancy | quarterly | needs source |
|
||||
|
||||
การเพิ่มทุกตัว = register ใน FACTORS (declarative) + collectors ตาม har-derived-api-client. ตัวที่ยังไม่มี reportID → ต้องหา/ทำ collector ใหม่.
|
||||
|
||||
## 4. สถานะ
|
||||
- รอบนี้ implement: ข้อ 3+4+5 (sources auto, backtest จริง, next-update) ✅
|
||||
- ข้อ R1-R5 (ปรับสูตรจาก research) → ต้อง user โอเคก่อน apply
|
||||
- แหล่งต่อธีม → ตัวที่ auth-free ทำได้ (banks NPL มี reportID 794 แล้ว reuse auto_npl) เป็นลำดับถัดไป
|
||||
|
||||
## References (selected)
|
||||
1. Bernard, V.L. & Thomas, J.K. (1990). J. Accounting & Economics 13, 305-340.
|
||||
2. Fink, J. (2021). Journal of Behavioral and Experimental Finance 29.
|
||||
3. Livnat, J. & Mendenhall, R. (2006). J. Accounting Research 44.
|
||||
4. Jegadeesh, N. & Titman, S. (1993). J. Finance 48.
|
||||
5. van der Hart, Slagter & van Dijk (2003). "Stock selection strategies in emerging markets".
|
||||
6. "Revisiting momentum profits in emerging markets" — ScienceDirect.
|
||||
7. Biswas, S. & Pamućar, D. (2022). Oresta / MCDM EM stock selection.
|
||||
8. Chulalongkorn thesis (2012-2019) — earnings surprise, Thai market & free float.
|
||||
9. Cooper, Gutierrez & Hameed (2004). "Market states and momentum". J. Finance 59.
|
||||
Reference in New Issue
Block a user