Skip to main content
ClaudeWave
Skill12k repo starsupdated today

earnings-revision

The earnings-revision skill tracks sell-side analyst estimate revisions, management guidance changes, and post-earnings announcement drift to generate equity trading signals for US and Hong Kong stocks. It quantifies earnings surprise magnitude using standardized unexpected earnings, measures consensus revision breadth among analysts, and exploits the documented 60 to 90-day price drift pattern that follows earnings surprises, with typical alpha ranging from 3 to 10 percent annualized depending on signal type and holding period.

Install in Claude Code
Copy
git clone --depth 1 https://github.com/HKUDS/Vibe-Trading /tmp/earnings-revision && cp -r /tmp/earnings-revision/agent/src/skills/earnings-revision ~/.claude/skills/earnings-revision
Then start a new Claude Code session; the skill loads automatically.

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 Type | Description | Typical Alpha (annualized) | Persistence |
|-------------|-------------|---------------------------|-------------|
| Earnings surprise (beat/miss) | Actual EPS vs consensus | 3-8% post-event drift | 60-90 days (PEAD) |
| Consensus revision breadth | % of analysts revising up vs down | 4-6% long-short spread | 3-6 months |
| Estimate magnitude change | Size of revision relative to prior estimate | 3-5% | 1-3 months |
| Guidance revision | Management guidance change vs prior | 5-10% on event | Immediate + 30-60 day drift |
| Whisper number miss/beat | Actual vs buy-side whisper (not official consensus) | 2-4% | 1-2 weeks |

### 2. Key Metrics

**Earnings Surprise:**
```python
# 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:**
```python
# 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:**
```python
# 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 Quintile | Average 60-day Drift | Strategy |
|-------------------|---------------------|----------|
| 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:**

| Type | What It Covers | Signal Weight |
|------|----------------|---------------|
| Revenue guidance | Top-line outlook | High (harder to manipulate) |
| EPS guidance | Bottom-line outlook | Medium (can be managed via buybacks, tax rate) |
| Margin guidance | Profitability trajectory | High (reflects pricing power and cost control) |
| CapEx guidance | Investment intentions | Medium (forward-looking growth signal) |
| Segment guidance | Division-level detail | High (reveals where growth is coming from) |

**Guidance change signals:**

```python
# 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 Pattern | Interpretation | Signal |
|-----------------|----------------|--------|
| "Raising full-year outlook" | Confidence in acceleration | Strong positive |
| "Reaffirming guidance" | No change, on-track | Mild positive (met expectations) |
| "Narrowing guidance range to upper half" | Soft raise without formal revision | Positive |
| "Updating guidance to reflect..." | Euphemism for guidance cut | Negative |
| "Withdrawing guidance" | High uncertainty, loss of visibility | Strong negative |
| "Providing preliminary results" | Pre-announcement, usually bad news | Negative (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:**
```python
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
vibe-tradingSkill

Professional finance research toolkit — backtesting (7 engines + benchmark comparison panel), factor analysis, Alpha Zoo (452 pre-built alphas across qlib158/alpha101/gtja191/academic), options pricing, 77 finance skills, 29 multi-agent swarm teams, Trade Journal analyzer, and Shadow Account (extract → backtest → render) across 7 data sources (tushare, yfinance, okx, akshare, mootdx, ccxt, futu).

adr-hshareSkill

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.

akshareSkill

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

alpha-zooSkill

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.

ashare-pre-st-filterSkill

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

asset-allocationSkill

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

backtest-diagnoseSkill

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

behavioral-financeSkill

Behavioral finance applications: theories of overreaction and underreaction, behavioral explanations for momentum and reversal, investor sentiment cycles, cognitive-bias checklists, and debiasing quantitative strategies.