xqdata
统一适配rqdata、火富牛API等数据源
简介
xqdata是一个统一的数据访问接口库,旨在提供一致的API来访问不同的金融数据源,包括RQData、火富牛等。
安装
pip install xqdata
使用方法
基本用法
from xqdata import get_dataapi
# 获取数据API实例,默认使用mock数据
api = get_dataapi()
# 或者指定特定的数据源
api = get_dataapi("rq") # RQData
api = get_dataapi("mock") # Mock数据(默认)
认证
# 对于需要认证的数据源(如RQData)
api.auth(username="your_username", password="your_password")
获取基础信息
# 获取股票信息
stock_info = api.get_info("stock")
# 获取基金信息
fund_info = api.get_info("fund")
# 获取期货信息
futures_info = api.get_info("futures")
# 获取ETF信息
etf_info = api.get_info("etf")
获取因子数据
# 获取单个因子数据
factor_data = api.get_factor("pe_ratio", "000001.XSHE")
# 获取多个因子数据
factors = ["pe_ratio", "pb_ratio"]
codes = ["000001.XSHE", "000002.XSHE"]
factor_data = api.get_factor(factors, codes)
# 指定时间范围和频率
factor_data = api.get_factor(
factors,
codes,
start_time="2024-01-01",
end_time="2024-12-31",
frequency="D"
)
获取双键因子数据
# 获取双键因子数据(例如持仓数据)
dualkey_data = api.get_dualkey_factor(
"holding_ratio",
["client_001", "client_002"], # 客户代码
["product_A", "product_B"], # 产品代码
)
支持的数据源
- Mock数据:用于开发和测试的模拟数据
- RQData:米筐RQData金融数据接口(需要安装rqdatac库并具有有效账户)
RQData配置
要使用RQData数据源,需要:
-
安装rqdatac库:
pip install rqdatac
-
具有有效的RQData账户
-
在代码中进行认证:
api = get_dataapi("rq") api.auth(username="your_username", password="your_password")
扩展新的数据类型
RQData API支持通过配置来扩展新的数据类型查询。可以通过以下方式注册新的信息类型:
import rqdatac as rq
# 注册新的信息类型
api.register_info_type(
"my_custom_type", # 类型名称
rq.all_instruments, # 调用的RQData函数
{"type": "CustomType"}, # 传递给RQData函数的参数
None, # 后处理函数(可选)
{} # 传递给后处理函数的参数(可选)
)
# 使用新注册的类型
data = api.get_info("my_custom_type")
开发指南
运行测试
# 运行所有测试
pytest
# 运行特定测试文件
pytest test/test_mock.py
pytest test/test_rqdata.py
添加新的数据源
要添加新的数据源,需要:
- 创建新的模块目录(如
xqdata/newsource) - 实现
DataApi抽象基类的所有方法 - 在模块的
__init__.py中创建单例实例 - 更新工厂函数以支持新的数据源
License
MIT
Metadata
Release files for xqdata 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| xqdata-0.2.4.tar.gz | 10.7 kB | Without provenance | Details for xqdata-0.2.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| xqdata-0.2.4-py3-none-any.whl | Python 3 | none | any | Details for xqdata-0.2.4-py3-none-any.whl |
Total release size: 25.7 kB
Release files / xqdata-0.2.4.tar.gz
| Download URL | xqdata-0.2.4.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf16b803e6654af7a9f1a61aa56f9700e4caf490f912e4da60bac71b76553684
|
|
BLAKE2b-256 checksum How to use checksums |
52c6f56704fc59f401cb6ed5a015ad58fc3e57897a0fa2f8a5cd9231a6a37fe0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / xqdata-0.2.4-py3-none-any.whl
| Download URL | xqdata-0.2.4-py3-none-any.whl |
|---|---|
| Size | 15.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
296285decc1e99762be55e4d52e8d18d28d4004f5f95664d46fffe9d704937c1
|
|
BLAKE2b-256 checksum How to use checksums |
32d6567d32dd0b84f15496db2c787b891c520ec1b75d840b6555453b7a108e13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for xqdata 0.2.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.