mrkeyoor.com_
Tue 01 Sept 17:45 UTC
Dataevaluationupdated 26 Aug 2026

tick-stock-panel review

TickFlow Stock Panel is a self-hosted Chinese-language workstation for screening, monitoring, and backtesting mainland China A-share stocks. Its primary README and linked operating docs are Chinese, with no English guide linked; the browser app combines local data, strategy rules, alerts, charts, and optional AI analysis.

+268stars / 7d
Verdict

Our TickFlow Stock Panel run finished with 28 passes, 20 failures, and 69 collection or setup errors, so this is a codebase to repair before using for research decisions. Chinese-reading hobbyists may still value its broad A-share workflow and local data design. Commercial users, unattended public deployments, and anyone unable to audit market-data units should walk away for now.

We ran it

Lab card: what happened when we ran tick-stock-panelScreenshot of tick-stock-panel (github.com/shy3130/tick-stock-panel)
Install✓ · 28s33 packages · 36 MB
Build✓ · 8s
Tests✗ · 13s28 passed · 20 failed · 69 errors of 117 (pytest)
Known vulns0(pip-audit)
Repo454 files~117,471 lines of source · 11 MB · 2 CI workflows · tests dir

Answers from our run

Does tick-stock-panel build from source?

Dependencies installed in 28 seconds (33 packages), and the build succeeded in 8 seconds. We cloned commit 9b9538a into a clean Debian container with 3 CPUs and no project-specific setup.

Do tick-stock-panel's tests pass?

Not all of them: 28 of 117 passed and 20 failed when we ran the project's own test command (pytest), with 69 collection errors. Some failures need services or credentials a bare container does not have.

Does tick-stock-panel have known vulnerabilities in its dependencies?

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

Who should not use tick-stock-panel?

Commercial adopters who need unambiguous permission: the repository declares MIT, while the README also says commercial use is strictly prohibited.

What are the alternatives to tick-stock-panel?

Qlib, AKShare, Backtrader. Our TickFlow Stock Panel run finished with 28 passes, 20 failures, and 69 collection or setup errors, so this is a codebase to repair before using for research decisions.

Setup2/5Fast backend install, but 89 tests failed or errored
Docs3/5Detailed Chinese guides, with no linked English documentation
Community4/5August 26 push and active issue and PR traffic
Maturity2/5Wide feature set, but test, data, and Docker defects remain

Who it’s for

Chinese-reading individual investors who want a local research panel for A-shares.
Python and React developers prepared to inspect and repair a fast-moving personal project.
Quant hobbyists who understand backtest limits and can verify each market-data field.
Users willing to manage TickFlow access, local Parquet data, scheduled jobs, and optional AI credentials.

Who it’s NOT for

Commercial adopters who need unambiguous permission: the repository declares MIT, while the README also says commercial use is strictly prohibited.
Non-Chinese readers who depend on English setup and operations docs: none is linked from the primary Chinese README.
Teams requiring a green baseline: our run ended with 20 failures and 69 collection or setup errors.
Users trusting stock and ETF volume as one normalized field: issue #195 says A-share volume uses lots while ETF volume uses shares.
Anyone expecting the documented Docker route to build unchanged: issue #205 reproduces an editable-package failure from the README path.
Public deployments accepting uploads without a proxy limit: issue #204 says extension CSV and Excel files have no size cap and are read fully into memory.

Setup reality

Our commit 9b9538a backend install succeeded in 28 seconds, adding 33 packages and using 36 MB. The build passed in 8 seconds, but pytest exited 1 after 13 seconds: 28 passed, 20 failed, and 69 collection or setup errors out of 117. Pip-audit found 0 known vulnerabilities.

The full development path needs Python 3.11 or newer, Node.js 20 or newer, uv, and pnpm. More than free historical daily data needs a TickFlow key. Optional AI features need an OpenAI-compatible service or local Ollama, while the Docker Codex path reads a host login directory.

The measured project lived under backend/; that commit had 2 CI workflow files, a tests directory, and no Dockerfile. The current README now documents Compose. Real use creates Parquet, DuckDB, settings, watchlists, and job state that need backup and upgrade planning.

The Chinese README covers 18 strategies and one local workbench

TickFlow Stock Panel puts much of an individual A-share research routine into a browser application. Its screener lists 18 built-in strategies and custom signals. Other pages cover watchlists, factor and strategy backtests, alerts, financial statements, concepts, industries, market phases, limit-up ladders, and local data status. Optional model calls can generate strategies or analyze a stock, while monitoring can use browser speech and Feishu notifications.

The project is explicit about being a personal research demo rather than official TickFlow software or an investment product. That warning fits the current state. A polished chart can make a computed value feel authoritative even when its upstream units or defaults are wrong. Users need reference fixtures for prices, volume, corporate actions, indicators, and backtest dates before making the panel part of a routine.

English-speaking adopters face an immediate barrier. The README, deployment guide, configuration guide, and feature documents are Chinese, and no English guide is linked. Interface labels often include English names, while the Python and React code use familiar conventions. Machine translation can help with navigation, but it is a poor control for interpreting Chinese market rules, data tiers, or recovery steps.

What happened when we ran it

Our sandbox installed 33 packages from commit 9b9538a in 28 seconds. The Python project lived under backend/, and installed dependencies occupied 36 MB. The build succeeded in 8 seconds in a fresh unprivileged Debian container with 3 CPUs and 8 GB of RAM. No TickFlow key, model credential, or other secret was available.

Pytest exited 1 after 13 seconds. It reported 28 passed, 20 failed, and 69 collection or setup errors out of 117. The log tail named strategy signals, monitor events, parameter normalization, registry, scoring, watchlist, and OCR modules, then repeated the totals. It did not include the underlying exceptions in those final lines, so we cannot claim one shared cause.

Pip-audit found 0 known vulnerabilities. The checkout held 454 files, about 117,471 source lines, and 11 MB. It had 2 CI workflow files and a tests directory but no Dockerfile at the measured commit. The current branch now documents a Docker Compose route, which shows why lab claims must stay attached to commit 9b9538a rather than silently describing later repository state.

A-share and ETF volume use different units

Issue #195 reports that A-share volume is stored in lots while ETF volume is stored in shares. Its example explains that treating both fields alike can introduce a factor-of-100 error. Issue #187 adds an ETF-specific failure: several strategies request turnover data that the ETF path does not store, producing errors or empty results. Both reports remain open.

A blank scan can be mistaken for no signal, while a unit mismatch can corrupt a ranking without an obvious crash. Build a tiny reference dataset with known stock and ETF values, then test each strategy and derived indicator against expected results. Keep raw source fields beside transformed values so a discrepancy can be traced. The README says data accuracy ultimately depends on TickFlow, but normalization inside this project still belongs to the project.

Backtest defaults need the same skepticism. Issue #202 says the factor endpoint uses a 3-year default when code defines 180 days, while the interface mentions 3 months. The different ranges change memory use, calculation time, and the period represented by results. Always send explicit start and end dates, record fees and slippage, and save the strategy plus data revision with any result you intend to compare later.

Docker and uploads have current deployment defects

The current quickstart presents docker compose up --build as the easiest deployment. Issue #205 reproduces a build failure on commit 9b9538a because the backend package points its README outside the project directory after Docker copies files into a new layout. The report includes a container-only path fix, but the issue remains open. Confirm the exact branch builds before choosing Docker as the recovery plan.

The Docker path also mounts the host Codex login directory read-only when that mode is enabled. The README warns that the container can then read those credentials and recommends using it only on a trusted local machine. This is a meaningful boundary. Disable the integration when it is unnecessary, avoid shared servers, and do not expose the app merely because a Compose file makes starting it easy.

Issue #204 says extension CSV and Excel endpoints call file.read() with no byte or row limit, then parse the whole upload in memory. A large request can exhaust memory or make the service unavailable. Until the application enforces a cap, a reverse proxy should limit request size, the service should remain private, and operators should monitor memory during imports.

The requested URL now redirects to tick-stock-panel

GitHub resolves shy3130/tickflow-stock-panel to the canonical shy3130/tick-stock-panel repository. The canonical project was pushed on August 26, 2026, and issues plus pull requests were updated the same day. GitHub showed 3,802 stars and 40 open issues and PRs combined. Its latest-release endpoint returned no release object, so adopters should pin a commit and test updates rather than depend on release tags.

Licensing needs clarification before commercial work. The repository contains an MIT license and labels itself MIT, but the README also says commercial use is strictly prohibited. Those statements conflict. A company should obtain written clarification from the maintainer instead of choosing the interpretation it prefers. For personal research, the immediate priority remains the failed suite and known data defects.

TickFlow Stock Panel offers unusual breadth for one person's A-share workstation, but breadth is not readiness. Our 89 failed or errored tests outweigh the convenient dashboard. Start only with paper workflows, explicit date ranges, reference data, private access, and backups. Keep investment decisions outside the software's authority.

Alternatives

ProjectWhat it isPick it when
Qlib gh↗A research platform for quantitative modeling, data workflows, and machine-learning experiments.pick this instead when repeatable research pipelines and model experiments matter more than a ready retail dashboard.
AKShareA Python data interface covering many Chinese financial market sources.pick this instead when programmatic A-share data is the main need and you prefer to build the analysis layer.
BacktraderA Python framework for writing and backtesting trading strategies.pick this instead when code-first strategy testing is the job and you do not need this monitoring dashboard.

What people are saying

  1. [github-trending] shy3130/tick-stock-panel
  2. [github-trending] shy3130/tickflow-stock-panel

Sources

  1. TickFlow Stock Panel README
  2. TickFlow Stock Panel configuration guide
  3. Volume unit issue 195
  4. ETF strategy field issue 187
  5. Docker build issue 205
  6. Unbounded upload issue 204
  7. Factor backtest default issue 202

More data reviews

turso · TrackersListCollection · dash · getcontact-cli · awesome-zhuiju-free · iggy · the whole board →