Technical analysis and quantitative trading toolkit for retail investors taking on the market
Project description
dumbmoney
dumbmoney is a technical analysis and quantitative trading toolkit designed for retail investors. The current version provides a unified, transparent interface to fetch daily stock prices across A-shares, H-shares, and US markets by abstracting popular data packages like massive, tushare, and akshare, hiding their implementation complexity.
from dumbmoney import fetch_daily_prices
df = fetch_daily_prices("600519.SH", "2025-01-01", "2025-06-01")
You get normalized OHLCV data automatically - no need to care which provider supplies it.
✨ Features
- 🔌 One function to fetch prices: fetch_daily_prices(symbol, start, end)
- 🌏 Multiple markets supported
- A-shares (.SH, .SZ)
- H-shares (.HK)
- US stocks (.US)
- ⚙️ Automatic provider routing
- A-shares → TuShare → AkShare
- H-shares → TuShare → AkShare
- US stocks → Massive → AkShare
- 📐 Unified normalized output
- open, high, low, close, volume
- 🔁 Fallback logic
- If one provider fails, the next takes over
- 🧩 Extensible architecture (plug in new providers)
Important Notice
- To use
massive/tushareas a provider, you need to apply for a key or token from them. massive's free api key only supports retrieving data from the most recent two years.tushare's free token only supports retrieving data of A-shares.akshareis free but depends on third-party data sources that may have variable reliability.
🏷️ Symbol Format
dumbmoney uses suffix-based symbol conventions:
| Market | Example Symbol |
|---|---|
| A-share | 600519.SH or 600519 |
| A-share | 000001.SZ or 000001 |
| H-share | 0700.HK |
| US | AAPL.US |
Suffixes for H-shares and US stocks are required. A-share symbols may omit suffixes; however, if they are present, they must be valid and correct.
📦 Installation
Install only the core:
pip install dumbmoney
Install with tushare and massive:
pip install "dumbmoney[tushare,massive]"
🚀 Quick Start
from dumbmoney import fetch_daily_prices
df = fetch_daily_prices(
"600519.SH",
"2023-01-01",
"2023-06-01",
adjust="forward",
)
print(df.head())
To use the massive or tushare providers, you must set the required environment variables MASSIVE_KEY or TUSHARE_TOKEN.
📘 API Reference
fetch_daily_prices(symbol, start, end, adjust="none", ...)
Fetch normalized daily OHLCV prices.
- Parameters
| Name | Type | Description |
|---|---|---|
symbol |
str |
Stock symbol with suffix (600519.SH, 0700.HK, AAPL.US) |
start |
str |
Start time, e.g. "2025-01-01" |
end |
str |
End time, e.g. "2025-12-01" |
adjust |
str |
Adjustment mode, "none" | "forward" | "backward" |
- Returns
A pandas.DataFrame with:
| Column | Description |
|---|---|
open |
Opening price |
high |
High |
low |
Low |
close |
Close |
volume |
Traded volume |
Index is a DatetimeIndex named date.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dumbmoney-0.1.1.tar.gz.
File metadata
- Download URL: dumbmoney-0.1.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e0aa6291d909ba39cde33ecfc50084ffb9ee709ed94c37ffdc9540295699497
|
|
| MD5 |
3674512d2c8184fb866f6691bcef0812
|
|
| BLAKE2b-256 |
d8f6a0ce6f1ad370ca60ecc4c050f790bad564c13b2d8d9602b17cda6f8a773a
|
File details
Details for the file dumbmoney-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dumbmoney-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.13 {"installer":{"name":"uv","version":"0.9.13"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
95eabbf9e7001dc3b43541cbc40f4b56379d7e9cd8720476b585fb399fef7583
|
|
| MD5 |
4c3d7fa92d75cc3fe29273b4ffc7db17
|
|
| BLAKE2b-256 |
beebe290c7a7bb0ecf03c373ff2227efba3ab2227760c62bacd5134d267c297c
|