Skip to content

Releases: xang1234/stock-screener

v1.2.0

03 Jun 16:10
b966326

Choose a tag to compare

Stock Scanner v1.2.0

Stock Scanner v1.2.0 introduces automated IBD industry-group classification as a weekly, release-asset–driven pipeline, expands market coverage to twelve markets (adding Singapore, Canada, Germany/XETRA, Australia, and Malaysia), and hardens the static-site and release-asset workflows that back the multi-market data feeds.

Highlights

IBD industry-group classification (new)

  • Classifies the universe into IBD's industry-group taxonomy through a deterministic cascade: strict crosswalk → confident embedding match → paid LLM tiebreaker on a top-K shortlist → deterministic soft-attach fallbacks (relaxed-crosswalk plurality, then nearest centroid). Every symbol gets a tier-labelled assignment with a confidence score.
  • Runs as a weekly GitHub Actions pipeline that publishes a gzipped classification bundle plus a -latest manifest (sha256-verified) to a release asset, consumed by the static-site build — no Celery/runtime dependency.
  • Classification data-health scorecard + week-over-week regression gate: each build emits coverage %, tier mix, a confidence histogram, and an embedding-model fingerprint, then diffs against the prior week and gates the publish (warn / enforce / off).
  • Runtime safety for foreign markets: per-market wall-clock deadline, an LLM call budget, and request timeouts, so a slow market degrades to a graceful partial publish instead of timing out the job.
  • Foreign-market taxonomy support: a shared canonical taxonomy across markets with deterministic soft-attach, so non-US markets classify without an exhaustive per-market crosswalk.
  • Universe sector/industry backfill: yfinance sector/industry now persists onto StockUniverse at ingest (foreign rows previously landed without it), which feeds the crosswalk and embedding tiers and sharply reduces wasted LLM calls.
  • Robust bundle import: both the snapshot build and bundle import now collapse rows that re-canonicalize to the same symbol (e.g. Taiwan .TWO/.TW board variants), so a market's classification can no longer be aborted by a duplicate-symbol constraint violation.

Twelve-market coverage

  • Adds Singapore (SGX), Canada (TSX/TSXV), Germany (XETRA), Australia (ASX), and Malaysia (Bursa) — extending the seven-market set (US, HK, IN, JP, KR, TW, CN) to twelve.
  • Each new market is wired through universe listing sources, price/fundamental fields, currency formatting and FX, market badges and selectors, breadth and group-ranking views, benchmark registry and calendars, and the static-site and weekly-reference market matrices.

Static-site & release-asset pipeline

  • Per-market static fallbacks and "skip closed market" handling so a single market's gap or off-hours state no longer blocks the static export.
  • Release-asset retention/cleanup so accumulated weekly bundles are pruned.
  • Weekly-reference and static-site workflows extended across the full market matrix, with clearer missing-cache diagnostics.

Bootstrap, scan & breadth reliability

  • CN bootstrap coverage thresholds, checkpointing, and combined-coverage handling for more reliable first-run population.
  • yfinance retry/backoff widening and bounded provider timeouts so slow upstreams fail over instead of hanging workers.
  • Group-ranking column/data fixes with benchmark-cache fallbacks, breadth-scan improvements, predefined filters, and a TradingView charts popup.

Architecture & docs

  • Architecture and data-pipeline documentation refresh covering the multi-market and release-asset model.

IBD Classification Data

02 Jun 09:31
b28150f

Choose a tag to compare

Automated hybrid IBD industry-group classifications for static-site builds.

CN Daily Price Shards

11 May 17:12
737222c

Choose a tag to compare

Durable resumable shard checkpoints for China A-share daily price bootstraps.

v1.1.2

01 May 03:46

Choose a tag to compare

Stock Scanner v1.1.2

Stock Scanner v1.1.2 expands the v1.1 multi-market release with Korea and mainland China support, improves first-run bootstrap reliability, and hardens market-data fallbacks for static and Docker deployments.

Highlights

Korea and China market support

  • Adds Korea coverage for KOSPI and KOSDAQ, including KRX-backed universe listings, KRX price/fundamental fields, KRW currency formatting, market badges, and dedicated Celery queues.
  • Adds mainland China A-share coverage for SSE, SZSE, and BJSE with AKShare/BaoStock-backed listings and OHLCV fallbacks.
  • Extends market selectors, breadth views, group rankings, static market flags, benchmark registry, calendars, FX handling, and ticker validation across the seven-market set: US, HK, IN, JP, KR, TW, and CN.

Bootstrap reliability and scan throughput

  • Initial bootstrap now reports market-stage failures more accurately and isolates market queues so a failing non-primary market does not block unrelated market work.
  • Bootstrap scans use a lighter default profile and cache-only safeguards to avoid expensive live-provider fallbacks while the cache is warming.
  • Bulk scans can use symbol-level parallelism for non-cache-only runs, and Setup Engine detector execution is bounded to reduce slow per-symbol outliers.
  • High-tight-flag detection was vectorized to reduce detector spikes on real 500+ bar histories.

Market-data fallback hardening

  • Korea official-universe refresh falls back to KRX listing finder data when daily ticker lists are unavailable, while preserving point-in-time correctness for historical dates.
  • China listing fetches and OHLCV refreshes are bounded by timeout handling so slow AKShare requests can fail over instead of hanging a worker.
  • China AKShare OHLCV failures are throttled after repeated transport errors to avoid hammering unstable upstream endpoints.
  • pykrx runtime imports now include the setuptools dependency required by pkg_resources.

Static site and release workflows

  • Static-site and weekly-reference-data workflows now include Korea in the market matrix.
  • Group-ranking cache misses now use benchmark cache fallbacks and report clearer missing-cache messages.
  • Release notes and README deployment examples now point at v1.1.2.

Deployment

Release images are published to GHCR under the v1.1.2 tag:

  • ghcr.io/<owner>/stockscreenclaude-backend:v1.1.2
  • ghcr.io/<owner>/stockscreenclaude-frontend:v1.1.2

Deploy by setting APP_IMAGE_TAG=v1.1.2 in .env.docker, then docker-compose ... pull and up -d --no-build.

Upgrade notes

  • Fresh bootstrap can take longer when several markets are enabled. Each selected market starts its own universe, price, fundamentals, breadth, group-rank, and scan work; smaller hosts should start with one primary market and enable more markets after the workspace is ready.
  • Korea requires pykrx and the pinned setuptools runtime dependency included in this release.
  • China data providers can throttle or disconnect under sustained load. The new timeout and backoff behavior should keep workers moving, but some CN symbols may still be skipped until the next refresh cycle.

Update this file before future semver tags so each GitHub release carries a maintained capability summary alongside the tagged image version.

v1.1.1

27 Apr 16:48

Choose a tag to compare

v1.1.1 bootstrap hotfix

v1.1.0

27 Apr 00:42
705d9a0

Choose a tag to compare

Stock Scanner v1.1.0

Adds India as the fifth supported market alongside US, HK, JP, TW.
Harmonizes the per-market scan and refresh lifecycle (independent
exchange calendars, parallel cache warming, multi-market gap-fill
for breadth and group rankings). Adds GICS Sector, IBD Industry,
Themes, and Group Rank columns to the scan results table. Refreshes
README hero GIF, screenshots, and the screenshot guide.

Full release notes at .github/release-notes.md.

Daily Price Data

21 Apr 21:02
6ca5368

Choose a tag to compare

Automated daily market-scoped OHLCV bundles for runtime bootstrap and refresh.

v1.0.0

18 Apr 09:49

Choose a tag to compare

Stock Scanner v1.0.0

Stock Scanner v1.0.0 is the first tagged public release of the platform: a multi-market stock screening and research stack with Docker-first deployment and GHCR release images.

Highlights

  • Multi-market screening across the US, Hong Kong, Japan, and Taiwan with exchange-aware refresh pipelines and per-market scan badges.
  • First-run bootstrap that stages universe, price, fundamentals, breadth, rankings, and autoscan hydration so a fresh install lands on usable data.
  • Multi-strategy screening with saved filters and composite scoring across Minervini, CANSLIM, IPO, Volume Breakthrough, Setup Engine, and custom scans.
  • AI-assisted research with chatbot workflows, theme discovery from social/news feeds, and market breadth analysis for higher-level context.
  • Industry group rankings and watchlists with sparklines, movers, and stock-level drilldowns.
  • Docker and GHCR deployment support with immutable v1.0.0 image tags for server rollout and rollback.

Deployment

Release images are published to GHCR under the v1.0.0 tag:

  • ghcr.io/<owner>/stockscreenclaude-backend:v1.0.0
  • ghcr.io/<owner>/stockscreenclaude-frontend:v1.0.0

Update this file before future semver tags so each GitHub release carries a maintained capability summary alongside the tagged image version.

Weekly Reference Data

02 Apr 08:49

Choose a tag to compare

Automated weekly fundamentals reference bundle for static-site builds.