# How News-Pulse Attributes Stock Price Movements to Fundamental, Emotional, and Funding Factors

> Discover how News-Pulse attributes stock price movements to fundamental, emotional, and funding factors using four AI agents and Team-Lead synthesis. Understand market drivers.

- Repository: [Xbt Lin/ai-berkshire](https://github.com/xbtlin/ai-berkshire)
- Tags: deep-dive
- Published: 2026-07-26

---

**News-pulse uses four parallel AI agents to scan company fundamentals, regulatory changes, industry trends, and market sentiment, then fuses their findings through a Team-Lead synthesis to classify price swings as driven by fundamental value shifts, funding environment changes, or emotional sentiment waves.**

The **news-pulse** skill in the `xbtlin/ai-berkshire` repository is a fast-response diagnostic tool designed to explain sudden stock-price movements. Unlike simple news aggregators, this system employs a multi-agent architecture that investigates distinct informational dimensions concurrently, then applies structured confidence scoring to deliver evidence-based attribution.

## The Four-Agent Attribution Framework

At the core of news-pulse is a temporary team of four specialized **Agents**, each probing a different causal layer of price movement. This design ensures comprehensive coverage while maintaining execution speeds under approximately ten minutes.

### Company-Event Scout: Detecting Fundamental Drivers

The **Company-Event Scout** focuses exclusively on firm-specific events that alter intrinsic value. According to [`skills/news-pulse.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/news-pulse.md) (lines 54-99), this agent searches for earnings surprises, management changes, capital-structure events, lawsuits, and M&A activity.

These findings map directly to **fundamental** attribution. When the Scout discovers a post-market earnings miss or a sudden CEO departure that aligns temporally with a price drop, the system flags the movement as fundamentally driven.

### Regulatory-Watcher and Industry-Peer Analyst: Identifying Funding Factors

Two agents collaborate to detect **funding** factors—defined as external capital-flow and policy conditions that impact cash flow without changing core business operations:

- **Regulatory-Watcher** (lines 54-99): Monitors policy shifts, central bank communications, and regulator releases that affect financing costs or sector liquidity.
- **Industry-Peer Analyst** (lines 54-99): Tracks sector-wide beta movements, peer disclosure changes, and macro supply-demand shocks.

Together, these agents identify whether a price swing stems from refinancing risks, liquidity crunches, or broad sector repricing due to capital availability changes.

### Sentiment-Tracker: Capturing Emotional Market Forces

The **Sentiment-Tracker** agent mines non-fundamental market psychology indicators. As implemented in the source code (lines 99-102), this agent utilizes [`tools/xueqiu_scraper.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/xueqiu_scraper.py) to pull commentary from high-visibility investors ("big-V" opinions), alongside analyst upgrades/downgrades, short-interest spikes, and technical breakout signals.

This channel generates **emotional** attribution when the evidence shows momentum-driven trading, panic selling, or euphoric buying disconnected from underlying business metrics.

## Step-by-Step Attribution Workflow

The news-pulse skill executes a nine-stage pipeline defined in [`skills/news-pulse.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/news-pulse.md), ensuring rigorous validation before any classification occurs.

### Input Validation and Information Grading

First, the system validates parameters including company name, time window, price-move description, and focus areas (lines 21-28). It then assigns an **information-availability grade** (A/B/C for rich/moderate/scarce) that determines each agent's search aggressiveness and noise-filtering strategy (lines 34-41).

### Parallel Agent Execution

A temporary team `<company>-newspulse` is instantiated (lines 44-49) to sandbox the four agents. Each receives a distinct prompt crafted for their investigative domain. All four tasks launch simultaneously with `run_in_background:true` (lines 107-115), guaranteeing the workflow completes within the ~10-minute target window.

### Evidence Structuring and Synthesis

Each agent returns structured outputs containing:
- A **core-findings list** detailing relevant events
- A **timeline table** with relevance scores (high/medium/low)

These outputs follow the format specified in lines 135-141, ensuring consistent data for the final fusion stage.

## The Team-Lead Synthesis and Attribution Logic

The decisive classification occurs in the **Team-Lead synthesis** stage (lines 155-190). This component aggregates the four parallel reports, merges their timelines, and constructs the final **Attribution Report** containing:

- **Primary driver classification**: Explicit designation as fundamental, funding, or emotional
- **Confidence scoring**: Visual indicators (`🔴 高` / `🟡 中` / `⚪ 低` or textual high/medium/low) reflecting alignment strength between evidence and price-move magnitude
- **Data gap flags**: Transparency markers where information was insufficient
- **Actionable next steps**: Recommendations such as "thesis re-review" or "await clarification"

The confidence weighting ensures attribution represents reasoned judgment rather than event enumeration. For example, a 12% drop coinciding with both an earnings miss (fundamental) and sector-wide risk-off sentiment (emotional) receives weighted scoring to determine the dominant driver.

### Report Persistence

Completed reports are written to `reports/<company>/<company>-news-<date>.md` (lines 176-183), enabling audit trails and reuse for subsequent deep-research cycles. The temporary team is then deleted to free resources (lines 219-224).

## Practical Usage Examples

### Command-Line Invocation

Activate the skill directly from a chat interface:

```markdown
/news-pulse 腾讯 12%跌 3天

```

The skill prompts for missing parameters, then returns the full attribution analysis.

### Programmatic Integration

For automated pipelines, invoke via Python:

```python
import json
from ai_berkshire import invoke_skill

payload = {
    "company": "Tencent",
    "price_move": "down 12% in 3 days",
    "window_days": 14,
    "focus": ["company", "regulation", "industry", "sentiment"]
}
result = invoke_skill("news-pulse", payload)

print(result["summary"])      # One-sentence attribution verdict

print(result["timeline"])     # Merged evidence timeline

```

The `invoke_skill` wrapper loads [`codex-skills/news-pulse/SKILL.md`](https://github.com/xbtlin/ai-berkshire/blob/main/codex-skills/news-pulse/SKILL.md) and executes the defined workflow, returning a dictionary mirroring the markdown report sections.

### Sentiment Data Collection

To manually populate the Sentiment-Tracker's data sources:

```bash
python3 tools/xueqiu_scraper.py \
    --user-id 1247347556 \
    --keywords Tencent \
    --output /tmp/dyp-Tencent.md

```

This scraper pulls recent posts from influential investors (e.g., Duan Yongping), feeding first-hand opinion data into the emotional attribution channel.

## Summary

- **news-pulse** classifies stock-price movements using four parallel agents: Company-Event Scout (fundamental), Regulatory-Watcher/Industry-Peer Analyst (funding), and Sentiment-Tracker (emotional).
- The system executes via [`skills/news-pulse.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/news-pulse.md), utilizing parallel background tasks (`run_in_background:true`) for sub-10-minute turnaround.
- Attribution requires **Team-Lead synthesis** (lines 155-190) that merges evidence timelines and applies confidence scoring (high/medium/low).
- Reports persist to `reports/<company>/<company>-news-<date>.md` for auditability, while underlying sentiment data can be gathered via [`tools/xueqiu_scraper.py`](https://github.com/xbtlin/ai-berkshire/blob/main/tools/xueqiu_scraper.py).

## Frequently Asked Questions

### What distinguishes funding factors from fundamental factors in news-pulse attribution?

**Funding factors** involve external capital conditions—policy shifts, refinancing activity, liquidity changes, and sector-wide supply-demand shocks that affect cash flow without altering the core business model. **Fundamental factors** involve intrinsic value changes such as earnings surprises, management actions, or capital-structure events directly tied to the firm's operations (as defined in [`skills/news-pulse.md`](https://github.com/xbtlin/ai-berkshire/blob/main/skills/news-pulse.md) lines 54-99).

### How long does the news-pulse analysis take to complete?

The parallel agent architecture ensures completion within approximately **10 minutes**. The system launches all four scouting tasks simultaneously using `run_in_background:true` (lines 107-115), with the Team-Lead synthesis occurring only after all agents return their structured findings.

### Where are the attribution reports stored?

Completed reports are written to `reports/<company>/<company>-news-<date>.md` (lines 176-183). This path structure enables easy retrieval for audit trails and subsequent deep-research workflows within the `xbtlin/ai-berkshire` repository.

### Can I customize which attribution factors to analyze?

Yes. The `focus` parameter accepts an array selecting specific investigation channels: `["company", "regulation", "industry", "sentiment"]`. You may specify a subset to narrow the scope, though the full attribution power requires all four dimensions for accurate confidence weighting (lines 21-28).