Đầu tư Cổ phiếu · Phần 29 — Earnings, catalyst và event risk
Xây event calendar, expectations map, scenario tree, gap-risk sizing và playbook trước–trong–sau báo cáo kết quả kinh doanh cùng các sự kiện doanh nghiệp.
Doanh nghiệp báo lợi nhuận tăng 30%, nhưng cổ phiếu giảm 8%. Không có nghịch lý: giá phản ứng với khoảng cách giữa kết quả và kỳ vọng đã nằm trong giá, cộng với guidance, chất lượng lợi nhuận, positioning và thanh khoản.
Event trading không phải đoán EPS. Nó là bài toán phân phối rời rạc: giá có thể gap qua stop, spread mở rộng và dữ liệu xuất hiện theo nhiều lớp trong vài phút/giờ.
1. Taxonomy sự kiện
| Nhóm | Ví dụ | Risk chính |
|---|---|---|
| Scheduled financial | Earnings, AGM, investor day | Gap, expectation mismatch |
| Corporate action | Dividend, rights, split, buyback | Mechanical adjustment, dilution |
| Capital structure | Issuance, debt refinancing, default | Dilution, funding/liquidity |
| M&A | Offer, rumor, approval, break | Deal spread, binary outcome |
| Regulatory/legal | License, investigation, court | Halt, discontinuity |
| Macro/industry | Rate decision, commodity report | Correlated shock |
| Unscheduled | CEO resignation, accident, fraud | Data scarcity, extreme gap |
Ở Mỹ, Form 8-K thông báo nhiều sự kiện trọng yếu giữa các báo cáo định kỳ; SEC lưu ý 8-K có thể xuất hiện khi công ty vừa công bố earnings hoặc có sự kiện quan trọng (SEC Investor Bulletin — How to Read an 8-K). Ở Việt Nam, dùng nguồn công bố của doanh nghiệp và sở giao dịch đang áp dụng; form/deadline không giống Mỹ.
2. Event calendar point-in-time
event_id
symbol
event_type
scheduled_time / time_window
source_url
source_published_at
confidence: confirmed / estimated / rumor
expected_session: pre-open / intraday / post-close / unknown
position_exposure
owner / last_verified_at
Không dùng lịch được sửa sau sự kiện cho backtest. Lưu snapshot ngày bạn biết lịch và mọi lần thay đổi. Estimated không được biến thành confirmed chỉ vì sau đó đúng.
Daily event sweep
T-10: sự kiện nào trong 10 phiên?
T-5: exposure, cluster, liquidity, implied move nếu có?
T-2: quyết định hold/reduce/exit/no new trade
T-1: xác minh timestamp, order, contingency
T+0: data capture; không phản ứng từ headline đơn lẻ
T+1..5: thesis update, execution review, post-event play
3. Expectations map
Kết quả actual không đủ. Trước event, ghi:
CONSENSUS / MARKET EXPECTATION
Revenue, margin, EPS/PAT nếu có nguồn đáng tin
Guidance / key KPI
Valuation and recent price move
Options-implied move nếu thị trường có dữ liệu phù hợp
Management narrative priced in
MY BASE CASE
Exact assumptions and source
WHAT MATTERS MOST
1–3 variables likely to drive re-rating
POSITIONING PROXIES
Momentum, short interest/fund flow nếu có dữ liệu
Không tự bịa “consensus”. Nếu không có nguồn, ghi unknown; dùng scenario rộng hơn.
4. Đọc earnings theo bốn lớp
Headline
Revenue, profit, EPS, guidance. Nhanh nhưng dễ bị one-off.
Quality
- Gross/operating margin.
- CFO, working capital.
- Recurring vs disposal/fair value/reversal.
- Tax rate và NCI.
- Share count/dilution.
Forward
- Backlog/order growth.
- Pricing, volume, churn.
- Capex, hiring, inventory.
- Guidance range và assumptions.
Balance sheet/risk
- Cash/debt/refinancing.
- Covenant.
- Receivable/inventory.
- Related-party, legal, contingent items.
Phần 23 cung cấp quy trình đọc BCTC; ở event day, dùng phiên bản rút gọn nhưng phải quay lại thuyết minh đầy đủ.
5. Surprise decomposition
Reported surprise = actual - reference expectation
Core surprise = normalized actual - normalized expectation
Guidance surprise = new forward range - market/base expectation
Quality surprise = cash/margin/working-capital deviation
Giá có thể giảm dù EPS beat nếu core profit miss, guidance cut hoặc beat đã priced in.
6. Scenario tree trước sự kiện
Ví dụ giả tưởng:
| Scenario | Xác suất chủ quan | Dấu hiệu | Gap giả định | Hành động |
|---|---|---|---|---|
| Bull | 25% | Revenue beat, margin + guidance up | +8% | Không chase ngoài max price; chờ post-event setup |
| Base | 45% | In line, guidance giữ | -2% đến +3% | Theo play bình thường sau price discovery |
| Bear | 25% | Margin miss/guidance cut | -10% | Risk exit/không bắt đáy |
| Tail | 5% | Accounting/funding shock | -25% | Halt/gap contingency |
Expected gap chỉ là phép tổ chức suy nghĩ:
E[gap] = Σ probability × scenario return
Xác suất chủ quan không làm tail biến mất. Dùng scenario để sizing và quyết định có chịu event hay không.
7. Ba play khác nhau
Pre-event anticipation
Vào trước sự kiện dựa trên kỳ vọng. Rủi ro cao nhất vì binary gap; stop thường vô dụng qua đêm. Cần event-risk budget riêng.
Event reaction
Giao dịch khi dữ liệu ra. Cạnh tranh tốc độ, spread/halts và headline parsing; không phù hợp nếu hạ tầng chậm.
Post-event drift/setup
Đợi price discovery, đọc tài liệu, rồi giao dịch continuation/reversal theo play viết riêng. Bỏ cú đầu nhưng giảm uncertainty operational.
Không trộn sample của ba play.
8. Sizing qua event
Stop-based size:
shares_stop = risk_budget / stop_distance
Event-stress size:
shares_event = event_loss_budget / (entry × assumed_adverse_gap%)
final_shares = min(shares_stop, shares_event, liquidity_cap, cluster_cap)
Ví dụ:
Equity = 1 tỷ
Event loss budget = 0,40% = 4 triệu
Entry = 50.000
Adverse gap stress = 15% = 7.500/cp
shares_event = 4.000.000 / 7.500 = 533 cp
Làm tròn xuống theo lot/cap → 500 cp
Nếu stop bình thường cho 2.000 cp, event cap vẫn chỉ 500.
Clustered events
Năm ngân hàng report cùng tuần có common macro factor. Giới hạn tổng event loss theo cluster, không chỉ từng mã.
9. Hold, reduce hay exit?
Decision table:
| Câu hỏi | Hold có điều kiện | Reduce/exit/no trade |
|---|---|---|
| Event có nằm trong play? | Có event mandate | Không |
| Tail loss chịu được? | Stress loss dưới cap | Vượt cap |
| Liquidity sau event? | Có depth/capacity | Halt/thin/uncertain |
| Edge được kiểm chứng? | Sample net-cost đủ | Chỉ intuition |
| Position cluster? | Còn room | Concentrated |
| Information access? | Tài liệu/timestamp rõ | Rumor/unknown |
Không giữ chỉ vì vị thế đang lãi; giá vốn không giảm gap risk tương lai.
10. Event-day runbook
BEFORE
☐ Calendar verified from primary source
☐ Scenario tree and critical KPIs frozen
☐ Size/stress/cluster caps
☐ Existing orders audited; stale orders cancelled
☐ Source tabs/data capture ready
AT RELEASE
☐ Save original release and timestamp
☐ Separate reported vs comparative/restated
☐ Check guidance and cash, not headline only
☐ Verify unit/currency/period
☐ Do not act on social-media paraphrase
EXECUTION
☐ Spread/depth/halt state
☐ Order type and maximum slippage
☐ No duplicate order during latency
☐ Partial fill and contingency
AFTER
☐ Actual vs expectations table
☐ Thesis changed? Exact evidence
☐ Trade/process/execution labels
☐ Update BCTC model and event database
11. Corporate actions không phải alpha miễn phí
Split làm giá/cổ phiếu thay đổi cơ học; dividend làm tham chiếu điều chỉnh; rights issue có dilution và quyền cần định giá. Backtest phải xử lý ex-date, record/payment dates và adjustment factors. Một chart gap do corporate action không phải breakout/crash kinh tế.
M&A cần play riêng:
deal price
current price
time to close
probability of completion
break price
financing/regulatory conditions
Spread hẹp không đồng nghĩa risk thấp; downside khi deal break có thể bất đối xứng.
12. Post-event review
Tách bốn score:
| Layer | Câu hỏi |
|---|---|
| Forecast | Scenario/KPI map có bỏ sót biến chính? |
| Positioning | Size có đúng event/cluster stress? |
| Decision | Hold/reduce/exit có đúng play? |
| Execution | Fill, slippage, halt handling? |
Đúng forecast nhưng sai sizing vẫn là quy trình tệ. Forecast sai nhưng risk nằm trong cap và phản ứng đúng runbook có thể là quy trình tốt.
Event database
event type
pre-event run-up
consensus/base/actual
guidance surprise
quality flags
open gap / day-1 / day-5 / day-20 return
spread/slippage
position size and event R
process score
Chỉ sau sample đủ lớn mới đánh giá play; không rút quy tắc từ một earnings memorable.
13. Lab
Chọn 20 earnings lịch sử, che dữ liệu sau release:
- Dựng expectations map từ tài liệu có tại T-1.
- Viết bốn scenarios và event size.
- Mở release gốc, điền actual/quality/guidance.
- Ghi gap, spread proxy và path 5 ngày.
- So sánh pre-event, reaction và post-event play riêng.
MASTERY GATE
☐ Calendar point-in-time với confidence
☐ Phân biệt actual, expectation và priced-in narrative
☐ Scenario tree có tail case
☐ Size theo adverse gap, không chỉ stop
☐ Event cluster cap
☐ Runbook nguồn/order/halt
☐ Review forecast, sizing, decision, execution riêng
Kết luận
Sự kiện làm lộ rõ giới hạn của stop và forecast. Lợi thế vận hành nằm ở chuẩn bị: biết kỳ vọng nào quan trọng, size cho gap chứ không cho hy vọng, và có thể chọn không chịu event rồi chờ play sau price discovery.
Phần 30 sẽ biến toàn bộ lệnh, event và exception thành hệ thống học: journal schema, expectancy, attribution, drawdown và review cadence.