本文へ移動
cccskills
無料GitHub で公開

earnings-revision

Earnings estimate revisions, guidance analysis, and post-earnings drift (PEAD) — track analyst consensus changes, earnings surprise patterns, and management guidance shifts for US/HK equities.

インストール方法を見る

含まれるファイル(1)

  • SKILL.md9.8 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Earnings Revision & Guidance Analysis

Overview

Track sell-side analyst estimate revisions, management guidance changes, and post-earnings price drift to generate investment signals. Earnings revisions are among the most persistent and well-documented alpha factors in equity markets — stocks with upward revisions tend to continue outperforming, and vice versa.

Core Concepts

1. Earnings Revision Momentum

The revision signal hierarchy (strongest to weakest):

Signal TypeDescriptionTypical Alpha (annualized)Persistence
Earnings surprise (beat/miss)Actual EPS vs consensus3-8% post-event drift60-90 days (PEAD)
Consensus revision breadth% of analysts revising up vs down4-6% long-short spread3-6 months
Estimate magnitude changeSize of revision relative to prior estimate3-5%1-3 months
Guidance revisionManagement guidance change vs prior5-10% on eventImmediate + 30-60 day drift
Whisper number miss/beatActual vs buy-side whisper (not official consensus)2-4%1-2 weeks

2. Key Metrics

Earnings Surprise:

# Standardized Unexpected Earnings (SUE)
sue = (actual_eps - consensus_eps) / std_of_forecast_errors

# Interpretation
# SUE > +2: large positive surprise → strong PEAD signal
# SUE < -2: large negative surprise → strong negative PEAD
# |SUE| < 0.5: in-line with expectations → weak signal

Revision Breadth:

# Revision breadth ratio
breadth = (num_upgrades - num_downgrades) / total_analysts

# Interpretation
# breadth > +0.5: strong consensus upgrade momentum
# breadth < -0.5: strong consensus downgrade momentum
# |breadth| < 0.2: mixed / no clear direction

Estimate Dispersion:

# Analyst disagreement
dispersion = std_of_estimates / abs(mean_estimate)

# High dispersion (>15%): high uncertainty → larger potential surprise
# Low dispersion (<5%): tight consensus → smaller surprise but higher confidence

3. Post-Earnings Announcement Drift (PEAD)

The most robust anomaly in equity markets: prices continue to drift in the direction of the earnings surprise for 60-90 days after the announcement.

PEAD trading rules:

Surprise QuintileAverage 60-day DriftStrategy
Q5 (top surprise)+4 to +8%Go long, hold 60-90 days
Q4+1 to +3%Mild long
Q3 (in-line)~0%No action
Q2-1 to -3%Mild short / underweight
Q1 (worst surprise)-4 to -8%Go short / avoid, hold 60-90 days

PEAD enhancement filters:

  • Small/mid cap > large cap (less analyst coverage = slower price discovery)
  • Low institutional ownership > high ownership (slower information diffusion)
  • First surprise in a direction > consecutive same-direction surprises
  • Revenue surprise + EPS surprise together > EPS surprise alone

4. Management Guidance Analysis

Guidance types:

TypeWhat It CoversSignal Weight
Revenue guidanceTop-line outlookHigh (harder to manipulate)
EPS guidanceBottom-line outlookMedium (can be managed via buybacks, tax rate)
Margin guidanceProfitability trajectoryHigh (reflects pricing power and cost control)
CapEx guidanceInvestment intentionsMedium (forward-looking growth signal)
Segment guidanceDivision-level detailHigh (reveals where growth is coming from)

Guidance change signals:

# Guidance revision scoring
def score_guidance_change(current_guide, prior_guide, consensus):
    # Guide above consensus = positive signal
    if current_guide.midpoint > consensus * 1.02:
        guide_vs_consensus = "above"
    elif current_guide.midpoint < consensus * 0.98:
        guide_vs_consensus = "below"
    else:
        guide_vs_consensus = "inline"

    # Guide raised vs lowered vs maintained
    if prior_guide:
        if current_guide.midpoint > prior_guide.midpoint * 1.01:
            guide_revision = "raised"
        elif current_guide.midpoint < prior_guide.midpoint * 0.99:
            guide_revision = "lowered"
        else:
            guide_revision = "maintained"

    # Strongest signal: raised guidance above consensus
    # Weakest signal: lowered guidance below consensus

Guidance language analysis:

Language PatternInterpretationSignal
"Raising full-year outlook"Confidence in accelerationStrong positive
"Reaffirming guidance"No change, on-trackMild positive (met expectations)
"Narrowing guidance range to upper half"Soft raise without formal revisionPositive
"Updating guidance to reflect..."Euphemism for guidance cutNegative
"Withdrawing guidance"High uncertainty, loss of visibilityStrong negative
"Providing preliminary results"Pre-announcement, usually bad newsNegative (if below consensus)

5. Earnings Quality Indicators

Red flags in earnings reports:

  1. Revenue growing but cash flow declining → accrual manipulation
  2. Changing revenue recognition policy → inflating top line
  3. Declining DSO (Days Sales Outstanding) story contradicted by rising AR → channel stuffing
  4. Beating EPS via lower tax rate or share buyback, not operating improvement
  5. Frequent "non-GAAP adjustments" that always add back expenses → questionable earnings quality
  6. Inventory build outpacing revenue growth → future write-down risk

Quality scoring:

earnings_quality = {
    "fcf_conversion": fcf / net_income,           # >0.8 = good, <0.5 = poor
    "accrual_ratio": (net_income - ocf) / avg_assets,  # <5% = good, >10% = concern
    "revenue_cash_alignment": revenue_growth - ocf_growth,  # small gap = good
    "non_gaap_gap": non_gaap_eps - gaap_eps,      # large gap = red flag
    "buyback_eps_boost": eps_growth - net_income_growth,  # large = artificial
}

Earnings Calendar and Workflow

Pre-Earnings Analysis Checklist

  1. Consensus snapshot: current EPS/revenue consensus, revision trend (30d/60d/90d)
  2. Historical surprise pattern: has the company consistently beat/missed? By how much?
  3. Guidance comparison: last quarter's guidance vs current consensus
  4. Whisper number: buy-side expectations (often 1-3% above street consensus for serial beaters)
  5. Options market pricing: implied move from at-the-money straddle
  6. Sector peers already reported: read-through signals from competitors

Post-Earnings Analysis Checklist

  1. Headline numbers: EPS surprise %, revenue surprise %
  2. Quality of beat/miss: operating income-driven or one-time items?
  3. Guidance change: raised / maintained / lowered / withdrawn
  4. Call tone: management confidence level, Q&A defensiveness
  5. Analyst reaction: immediate revision direction (first 24-48 hours)
  6. Price/volume reaction: gap up/down, reversal, volume multiple vs average

Multi-Market Considerations

US Equities

  • Earnings season: Jan/Apr/Jul/Oct (roughly 2-6 weeks after quarter-end)
  • Data: SEC filings (10-Q within 40 days, 10-K within 60 days for large accelerated filers)
  • Consensus: Bloomberg, Refinitiv, FactSet, Visible Alpha
  • Via yfinance: ticker.earnings_dates, ticker.earnings_history

Hong Kong Equities

  • Earnings season: Mar-Apr (annual), Aug-Sep (interim)
  • Many HK-listed companies report semi-annually, not quarterly
  • Dual-listed (A+H): compare A-share analyst estimates vs HK analyst estimates for arbitrage
  • Via yfinance: yf.Ticker("0700.HK").financials

Key Differences

DimensionUSHK
Reporting frequencyQuarterlySemi-annual (most)
Guidance practiceCommonRare
Analyst coverageDeep (>20 for large caps)Thinner (5-15 for large caps)
Pre-announcementRegulated (Reg FD)Less regulated
Earnings callStandardLess common for mid/small caps

Output Format

## Earnings Revision Analysis — [Ticker]

### Consensus Snapshot
- **Current FY EPS consensus**: $X.XX (N analysts)
- **30-day revision**: [up/down X%] — [N upgrades / N downgrades]
- **60-day revision**: [up/down X%]
- **Estimate dispersion**: [low/medium/high] (CV = X%)

### Last Earnings Event
- **Date**: YYYY-MM-DD | **Quarter**: FY25Q3
- **EPS**: $X.XX actual vs $X.XX consensus (surprise: +X%)
- **Revenue**: $X.XB actual vs $X.XB consensus (surprise: +X%)
- **Guidance**: [raised / maintained / lowered] — FY25 EPS guide: $X.XX-$X.XX
- **Price reaction**: [+X% on day, +X% over 5 days]

### Revision Momentum
- **Breadth**: [+0.6 → strong upgrade momentum]
- **Magnitude**: [average revision +X% over 30 days]
- **PEAD status**: [still within 60-day drift window / drift exhausted]

### Earnings Quality
- **FCF conversion**: X% [strong/adequate/weak]
- **Accrual ratio**: X% [clean/moderate/concern]
- **Non-GAAP gap**: $X.XX [small/large]

### Signal
- **Direction**: [bullish / neutral / bearish]
- **Catalyst**: [next earnings date: YYYY-MM-DD]
- **Confidence**: [high / medium / low]

Notes

  • Earnings revision data requires real-time consensus feeds (Bloomberg, Refinitiv) for professional-grade signals; yfinance provides historical actuals but not real-time consensus
  • PEAD is strongest in the first 30 days post-announcement; signal decays significantly after 60 days
  • Guidance withdrawals are almost always negative — companies rarely withdraw guidance when business is going well
  • Beware of "beat and lower" — beating current quarter but lowering forward guidance is often net negative
  • This framework is for research purposes only and does not constitute investment advice

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

ADR/H-share/A-share cross-listing premium analysis — track pricing gaps between US-listed ADRs, HK-listed H-shares, and A-shares for arbitrage signals, dual-listing valuation, and delisting risk assessment.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

akshare

無料

AKShare financial data aggregator (18k+ stars). Free, no API key. Covers A-shares, US, HK, futures, macro, forex. Primary fallback for tushare and yfinance.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

alpha-zoo

無料

Browse and bench the bundled alpha zoos — prebuilt cross-sectional factor libraries (Kakushadze 101, GTJA 191, Qlib 158, Fama-French / Carhart). Use when the user asks "which alphas exist", wants metadata on a named alpha, or wants to run IC/IR on a whole zoo over a universe.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

A 股 ST/*ST 风险预测框架 — 基于最新中报/三季报或业绩预告/快报,预测下一财年是否会因营收、利润、净资产、分红不达标而被风险警示,并将新浪监管处罚记录作为独立证据面纳入风险等级。仅适用于 A 股,不预测财务造假。

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

Asset allocation theory and optimizer usage — MPT / Black-Litterman / risk budgeting / all-weather strategy, including guides for 5 optimizers and rebalancing rules.

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

Diagnose failed or underperforming backtests, locate the root cause, and fix the issue

日本語の概要は準備中です。原文の説明を表示しています。

HKUDS/Vibe-Trading3.5万2026年10月12日 更新

HKUDS のスキルをすべて見る

このスキルの問題を報告する