📋 Project Overview & Problem Statement
Challenge: A Malaysian retail investor opens 99 Speed Mart's Q3 2025 interim report — 20 pages, thousands of numbers, five separate statements. Reading it cover-to-cover takes hours, and most readers still come away unable to answer the three questions that matter: is this a quality business, is the margin trend real, and is the dividend safe to bank on? Missing the signal buried in the filing is the single most expensive thing a retail investor does.
Solution: The Stock Analysis Agent runs a Bursa-listed stock's interim filing through a 5-agent AI deep-read pipeline — screening, fundamentals, moat, dividends, and reporting. This showcase demonstrates the pipeline applied to 99 Speed Mart (Bursa: 99SMART) Q3 2025. Output: screening verdict, margin trend read, moat-widening inventory, dividend-sustainability analysis, and a structured executive summary with top investment merits and top risks — in minutes, not hours.
Key Benefits
- Minutes, not hours: Full quarterly deep-read of an interim report in under 10 minutes
- Five analytical angles in one pass: Screening, fundamentals, moat, dividends, synthesis — all from the same filing
- Grounded in filings: Every number traceable to the interim report or balance sheet — no speculation
- Retail-investor friendly: Structured executive summary, top merits, top risks — not a 50-page analyst deck
- Repeatable each quarter: Re-run on every new Bursa interim report to track the same stock's trajectory
🤖 Multi-Agent AI Architecture
🔍 Agent 1: Screening Agent
Runs the basic health checks — growth rate, profitability, EPS, net assets per share. In the 99SMART case: flagged PASS on both top-line growth (+19.1% Q3 revenue) and profitability (all margins expanding).
📈 Agent 2: Fundamentals Agent
Reads margin trends, cost discipline, and operating leverage from the P&L. In the 99SMART case: revenue +19.1% while opex only +12.6% — textbook operating leverage, PBT margin expanded +1.3 pp.
🏰 Agent 3: Moat Agent
Assesses scale, geographic reach, and moat-widening initiatives. In the 99SMART case: 2,966 outlets across all Malaysian states, first China outlet in Fuzhou, bulk-sales e-commerce adding incremental revenue — four separate moat moves live at once.
💰 Agent 4: Dividends Agent
Tracks payout record, coverage by operating cash flow, and balance-sheet strength. In the 99SMART case: RM378M FY2025 dividends declared (3.8× FY2024) against RM787M operating cash — 2.08× coverage. Cash pile RM1.07B, term loans zero.
📋 Agent 5: Reporting Agent
Synthesises the four upstream agents into an executive summary, top 3 investment merits, and top 3 risks. In the 99SMART case: growth-plus-income story with operating leverage as merit #1, payout ratio (82.7%) as risk #1.
Investment Yardstick — the analytical rubric the pipeline applies to every stock
The Yardstick below is the 5-agent pipeline's full analytical lens. For the 99SMART demo, the pipeline produces qualitative findings against each category (covered in the Launch Demo above). The same Yardstick also drives the optional batch-screener mode for 50+ Malaysian stocks via Yahoo Finance.
| Category |
Weight |
Max Points |
Evaluation Criteria |
| Fundamentals & Profitability |
20% |
20 |
ROE, EPS, profit margins, operating efficiency |
| Financial Health & Solvency |
15% |
15 |
Debt ratios, current ratio, book value, liquidity |
| Valuation |
20% |
20 |
PE ratio, price-to-book, price-to-sales |
| Business Moat |
15% |
15 |
Competitive advantages, brand, barriers |
| Cash Flow & Dividends |
15% |
15 |
Dividend yield, payout ratio, sustainability |
| Management & Outlook |
10% |
10 |
Track record, governance, strategy |
| Liquidity |
5% |
5 |
Trading volume, bid-ask spread |
Recommendation Scale
- 80-100 points: Strong Buy 🟢 - Excellent investment opportunity
- 60-79 points: Buy 🟡 - Good fundamentals with solid potential
- 40-59 points: Hold ⚪ - Neutral, monitor for changes
- 0-39 points: Avoid 🔴 - Significant concerns identified
🛠️ Technical Architecture & Data Sources
AI & Processing Stack
Google Gemini 2.0 Flash
Yahoo Finance API
Tavily Web Search
Python 3.8+
Google Colab
Data Analysis Libraries
Pandas
yfinance
Matplotlib
Seaborn
JSON Processing
Multi-Agent Workflow — as applied to the 99SMART case
Sequential Agent Execution:
- Stage 1: Screening Agent runs top-line growth + profitability checks — 99SMART passed both
- Stage 2: Fundamentals Agent reads margin trends and operating leverage — revenue +19.1% vs opex +12.6%
- Stage 3: Moat Agent catalogues scale and moat-widening moves — 2,966 outlets, all-state coverage, China pilot, e-commerce
- Stage 4: Dividends Agent computes payout coverage — RM378M declared, 2.08× covered by operating cash
- Stage 5: Reporting Agent synthesises findings — executive summary + top 3 merits + top 3 risks
Data Sources & Integration
- Yahoo Finance (yfinance): Real-time stock prices, financial ratios, dividend history
- Tavily API: Web search for business moat research and competitive analysis
- Malaysian Stock Market: 50+ major stocks (KLCI components + liquid stocks)
📖 Usage Guide & Examples
Analyse a Single Stock — 99SMART example
# Deep-read the 99 Speed Mart Q3 2025 interim report
results = run_stock_analysis_pipeline(
ticker='5326.KL',
report_pdf='99SMART_Q3_2025_interim.pdf'
)
# View generated report and visualisation
print(f"Report: {results['report_path']}")
print(f"Chart: {results['chart_path']}")
# Opens markdown report with:
# - Screening verdict (top-line growth + profitability checks)
# - Fundamentals read (margin trends, operating leverage)
# - Moat inventory (scale, geographic reach, new channels)
# - Dividend sustainability (payout ratio, cash coverage)
# - Executive summary + top 3 merits + top 3 risks
Stock Discovery (Batch Screening)
# Screen 50 Malaysian stocks and analyze top 3
discovery_results = discover_stocks(
criteria={
'max_price': 1.00, # Price ≤ RM 1.00
'min_pe': 4, 'max_pe': 15, # PE ratio 4-15
'min_roe': 5, # ROE ≥ 5%
'min_dividend_yield': 1, # Dividend yield ≥ 1%
'min_market_cap': 50_000_000, # Market cap ≥ RM50M
'min_volume': 50_000 # Volume ≥ 50K/day
},
max_stocks_to_scan=50,
analyze_top_n=3
)
# View passing stocks
print(discovery_results['passing_stocks'])
Supported Malaysian Stocks
50+ Major Stocks Including:
- Banking: Maybank (1155.KL), Public Bank (1295.KL), CIMB (1023.KL)
- Telecommunications: Axiata (6888.KL), Maxis (6033.KL), DIGI (4197.KL)
- Plantation: Sime Darby (5296.KL), IOI Corp (2445.KL), KLK (5285.KL)
- Oil & Gas: Petronas Gas (5222.KL), MISC (3816.KL)
- Consumer: Nestle (3689.KL), BAT (5225.KL), Dutch Lady (7277.KL)
🚀 Getting Started with Google Colab
Quick Start (3 Steps)
- Step 1: Open Google Colab Notebook
- Step 2: Add API keys to Colab Secrets (🔑 icon in sidebar):
- Step 3: Run all cells and start analyzing stocks!
Example Analysis Output — 99SMART Q3 2025
Investment Report Contents:
- Screening verdict: PASS on growth (+19.1% revenue YoY) and profitability (all margins expanding)
- Fundamentals read: PBT margin +1.3 pp (operating leverage working — revenue grew 19.1% while opex only +12.6%)
- Moat inventory: 2,966 outlets, all-Malaysia coverage, first China outlet (Fuzhou, Aug 2025), bulk e-commerce adding RM15.1M/qtr
- Dividend sustainability: RM378M declared FY2025 (3.8× FY2024), 82.7% payout, 2.08× covered by RM787.5M operating cash flow
- Balance sheet strength: Cash RM1.07B (+RM368M YTD), zero term loans, equity RM1.85B
- Executive summary: Growth-plus-income story with structural operating leverage; top risk is the high payout ratio if earnings decelerate
⚠️ Important Disclaimer
FOR EDUCATIONAL PURPOSES ONLY
This tool is designed for educational and research purposes. It is NOT financial advice. Stock market investing involves risk, and you could lose money.
User Responsibilities
- Do Your Own Research: Always conduct additional due diligence
- Consult Professionals: Seek advice from licensed financial advisors
- Understand Risks: Past performance does not guarantee future results
- Risk Management: Never invest more than you can afford to lose
- Diversification: Don't rely on a single analysis tool
The AI agents provide analytical insights based on publicly available data, but investment decisions should always be made with professional guidance and personal risk assessment.