mrkeyoor.com_
Wed 02 Sept 16:55 UTC
Automationevaluationupdated 02 Sept 2026

Sequoia-X review

Sequoia-X is a Python screener for mainland China's A-share market. Its documentation is mainly Chinese, with English headings and an English subtitle but no full English setup guide; it downloads daily market data, runs technical screens, stores results in SQLite, and sends picks to Feishu.

trackingstars / 7d
Verdict

Our Sequoia-X run installed 67 packages and built cleanly, but 3 of 9 tests failed after 501 seconds, all in the Feishu notification suite. Use it as inspectable starting code for a Chinese-market hobby screener if you already use Feishu and will verify every signal. Teams that need dependable service integrations, English operations material, or an execution and backtesting stack should choose a broader platform.

We ran it

Lab card: what happened when we ran Sequoia-XScreenshot of Sequoia-X (github.com/sngyai/Sequoia-X)
Install✓ · 44s67 packages · 256 MB
Build✓ · 12s
Tests✗ · 501s6 passed · 3 failed of 9 (pytest)
Known vulns0(pip-audit)
Repo30 files~1,552 lines of source · 0.3 MB · 0 CI workflows · tests dir

Answers from our run

Does Sequoia-X build from source?

Dependencies installed in 44 seconds (67 packages), and the build succeeded in 12 seconds. We cloned commit 444c0db into a clean Debian container with 3 CPUs and no project-specific setup.

Do Sequoia-X's tests pass?

Not all of them: 6 of 9 passed and 3 failed when we ran the project's own test command (pytest). Some failures need services or credentials a bare container does not have.

Does Sequoia-X have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use Sequoia-X?

Investors outside mainland China's A-share market: the README and every included screen are built around that market.

What are the alternatives to Sequoia-X?

Qlib, vn.py, AkShare. Our Sequoia-X run installed 67 packages and built cleanly, but 3 of 9 tests failed after 501 seconds, all in the Feishu notification suite.

Setup3/5Install passed; data backfill and Feishu still need hands-on setup
Docs3/5Clear Chinese quick start, with code and dependency drift
Community3/55,950 stars and recent issues, with service reports still open
Maturity2/5No CI or current release, and 3 of 9 tests failed

Who it’s for

Python users who want an editable A-share screener instead of a hosted stock-picking service.
Traders already using Feishu who want scheduled post-close alerts from several technical strategies.
Hobbyists who are comfortable checking signals themselves before making any financial decision.
Developers who prefer local SQLite storage and a free market-data source that needs no account.

Who it’s NOT for

Investors outside mainland China's A-share market: the README and every included screen are built around that market.
Anyone seeking broker execution, position sizing, or portfolio accounting: the documented workflow stops at screening and Feishu notification.
English-only operators who need complete instructions: most explanatory text, logs, issue reports, and configuration comments are in Chinese.
Teams that require a passing suite and automated CI before adoption: our run had 3 failed tests, and the repository has no CI workflow.
Users who cannot depend on BaoStock and Feishu: open issues 107 and 92 document unresolved trouble at both service boundaries.

Setup reality

Our Sequoia-X run installed 67 packages in 44 seconds and used 256 MB on disk. The build succeeded in 12 seconds. Tests ran for 501 seconds and ended with 6 passed and 3 failed out of 9; pip-audit found 0 known vulnerabilities.

Python 3.10 or newer is required. You also need BaoStock access, a writable path for the SQLite database, and at least one Feishu bot webhook. The first useful run requires a historical data backfill before the daily screen can work.

Commit 444c0db has no Dockerfile or CI workflow. The README's scheduling example assumes a Linux path, crontab, and a local virtual environment. All 3 failures were Feishu tests, and the log ended with HTTP status 591; it did not show why that response occurred.

commit 444c0db runs 7 screens and sends only alerts

Sequoia-X V2 is a post-close stock screener for mainland China's A-share market. At commit 444c0db, main.py registers 7 strategies, including moving-average volume, turtle breakout, high-tight flag, limit-up shakeout, uptrend limit-down, relative-strength breakout, and private-placement monitoring. The README's strategy table lists only 6, leaving the private-placement screen undocumented there. Results go to Feishu; the program does not place trades.

That narrow job is the appeal. Sequoia-X pulls daily bars, keeps back-adjusted prices in a local SQLite database, applies Python strategy classes, and sends nonempty selections after the market closes. A developer can read each rule and change it without adopting a web dashboard or remote account. The tradeoff is equally plain: portfolio state, order routing, risk limits, and fill handling are outside the documented V2 workflow.

What happened when we ran it

Our run at commit 444c0db installed in 44 seconds and built in 12 seconds on 3 CPUs with 8 GB of RAM. Pytest then ran for 501 seconds. It reported 6 passed and 3 failed out of 9 tests, so the complete checked-out suite did not pass in our fresh unprivileged Debian container. Pip-audit reported 0 known vulnerabilities in the installed Python dependencies.

All 3 failures came from tests/test_feishu.py. The failing cases checked that notifications contained every symbol, used the configured URL, and logged an HTTP failure. The log repeatedly recorded a Feishu push failure with HTTP status 591 and response text error, then Hypothesis surfaced each case through FlakyFailure. The log tail does not identify the reason for status 591, so it supports no stronger conclusion about the network, mocks, or service.

The test directory is a good sign for a repository of 1,552 source lines, and 6 passing cases show that some behavior is checked. There are no GitHub Actions workflow files, however, so the repository does not display an automated test gate on pushes or pull requests. It also has no Dockerfile. Anyone adopting it should reproduce the suite in the actual scheduled host and add a notification test that cannot contact a live webhook by accident.

Python 3.10 gets the code running, not the data flowing

The README presents BaoStock as free, registration-free, and suitable for historical plus incremental daily bars. A first deployment must populate the local database before the daily job has enough history for its screens. Later runs update the snapshot, run each strategy, and notify only when a strategy returns symbols. That makes the SQLite file operational state: back it up, watch its growth, and make the cron working directory explicit.

Data retrieval deserves its own acceptance check. Open issue 107, created on June 17, had 3 follow-up reports through August 28 from users unable to retrieve data or seeing blacklist-style errors. The thread contains no demonstrated fix. That does not prove BaoStock fails for everyone. It does mean a successful package install should not be confused with a successful backfill from the network and a complete daily update.

Eight webhook slots make Feishu configuration easy to misread

The README tells users to copy .env.example and fill in a Feishu webhook. The example at commit 444c0db includes 8 URL variables, and uncommented placeholder values for every route can be read as configured destinations. Open issue 92 records users with working bot links who still saw push failures; commenters suggested keeping only the fallback or commenting out the strategy-specific placeholders. The issue remains open, so treat those comments as field reports rather than official resolution.

There is another small mismatch in the same commit. The README says the data layer uses BaoStock and describes the move away from Eastmoney scraping, while pyproject.toml declares both baostock>=0.9 and akshare>=1.10. The repository history includes cleanup work around the data source, but the dependency declaration still pulls AkShare into the environment we measured. That costs disk and makes the intended boundary less clear than the README suggests.

July code activity and 22 open items show a live maintenance queue

GitHub reported the last push on July 10, 2026, and listed 22 open issues and pull requests on September 2. User activity continued after that push: issue 114 was opened on August 30 about receiving too many recommendations. The latest-release API returned no release, while the tag list contains v1.0-legacy. Sparse release packaging alone does not make the code abandoned; recent issues show people are still running it.

GitHub also showed 5,950 stars, which explains why a compact Chinese-market script draws support questions from users with different Python and network setups. The current queue includes dependency updates, a proposed web dashboard, data-service reports, and notification trouble. For a hobbyist, that is enough activity to make a fork practical. For a team promising daily delivery, 3 failed tests and two unresolved service-boundary threads call for local ownership of the schedule and alerts.

A 256 MB screener is useful when you want code, not a trading desk

Sequoia-X fits a technically capable A-share watcher who wants readable rules, local data, and Feishu output. Qlib is a better match for model research and backtesting, while vn.py covers broker-facing trading infrastructure. AkShare gives a builder broader Chinese financial data without prescribing these screens. Sequoia-X occupies the smaller space between them: 7 editable selectors and a cron-friendly entry point, with the operator responsible for data continuity and delivery checks.

Our 501-second test run is the deciding warning. The codebase is approachable, the 44-second install passed, and the audit found no known dependency vulnerabilities. Yet the exact notification path that turns a screen into a useful alert produced all 3 failures. Trial it with paper decisions, compare its database against an independent source, and require a confirmed Feishu message before trusting the next scheduled run.

Alternatives

ProjectWhat it isPick it when
Qlib gh↗A quantitative research platform with data processing, model training, and backtesting workflows.pick this instead when research, model comparison, and backtesting matter more than a small scheduled screener.
vn.pyA Python quantitative trading platform with gateways and live-trading infrastructure.pick this instead when broker connectivity and order execution are part of the job.
AkShareA Python library that exposes a wide range of Chinese financial data sources.pick this instead when you want to build your own screen from broader data rather than adopt Sequoia-X's rules.

What people are saying

  1. [github-trending] sngyai/Sequoia-X

Sources

  1. Sequoia-X README at commit 444c0db
  2. Sequoia-X repository
  3. Issue 92: Feishu push failures
  4. Issue 107: repeated data retrieval failures
  5. Commit 444c0db

More automation reviews

Win11Debloat · node-red · XianyuAutoAgent · rclone · lego · OpenCLI · the whole board →