A unified financial data interface and analysis toolkit for CN/HK/US markets.
Project description
Yquoter
Yquoter: Your universal cross-market quote fetcher. Fetch A-shares, H-shares, and US stock prices easily via one interface.
๐ Project Structure
This is a high-level overview of the Yquoter package structure:
Yquoter/
โโโ src/
โ โโโ yquoter/
โ โโโ __init__.py # Exposes the main API interfaces (e.g., get_quotes)
โ โโโ datasource.py # Unified interface for all data fetching sources
โ โโโ tushare_source.py # A module for Tushare users, requires activation
โ โโโ spider_source.py # Default data source using internal web scraping
โ โโโ spider_core.py # Core logic and mechanism for the internal spider
โ โโโ config.py # Manages configuration settings (tokens, paths)
โ โโโ .env # Stores sensitive environment variables (e.g., Tushare token)
โ โโโ indicators.py # Utility for calculating technical indicators
โ โโโ logger.py # Logging configuration and utilities
โ โโโ cache.py # Manages local data caching mechanisms
โ โโโ utils.py # General-purpose utility functions
โ โโโ configs/
โ โโโ mapping.yaml # Mapping for Data & configs
โ โโโ standard.yaml # Yquoter's data standard
โ
โโโ examples/
โ โโโ basic_usage.ipynb # Detailed usage examples in Jupyter Notebook
โ
โโโ assets/ # Non-code assets (e.g., logos, screenshots for README)
โโโ temp/ # Temporary files (ignored by Git)
โโโ .cache/ # Cache files (ignored by Git)
โโโ pyproject.toml # Package configuration for distribution (PyPI)
โโโ requirements.txt # Declaration of project dependencies
โโโ LICENSE # Apache 2.0 Open Source License details
โโโ README.md # Project documentation (this file)
โโโ .gitignore # Files/directories to exclude from version control
โโโ .github/workflows/ci.yml # GitHub Actions workflow for Continuous Integration
๐ Core API Reference
The Yquoter library exposes a set of standardized functions for data acquisition and technical analysis.
For detailed descriptions of all function parameters (e.g., market, klt, report_type), please refer to the dedicated Parameters Reference.
๐ Note: Yquoter internally integrates and standardizes external data sources like Tushare. This means Tushare users can leverage Yquoter's unified API and caching mechanisms without dealing with complex native interface calls. To learn more about the underlying data source, visit the Tushare GitHub repository.
Returns: pandas.DataFrame
Data Acquisition Functions
| Function | Description | Primary Parameters | Returns |
|---|---|---|---|
get_stock_history |
Fetch historical OHLCV (K-line) data for a date range. | market, code, start, end |
DataFrame (OHLCV) |
get_stock_realtime |
Fetch the latest trading snapshot (real-time quotes). | market, code |
DataFrame (Realtime Quotes) |
get_stock_factors |
Fetch historical valuation/market factors (e.g., PE, PB). | market, code, trade_day |
DataFrame (Factors) |
get_stock_profile |
Fetch basic profile information (e.g., company name, listing date, industry). | market, code |
DataFrame (Profile) |
get_stock_financials |
Fetch fundamental financial statements (e.g., Income Statement, Balance Sheet). | market, code, end_day, report_type |
DataFrame (Financials) |
Technical Analysis Functions
These functions primarily take an existing DataFrame (df) or data request parameters (market, code, start, end) and calculate indicators.
| Function | Description | Primary Parameters | Returns |
|---|---|---|---|
get_ma_n |
Calculate N-period Moving Average (MA). | df, n (default 5) |
DataFrame (MA column) |
get_boll_n |
Calculate N-period Bollinger Bands (BOLL). | df, n (default 20) |
DataFrame (BOLL, Upper/Lower bands) |
get_rsi_n |
Calculate N-period Relative Strength Index (RSI). | df, n (default 14) |
DataFrame (RSI column) |
get_rv_n |
Calculate N-period Rolling Volatility (RV). | df, n (default 5) |
DataFrame (RV column) |
get_max_drawdown |
Calculate Maximum Drawdown and Recovery over a period. | df |
Dict (Max Drawdown) |
get_vol_ratio |
Calculate Volume Ratio (Volume to its N-period average). | df, n (default 5) |
DataFrame (Volume Ratio) |
Utility Functions
| Function | Description | Primary Parameters |
|---|---|---|
init_tushare |
Initialize TuShare connection with your API token. | token |
init_cache_manager |
Initialize the cache manager with a maximum LRU entry count. | max_entries |
register_source |
Register a new custom data source plugin. | source_name, func_type (e.g., "realtime") |
register_tushare_module |
Register specific TuShare data interfaces. |
None |
set_default_source |
Set a new default data source. | name |
get_newest_df_path |
Get the path of the newest cached data file. | None |
๐ ๏ธ Usage Example
๐ View the Basic Usage Tutorial (Jupyter Notebook)
๐ค Contribution Guide
We welcome contributions of all forms, including bug reports, documentation improvements, feature requests, and code contributions.
Before submitting a Pull Request, please ensure that you:
Adhere to the project's coding standards.
Add necessary test cases to cover new or modified logic.
Update relevant documentation (docstrings, README, or examples).
For major feature changes, please open an Issue first to discuss the idea with the community.
๐ License
This project is licensed under the Apache License 2.0. See the LICENSE file for more details.
Project details
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 yquoter-0.1.0.tar.gz.
File metadata
- Download URL: yquoter-0.1.0.tar.gz
- Upload date:
- Size: 151.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
011cb370cc57f73212b282d45aa7b1445094277f742c490ec07090258d8b588d
|
|
| MD5 |
91955e67f1fa432ac8490fb1c21e864c
|
|
| BLAKE2b-256 |
98f278b3133754a2ee9cf534b3b2b8d9e9fe34e11d2673a23a5ee442192e81ff
|
File details
Details for the file yquoter-0.1.0-py3-none-any.whl.
File metadata
- Download URL: yquoter-0.1.0-py3-none-any.whl
- Upload date:
- Size: 40.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f4d284cee0634fef46f15d50f993b9d0691f079e60b878225ebc4b2d37d4663
|
|
| MD5 |
1198d3737f5ab289ca96aa6b686c8755
|
|
| BLAKE2b-256 |
93753cb85456163a90a5ecb3aef8feb37bddacae27262d59a098f58dc042c80d
|