abu: a Chinese quantitative trading framework spread across four directories
阿布量化交易系统(股票,期权,期货,比特币,机器学习) 基于python的开源量化交易,量化投资架构
At a glance
- What is it?
- abu is a GPL-3.0 Python quant trading project whose repository separates the trading engine, a tutorial track, a no-code interface and the book example code. The strategy library is easier to judge from its public signal site than from the source, and the only tagged release is an Android package from 2019.
- Who is it for?
- abu makes sense for a Python trader who wants a quant investment architecture with a Chinese-language teaching path, a graphical interface for non-programmers, and a large catalogue of pattern based signals to explore. It is a poor fit if you need a packaged install, a maintained pip release or a documented API surface, because the repository ships no install instructions and the sole tagged artefact is an Android apk from 2019.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 7 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Four directories, four different audiences
The repository does not present itself as a single importable package. Its index is a table of directories, and the way that table is drawn tells you what the project actually is. The abupy directory holds the source code of the Abu quantitative trading system. The abupy_lecture directory holds the usage tutorial, so teaching material and the engine live side by side but stay separate. A third directory, abupy_ui, is described as the non-programming interface, which implies a visual path into the same system for people who do not want to write Python. The ipython and python directories hold the example code from the book Quant Trading Road, and the example code from the book Machine Learning Road lives in a separate repository, abu_ml.
There is a gen directory and an img directory at the top level, plus a folder of video tutorials for the graphical interface, and both readme.md and readme-en.md, so an English README exists alongside the Chinese one.
The topic list on the project mentions numpy, pandas and matplotlib, which tells you the numerical stack the code leans on, and covers algorithmic trading, machine learning, bitcoin, stocks and trading generally. The description names stocks, options, futures and bitcoin as the instrument families in scope.
The public website is the strategy catalogue
This is the part that is unusual about abu. The repository README is essentially a link index, and almost every link points at the project's own site, abuquant.com, where the strategies are presented as generated research pages rather than as code.
The first family of pages is a set of real-time research reports per instrument. The index lists them for the Shanghai Composite, gold against the dollar, Nasdaq, Hang Seng, Shenzhen Component, offshore US dollar against the renminbi, a silver exchange traded fund, the Nikkei 225, the S&P 500, the ChiNext index, CSI 300, NYMEX crude, Apple, COMEX gold, the dollar against the yen, KOSPI, Tencent, the SSE 50, the STAR 50, the FTSE 100, the Hang Seng China Enterprises index, the Dow Jones, the CAC 40 and the DAX 30. Each report is produced from the same framework, which is the clearest public evidence that the strategy code produces output across very different markets.
The second family is organised by market segment. There are separate example analysis listings for the Chinese market, the US market and the Hong Kong market, each with a symbol list page. That structure is the closest thing to a public API of the project: you can see which symbols the framework has been pointed at and what the resulting analysis looks like.
Signals arrive as a matrix of pattern and theory filters
The site organises signals around two axes that are worth understanding, because they are the project's central idea rather than a side feature.
The first axis separates graphic pattern signals from moving average signals. There is a page that crosses graphic signals with graphic signals, and a second that crosses moving average signals with graphic signals, producing combined strategy pages for each pairing. A third group, reached from the same index, crosses the graphic pattern family with a set of named theories: Chan theory, harmonic theory, trendline theory, wave theory and pattern models.
The individual pages name concrete combinations. You will find an ascending triangle breaking upward crossed with the five theories, a wave theory pullback reaching point c, a rising trend breaking down as a risk case, several Chan continuation and reversal cases, a descending wedge, a bat pattern, a head and shoulders top breaking down, a golden spider buy point, the classic Granville buy and sell points, a golden silver valley, a dark cloud cover sell point, a drought jump buy point, a warplane take-off sell point, a crab pattern, a flag pattern, and a set of predicted target points.
What this buys a user is a combinatorial catalogue rather than a set of named strategies. The trade-off is discoverability. The pages are organised by theory vocabulary, so finding a strategy that matches a specific risk profile means reading titles rather than reading code, and there is no way to tell from the site alone how any of these backtests performed.
The Android package is the only tagged release
The release history is one line long. There is a single release, version 1.3.0, described as an Android apk release, and it is dated 2019-06-20. There is no other tagged version, which means the version numbers in the Python source and the published package are not anchored to a release train in the usual way.
The commit history tells a different story. The last push was on 2026-10-16, and the project is not archived, so the source tree is still receiving changes even though the only formal release is years old. That combination is common in Chinese open source projects where the active artefact is a website and a working tree, and the packaged release serves a different audience, in this case phone users. It also means the reasonable assumption that a tagged version corresponds to the current code is false here.
Licensing is GPL-3.0, which matters if you plan to read the strategy code inside a commercial product rather than study it or run it as a service. The obligation travels with derivative work, so the boundary between running abu and embedding its modules in a product you distribute is where a lawyer, not a README, will be useful.
One more consequence of the project shape: the documentation is largely Chinese. An English README exists, but the teaching track, the interface videos and the research pages are Chinese-language, and the documentation surface for a non-Chinese speaking user is thin.
A framework with no documented install path
There is no installation section here, and there is no pip package name, no requirements file, no environment file and no command line example in the repository top level. The project points at abuquant.com, which is where the browser interface and the strategy pages live, and at the abupy directory, which is where the source is. Anyone expecting a pip install and an import in a notebook will not find one, and the abupy_lecture directory has to be read as the actual usage documentation.
The interface videos in the top level folder and the abupy_ui directory suggest the intended entry point for a non-programmer is the graphical interface rather than a Python session, and the presence of a separate lecture directory means the project expects to be learned through a course-like sequence rather than through API reference documentation.
That places a real cost on evaluation. There is no quick way to check whether the current tree runs on your Python version, whether it still talks to the data sources it expects, or which of the strategy implementations are actively maintained. A short review of the abupy directory would answer those questions faster than anything the published pages can tell you, and the existence of readme-en.md suggests an English speaking maintainer exists if you want to ask directly.
Editorial conclusion
abu makes sense for a Python trader who wants a quant investment architecture with a Chinese-language teaching path, a graphical interface for non-programmers, and a large catalogue of pattern based signals to explore. It is a poor fit if you need a packaged install, a maintained pip release or a documented API surface, because the repository ships no install instructions and the sole tagged artefact is an Android apk from 2019. Before you plan a project on it, open the abupy directory and check that the interfaces you intend to call are present in the current tree, and confirm with the maintainers how the project is installed today.
Frequently asked questions
What is abu and what is it used for?
abu is an open source Python quantitative trading system covering stocks, options, futures and bitcoin, with a quantitative investment architecture that includes machine learning examples in a separate repository. It is aimed at Chinese market research and trading, and its public site publishes generated research reports per instrument.
How do I install the abu quant trading framework?
The published documentation does not give a pip install or an environment file, and the repository top level contains no requirements file. The usage material lives in the abupy_lecture directory, the source in abupy, and the browser interface in abupy_ui, so installation has to be worked out from the source tree and the tutorial rather than from a package index.
Does abu have an English interface?
Partly. The repository has both readme.md and readme-en.md, but the teaching track, the interface operation videos and the research pages on the project site are Chinese-language, so a non-Chinese speaking user has very little to read beyond the English README.
Which release of abu should I use?
The only tagged release is version 1.3.0, an Android apk release dated 2019-06-20, and the repository is not archived with a last push on 2026-10-16. The working tree is therefore ahead of the tag, so the tag is not a reliable marker for the current code.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/bbfamily-abu)Was this useful?