It stops at ranked cards and never places an order
TradeGenuis-box has 2 main jobs: fetch public market data and turn it into a local dashboard. The scanner writes JSON files, while a standard-library HTTP server displays qualifying cards, candlestick charts, volume, box boundaries, and recent prices. There is no broker adapter, exchange credential, order route, portfolio model, or position tracker in commit a319a19. A score can prompt you to investigate a symbol; it cannot execute or manage a trade.
The A-share rule assigns 25 points to each of 4 conditions: a hot theme, sustained volume, fund inflow with concentrated ownership, and repeated tests of the box ceiling. A result qualifies at 85. Those rules are legible enough to modify, and the README explains the thresholds in Chinese. English readers get no parallel guide, and the repository does not explain why these particular cutoffs should predict returns.
A zeroed sector feed caps every A-share candidate at 75
Open issue 1 reports that Eastmoney rate limits can make the hot-sector result empty. That failure matters more than a missing label. In the source, an empty sector response produces no hot-theme match, worth 0 of 25 points. The other 3 A-share conditions can supply at most 75, below the qualifying mark of 85. One unavailable upstream input can therefore eliminate every qualifying A-share card for that scan.
Some price and candlestick requests have Tencent or Sina fallbacks, but the hot-sector function uses Eastmoney and returns an empty list on any exception. Per-symbol analysis also catches exceptions and omits that symbol from the result. The output records how many symbols produced valid scores, which helps, yet the dashboard needs a loud feed-health state before an empty shortlist can be read safely. Zero candidates and zero working sector data are very different outcomes.
Crypto uses a separate 34-33-33 score
The crypto path starts with the top 30 Binance USDT perpetuals by 24-hour percentage gain. It then awards up to 34 points for volume, 33 for repeated box-ceiling tests, and 33 for the size of that recent gain. Fund flow, shareholder concentration, and A-share themes do not enter the crypto score. The shared 85-point badge therefore represents a different calculation in each market.
Selecting the day's 30 strongest futures before scoring also means the crypto list begins with assets that have already risen. That may suit a momentum screen, but the repository supplies no historical backtest, drawdown table, fee model, slippage model, or false-positive rate. A mechanical rule is useful because you can reproduce it. Reproducibility alone does not establish a trading edge.
What happened when we ran it
Our sandbox installed commit a319a19 in 23 seconds, pulling 35 packages and consuming 37 MB. The build passed in another 9 seconds. We used an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Pip-audit reported 0 known vulnerabilities. The checkout itself was 0.2 MB, with 16 files and roughly 1,741 lines of source.
There was no test script or target, so the test step was skipped. The repository also has no tests directory, CI workflow, or Dockerfile. A successful 9-second build tells us that the measured source cleared that build step; it does not verify a market scan, scoring accuracy, holiday behavior, or the dashboard against live provider responses. None of those outcomes should be inferred from the green install and build.
Port 8808 should stay on localhost
The included launcher binds the dashboard to 127.0.0.1 on port 8808 by default, which fits a personal workstation. Its scheduler checks weekdays and starts full-market scans at 11:30 and 15:00 Beijing time. It does not consult a Chinese exchange-holiday calendar. On a weekday holiday, it can still try the scan, leaving provider responses and cached files to determine what appears.
The server exposes GET and POST configuration routes without authentication. Telegram credentials can be saved in data/config.json, returned by the GET route, and changed by the POST route. Loopback binding keeps that interface local under the default command. Changing the host to a public address without adding authentication and filtering would expose a secret-bearing control surface. Keep it behind localhost or add access controls before sharing it.
One commit and no license make adoption risky
GitHub showed 129 stars and 49 forks on September 30, 2026, but repository depth remains thin. The project was created and last pushed on September 6, contains 1 commit, and has no tagged release. Its sole open issue was filed on September 9, has no comments, and concerns the Eastmoney rate limit that can disable qualifying A-share results. Recent creation explains the short history; it does not fill the missing evidence.
GitHub also reports no license, so a company should not assume permission to redistribute or incorporate the code. The README describes a custom-sector control saved to data/sectors.json, yet commit a319a19 contains no implementation reference to that file outside the documentation and ignore list. Treat TradeGenuis-box as a compact research starting point. Before using its alerts around real capital, add tests for the 100-point calculations, backtest the rules chronologically, monitor every feed, and define behavior for partial data.

