Three-tier Stock Selection Process in the ai-berkshire Industry-Funnel Skill
The industry-funnel skill implements a hierarchical three-tier workflow that filters China's A-share universe through broad screening, sector-focus analysis, and deep-dive evaluation to generate a ranked shortlist of high-conviction investment candidates.
The ai-berkshire repository provides a modular AI-driven investment research framework, with the three-tier stock selection process serving as the core filtering engine within the industry-funnel skill. This architecture mimics a traditional investment funnel, progressively narrowing approximately 4,000 tradable securities down to a manageable portfolio of thoroughly vetted opportunities through declarative filtering and skill-based orchestration.
Overview of the Three-Tier Architecture
The industry-funnel skill organizes stock selection into distinct sequential stages, each encapsulated as an independent module. This design enables parallel execution during the sector-focus phase and allows researchers to modify individual tiers without disrupting the broader pipeline.
The workflow relies on a centralized financial-data skill that supplies balance-sheet, income-statement, and cash-flow figures from providers like Eastmoney and Wind. All three tiers share this data layer while applying progressively stricter criteria defined in skills/industry-funnel.md.
Tier 1: Broad-Screen Filtering
The broad-screen tier acts as the initial gatekeeper, removing obviously unsuitable symbols from the full A-share universe. This stage applies hard-screen criteria including market-cap floors, liquidity thresholds, and data-availability checks to filter the ~4,000 symbol universe.
The logic resides in skills/industry-funnel.md and expresses filters as declarative predicates applied to raw financial data. Only securities passing these investment-checklist flags—such as minimum gross margin requirements (>30%) and positive free-cash-flow verification—advance to the next tier.
Tier 2: Sector-Focus Analysis
The sector-focus tier groups remaining candidates by CSRC industry classification and evaluates each sector against specialized metrics. This stage invokes the industry-research skill (defined in skills/industry-research.md) to provide standardized taxonomy and aggregate sector-level financials.
Key evaluation criteria include revenue growth, return on invested capital (ROIC), and margin expansion trends specific to each industry vertical. The system processes sectors in parallel threads, dramatically reducing runtime while producing sector-ranked candidate pools that serve as the input for final-stage analysis.
Tier 3: Deep-Dive Evaluation
The deep-dive tier conducts granular fundamental analysis on shortlisted candidates using the deep-company-series skill. This stage executes a comprehensive checklist covering valuation multiples, cash-flow robustness, and competitive moat analysis as implemented in skills/deep-company-series.md.
Each candidate undergoes rigorous scrutiny against the investment-checklist skill's must-have criteria before receiving a final ranking score. The output formats as a markdown table containing the rank-ordered shortlist, ready for consumption by downstream skills like portfolio-review or investment-team.
Pipeline Orchestration and Execution
A lightweight pipeline orchestrator sequences the three tiers, passing output from each stage as the input parameter to the next. Researchers invoke this workflow through the CLI wrapper defined in scripts/install-claude-commands.sh:
# Run the industry-funnel skill and output a shortlist to funnel-output.md
ai-berkshire run industry-funnel \
--date 2026-06-30 \
--output funnel-output.md
The internal execution flow (extracted from skills/industry-funnel.md) follows this pattern:
# 1️⃣ Broad screen
candidates = filter_universe(all_symbols, hard_filters)
# 2️⃣ Sector focus
sector_groups = group_by_industry(candidates, industry_taxonomy)
sector_ranked = {
sector: rank_by_metrics(group, sector_metrics)
for sector, group in sector_groups.items()
}
# 3️⃣ Deep dive
shortlist = []
for sector, tickers in sector_ranked.items():
for ticker in tickers:
analysis = deep_company_analysis(ticker)
if analysis.meets_deep_criteria:
shortlist.append(analysis)
# Final output
export_to_markdown(shortlist, args.output)
Summary
- The three-tier stock selection process filters ~4,000 A-share symbols through broad-screen, sector-focus, and deep-dive stages defined in
skills/industry-funnel.md. - Hard-screen criteria (market cap, liquidity, data availability) and investment-checklist flags (gross margin >30%, positive FCF) govern tier advancement.
- The sector-focus stage leverages parallel processing and CSRC classification via the
industry-researchskill to create ranked candidate pools. - Deep-dive analysis uses the
deep-company-seriesskill for valuation, moat, and cash-flow assessment before exporting a final markdown shortlist. - Modular architecture allows independent tier modification and parallel execution while maintaining data consistency through the centralized
financial-dataskill.
Frequently Asked Questions
What are the specific hard-screen criteria used in the broad-screen tier?
The broad-screen tier applies market-cap floors, liquidity thresholds, and data-availability checks to eliminate unsuitable securities from the ~4,000 symbol universe. Additionally, the system enforces investment-checklist must-have flags such as gross margins exceeding 30% and positive free-cash-flow generation before allowing candidates to advance to sector-focus analysis.
How does the industry-funnel skill handle industry classification?
The skill utilizes the CSRC (China Securities Regulatory Commission) classification system to group filtered candidates into standardized sectors. It invokes the industry-research skill from skills/industry-research.md to provide the taxonomy and calculate sector-specific metrics including revenue growth and ROIC for comparative ranking.
Can the three-tier process run sectors in parallel?
Yes, the architecture supports parallel execution of the sector-focus stage, where each industry vertical processes independently in its own thread. This parallelization significantly reduces runtime when analyzing the full A-share universe while maintaining the sequential dependency between the broad-screen, sector-focus, and deep-dive tiers.
What downstream skills consume the industry-funnel output?
The final rank-ordered shortlist exports as a markdown table that feeds directly into the portfolio-review and investment-team skills. These downstream modules use the filtered results for portfolio construction, position sizing, and final investment committee presentation.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →