Skip to content
Product Case Study · Data Engineering · Financial Analytics · Automation

Iran Stock Analysis Pipeline

An automated market-data and analytics pipeline for Iranian equities, combining daily market snapshots, historical analytics, validation, provider fallbacks, and a hosted interactive dashboard.

Daily Market IntelligenceValidated 1Y–10Y historyProvider fallbacksAutomated delivery
Overview

A repeatable market-intelligence workflow, not a trading product.

I designed and built a Python-based market intelligence pipeline for the Iranian stock market. The system collects and normalizes market data, validates coverage and data quality, calculates historical risk and performance metrics, and publishes a browser-based dashboard automatically.

The hosted pipeline starts its daily calculation cycle at 20:00 Tehran time. The dashboard provides broad-market data and selectable historical analysis windows from 1 to 10 years. Historical periods are displayed only when the underlying source data provides sufficient calendar coverage.

Product boundary

Descriptive analytics with explicit interpretation limits.

The project is positioned as data engineering, financial analytics, and automation. It does not provide trading signals, guaranteed returns, portfolio recommendations, or investment advice.

Key capabilities

Automation, coverage, analytics, and delivery in one system.

Automated daily Iranian stock-market snapshot

Broad-market symbol coverage

Selectable 1Y to 10Y historical analysis

Period return calculation

Annualized volatility

Maximum drawdown

TEDPIX-relative analytics where sufficient overlapping data exists

Market breadth, gainers, decliners, volume and value rankings

Search, filtering and sorting

CSV export

Data-quality and historical-coverage validation

Multi-provider market-data architecture

Automated GitHub Actions processing and deployment

Secure server-side credential handling

Local Python CLI for custom symbols and Jalali date ranges

Architecture

Separate collection and computation from browser delivery.

  1. 01

    Market Data Providers

  2. 02

    Normalization & Validation

  3. 03

    Historical Coverage Checks

  4. 04

    Shared Analytics Engine

  5. 05

    GitHub Actions Pipeline

  6. 06

    Static Data → Dashboard

Online mode

Read-only Daily Market Intelligence Dashboard.

The public dashboard is read-only. Provider credentials and heavy calculations stay outside the browser. Historical analytics are precomputed during the scheduled pipeline and the dashboard only renders validated outputs.

  • Provider credentials stay server-side.
  • Historical windows are published only after coverage checks pass.
  • Incomplete full-market historical output can be represented as an explicit pending state rather than as complete data.
Local mode

Flexible research workflow for custom requests.

The local Python workflow supports custom Persian ticker symbols, arbitrary Jalali start and end dates, provider selection, caching, CSV exports, and TEDPIX-relative analysis.

  • Custom Persian ticker lists without translating symbols.
  • Arbitrary Jalali date ranges instead of fixed dashboard windows.
  • Provider selection, caching, reusable exports, and benchmark-relative analysis.
Reliability & validation

Data quality is treated as product behavior.

The system is designed so upstream limitations remain visible instead of being hidden behind a polished interface. Provider fallback, coverage validation, and publish rules determine what the user is allowed to see.

Validate historical coverage

A 1Y–10Y label is shown only when the source series has enough calendar coverage for that period.

Use provider fallbacks

The market-data layer supports multiple providers so one upstream dependency does not define the entire workflow.

Precompute heavy analytics

Hosted interactions stay lightweight because risk and performance metrics are produced before deployment.

Keep credentials outside the browser

Provider keys and credentials remain in server-side environment or automation secrets and are never shipped with dashboard data.

Analytics outputs

Historical and market-level descriptive analytics.

Period returnAnnualized volatilityMaximum drawdownTEDPIX-relative analyticsMarket breadthGainers / declinersVolume rankingValue rankingSearch / filtering / sortingCSV export
Important interpretation

Long-horizon metrics are raw, unadjusted descriptive price analytics.

Corporate actions may affect long-term price series. The project does not treat these metrics as adjusted total returns and does not provide trading signals, guaranteed returns, or investment advice.

Daily Market Intelligence Dashboard

Explore the validated dashboard output.

The public demo is the read-only delivery layer of the pipeline. It renders the latest generated market snapshot and the historical windows that passed the project’s validation rules.