- universal_fetcher_README.md:统一数据获取接口完整文档 - universal_fetcher_QUICKSTART.md:5分钟快速上手指南 - universal_fetcher_ARCHITECTURE.md:架构设计说明 - universal_fetcher_TEST_REPORT.md:测试报告与修复记录 - flask_api_README.md:Flask API 完整文档 - FLASK_SERVICE_SUMMARY.md:项目实现总结 总计 2000+ 行文档,涵盖 API 说明、使用示例、架构设计
2.7 KiB
2.7 KiB
快速入门:统一数据获取接口
5分钟快速上手
1. 安装依赖
pip install pandas yfinance tushare
2. 配置 Tushare Token
在项目根目录的 .env 文件中添加:
TUSHARE_TOKEN=your_token_here
如果没有 token,前往 Tushare 注册获取。
3. 第一个示例
from core.datasource.universal_fetcher import fetch_kline
# 获取沪深300指数最近3个月的数据
df = fetch_kline("000300.SH", "2024-01-01", "2024-03-31")
print(f"获取到 {len(df)} 条数据")
print(df.tail())
4. 批量获取
from core.datasource.universal_fetcher import UniversalDataFetcher
codes = [
"000300.SH", # 沪深300
"510300.SH", # 沪深300ETF
"NDX", # 纳斯达克100
"HSI", # 恒生指数
]
fetcher = UniversalDataFetcher()
with fetcher:
results = fetcher.fetch_multiple(codes, "2024-01-01", "2024-03-31")
for code, df in results.items():
if df is not None:
print(f"✓ {code}: {len(df)} 条")
常用代码速查表
A股指数
| 代码 | 名称 |
|---|---|
000300.SH |
沪深300 |
000016.SH |
上证50 |
399006.SZ |
创业板指 |
000905.SH |
中证500 |
H30269.CSI |
中证红利低波 |
A股ETF
| 代码 | 名称 |
|---|---|
510300.SH |
沪深300ETF |
159915.SZ |
创业板ETF |
510500.SH |
中证500ETF |
513100.SH |
纳指ETF |
全球指数
| 代码 | 名称 |
|---|---|
NDX |
纳斯达克100 |
SPX |
标普500 |
HSI |
恒生指数 |
N225 |
日经225 |
GDAXI |
德国DAX |
期货 & 加密资产
| 代码 | 名称 |
|---|---|
AU.SHF |
黄金期货 |
BTC |
比特币 |
ETH |
以太坊 |
常见问题
获取数据失败怎么办?
- 检查网络连接:YFinance 可能需要科学上网
- 检查 Token:确保
.env文件中配置了TUSHARE_TOKEN - 检查代码格式:使用
detect_asset_type()检测代码是否正确
from core.datasource.universal_fetcher import detect_asset_type
print(detect_asset_type("000300.SH")) # 应输出 'china_index'
如何配置SSH隧道?
ssh_config = {
"enabled": True,
"host": "your-server.com",
"port": 22,
"username": "root",
"key_path": "/path/to/key.pem",
"local_port": 1080,
}
fetcher = UniversalDataFetcher(ssh_config=ssh_config)
with fetcher:
df = fetcher.fetch("NDX", "2024-01-01", "2024-03-31")