An open-source Python quant trading system for China A-shares covering data management, stock screening, timing, risk control and backtesting.
Dzy-HW-XD/a-share-quant-selector
Python quant stock-picking tool for China's A-share market that implements a bowl-rebound strategy, with K-line charts, a Web UI, and DingTalk alerts.
- Stars
- 510
- Forks
- 109
- Open issues
- 3
- Last commit
- 2 months ago
Repolode describes open-source projects and does not give investment advice. Trading and investing can lose money: assess the risk yourself and follow the laws where you live before using this project.
What is it?
A-Share Quant Selector is a Python system for screening stocks on China's A-share market using akshare for market data. It implements a "bowl rebound" strategy that looks for stocks in an uptrend that recently had a high-volume bullish candle and now sit in an oversold KDJ zone, then sorts them into categories such as price sitting between the short-term trend line and the bull-bear line.
The pipeline covers data download, incremental daily updates, strategy execution, and notification. Each selected stock gets a K-line chart with trend lines and volume bars, and results are pushed to a DingTalk group with built-in rate limiting and retry backoff. Optional B1 pattern matching ranks candidates by similarity to ten historical cases across trend structure, volume, price shape and KDJ state. A Flask web interface lets you browse stock data, charts and indicators, and edit strategy parameters online.
The strategy is defined as a class with a clear base interface, so new strategies can be added by subclassing and registering parameters in YAML. The project is for learning and research, and the README states it does not constitute investment advice.
Key features
- 01Bowl-rebound strategy filtering on uptrend, high-volume bullish candles and oversold KDJ
- 02Automatic removal of ST, delisting-risk and abnormal stocks
- 03K-line charts with trend lines and volume sent to DingTalk
- 04B1 pattern matching ranks candidates by similarity to historical cases
- 05Flask web UI for browsing stock data, indicators and strategy parameters
- 06Strategy parameters configurable in YAML, with a base class for adding new strategies
Use cases
- Screening A-share stocks daily after market close with scheduled runs
- Studying a technical-analysis strategy with akshare data and pandas indicators
- Receiving daily candidate lists and charts in a DingTalk group
- Tuning strategy parameters and reviewing signals through the web interface
Quick start
- 1
Clone the repository
git clone https://github.com/Dzy-HW-XD/a-share-quant-selector.git - 2
Install Python dependencies
pip3 install -r requirements.txt - 3
Fetch the initial full stock data (six years of history)
python3 main.py init - 4
Start the Web interface (default port 5000)
python3 main.py web
Things to know
- Targets only China's A-share market and relies on akshare for data.
- The initial data fetch downloads six years of history, which takes time.
- The project is for learning and research only and is not investment advice.
Topics
FAQ
- What is a-share-quant-selector?
- Python quant stock-picking tool for China's A-share market that implements a bowl-rebound strategy, with K-line charts, a Web UI, and DingTalk alerts. A-Share Quant Selector is a Python system for screening stocks on China's A-share market using akshare for market data. It implements a "bowl rebound" strategy that looks for stocks in an uptrend that recently had a high-volume bullish candle and now sit in an oversold KDJ zone, then sorts them into categories such as price sitting between the short-term trend line and the bull-bear line.
- Is a-share-quant-selector free to use? What license does it have?
- a-share-quant-selector is open source under the MIT license. Check the license terms before using it in commercial products.
- Is a-share-quant-selector still maintained?
- Updated within 6 months. The last commit to a-share-quant-selector was on Sep 8, 2026.
- What can I use a-share-quant-selector for?
- Screening A-share stocks daily after market close with scheduled runs Studying a technical-analysis strategy with akshare data and pandas indicators Receiving daily candidate lists and charts in a DingTalk group Tuning strategy parameters and reviewing signals through the web interface
- How do I install a-share-quant-selector?
- Clone the repository: git clone https://github.com/Dzy-HW-XD/a-share-quant-selector.git Install Python dependencies: pip3 install -r requirements.txt Fetch the initial full stock data (six years of history): python3 main.py init Start the Web interface (default port 5000): python3 main.py web
- Where can I get a-share-quant-selector?
- The source code and installation instructions are on GitHub: https://github.com/Dzy-HW-XD/a-share-quant-selector
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A-share quantitative stock screener that runs six technical strategies after market close and pushes results to Feishu.
Unofficial Python library that pulls stock, crypto, forex, bond, futures and other screener data from TradingView into Pandas DataFrames.
A local quant data engine for China A-share daily/minute K-line, ETF and tick data, with incremental sync, adjustment, batch queries, indicators and backtesting.
A Python library for building futures, options and stock quant trading strategies, with live market data, historical data, backtesting and live or simulated trading.
A lightweight Python framework for building and running CTP-based futures trading strategies, with live trading and backtesting.