Methodology

How VH Capital transforms public regulatory filings into compound investment signals — in under 60 seconds, automatically, at scale.


The Pipeline

From filing publication to
investment thesis: 4 steps.

01

Monitor (30-second cycles)

EDGAR EFTS and RSS polled every 30 seconds in alternating cycles. EFTS provides lower latency (<10 min), RSS provides broader authoritative coverage. ESMA SSR checked daily, ProZorro/World Bank/EBRD/USAID checked daily. All 16 streams run continuously.

02

Classify (Claude AI)

Each filing sent to claude-sonnet-4-6 for classification: category, confidence, 2-sentence summary, key quote, Ukraine relevance, and base risk score 0–100. System prompt cached with cache_control: ephemeral — reduces token cost by ~70%. Fallback: Claude Haiku → Ollama llama3.2 (offline).

03

Enrich (parallel, 10 streams)

asyncio.gather runs all enrichment tasks concurrently: novelty vs. 10-Q, strategic contradiction vs. 10-K, linguistic analysis (Gunning-Fog + LM), ESMA short positions, EBA bank stress, job postings (Adzuna + robota.ua), sentiment (Reddit + NewsAPI), customs (USITC), trade flows (UN Comtrade), Black Sea AIS (VesselFinder).

04

Score, Synthesize, Deliver

Compound score = base + boosters (max 100). If threshold met: Claude generates structured investment thesis (Signal → Impact → Supply Chain → Ukraine/CEE → Action). Alert delivered via email + Slack within 60 seconds of filing publication.


Score Architecture

9 boosters applied on top of
the base AI risk score.

The base score (0–100) is Claude's assessment of the filing in isolation. Compound boosters reflect corroboration from independent data sources.
+15 — Linguistic Anomaly (Gunning-Fog >22 or spike >20%)
Research basis: Li (2008) "Annual report readability, current earnings, and earnings persistence"; Loughran & McDonald (2011) "When Is a Liability Not a Liability?" — text complexity spikes are statistically significant fraud/distress precursors.
+20/+10/+5 — Strategic Contradiction (HIGH/MEDIUM/LOW)
Semantic comparison of 8-K action against most recent 10-K annual strategic pledge. Example: "Organic growth only" (10-K) + acquisition announcement (8-K) = HIGH contradiction. Credibility score 0–100.
+30 — Information Vacuum (>90 days without filing)
SEC Chair Atkins' 2026 reform replaces quarterly 10-Q with semi-annual 10-S. An 8-K during a 90-day reporting gap carries significantly higher information asymmetry — alt-data boost raised accordingly.
+25/+15 — ESMA New/Increased Short Position
Under EU SSR Art. 9(1), positions ≥0.5% are public. A new significant short position simultaneously with a US 8-K is the strongest cross-market compound confirmation available in public data.
+20/+10 — EBA Bank Stress (CRITICAL/WARNING)
CET1 <10% or NPL >10% for a Ukraine-exposed EU bank, coinciding with a financial sector 8-K, indicates elevated counterparty risk.
+10 — M&A Pre-Signal (SC 13D / S-4 / Form 4 cluster)
SC 13D (activist >5% stake) historically precedes acquisitions in 40%+ of cases. S-4 = merger share registration. Form 4 cluster (3+ insider buys in 14 days) = management confidence.

Data Sources

16 streams. All public. All free.

EDGAR EFTS + RSS
SEC full-text search + Atom feed, 30s cycle
Free
EDGAR Archives
Direct filing document text, 8,000 chars
Free
EDGAR 10-Q / 10-K
Historical financials for novelty + contradiction
Free
EDGAR SC 13D/S-4/Form 4
M&A pre-signals and insider trading
Free
ESMA SSR Register
EU short positions ≥0.5%, daily
Free
EBA Risk Dashboard
EU bank CET1 / NPL / LCR, quarterly
Free
FCA NSM
UK regulatory news, 5-min latency
Free
AMF France
French regulatory news RSS
Free
Bundesanzeiger
German mandatory disclosures RSS
Free
Adzuna API
US job postings ±% vs baseline
Free tier
robota.ua + pracuj.pl
Ukrainian and Polish job markets
Free
Reddit + NewsAPI
Sentiment score −1..+1
Free tier
USITC
US customs shipment data
Free
UN Comtrade
Global trade flows, HS codes
Free
VesselFinder
Black Sea AIS vessel tracking
Free
ProZorro + WB + EBRD + USAID
Ukraine reconstruction pipeline
Free

See the methodology in action.

We'll run a live demo with your specific watchlist and walk through a real compound signal step by step.

Request Demo →