- name
- china-market-gateway
- description
- 中国金融市场数据获取技能。用于查询A股、港股、基金、宏观经济数据。当用户提到"股票价格"、"基金净值"、"GDP"、"CPI"、"上证指数"、"茅台"、"腾讯"等中国市场相关内容时触发。支持实时行情、历史数据、财经新闻检索。
- dependency
- {"python":["requests>=2.28.0","beautifulsoup4>=4.11.0","lxml>=4.9.0"]}
# 中国金融市场数据网关
## 何时使用本技能
当需要以下操作时使用本技能:
- **股票数据**:查询A股(沪深交易所)或港股实时价格、历史行情
- **基金信息**:获取基金净值、估值、基金经理等详细信息
- **宏观数据**:查询GDP、CPI、PPI、PMI等经济指标
- **财经资讯**:搜索特定公司或行业的最新新闻
- **市场分析**:需要中国资本市场的基础数据支持
**典型触发场景**:
- "帮我查一下贵州茅台今天的股价"
- "最近CPI数据是多少"
- "腾讯在港股的表现如何"
- "有没有关于新能源汽车行业的最新消息"
## 核心功能概览
本技能通过 Python 程序访问多个中国金融数据源,提供统一的数据获取接口:
| 数据类型 | 数据源 | 覆盖范围 |
|---------|--------|---------|
| 股票行情 | 新浪财经、腾讯财经、东方财富 | A股、港股、指数 |
| 基金数据 | 天天基金网 (东方财富) | 公募基金净值、估值 |
| 经济指标 | 东方财富数据中心 | GDP、CPI、PPI、PMI |
| 财经新闻 | 财联社 (CLS) | 市场快讯、行业新闻 |
| 股票分析 | 百度股市通 | 个股分析页面 |
## 股票代码格式
中国市场使用特定的股票代码前缀:
- **沪市A股**:`sh` + 6位数字(如 `sh600519` 贵州茅台)
- **深市A股**:`sz` + 6位数字(如 `sz000001` 平安银行)
- **港股**:`hk` + 5位数字(如 `hk00700` 腾讯控股)
### 常用股票代码示例
| 公司名称 | A股代码 | 港股代码 | 行业 |
|---------|---------|---------|------|
| 贵州茅台 | sh600519 | - | 白酒 |
| 腾讯控股 | - | hk00700 | 互联网 |
| 阿里巴巴 | sh688988 | hk09988 | 电商 |
| 美团 | - | hk03690 | 本地生活 |
| 中国平安 | sh601318 | hk02318 | 保险 |
| 比亚迪 | sz002594 | hk01211 | 新能源汽车 |
**重要提示**:
- 港股代码必须是5位数字,不足需补零(如 `700` → `hk00700`)
- 部分公司同时在A股和港股上市,代码不同但对应同一家公司
## 使用流程
### 第一步:初始化数据获取类
阅读实现代码以了解如何初始化:
```
阅读 scripts/yuan_data.py
```
该脚本包含 `YuanData` 主类,封装了所有数据获取方法。
### 第二步:选择数据接口
根据查询需求选择合适的接口:
**股票数据**:
```
阅读 references/stock_api.md
```
了解如何使用新浪、腾讯、东方财富接口获取实时行情。
**基金数据**:
```
阅读 references/fund_api.md
```
了解如何查询基金净值、估值和详细信息。
**宏观经济数据**:
```
阅读 references/macro_api.md
```
了解如何获取GDP、CPI、PPI、PMI数据。
**财经新闻**:
```
阅读 references/news_api.md
```
了解如何搜索特定公司或行业的最新资讯。
### 第三步:执行代码
直接运行 Python 脚本或在代码中调用:
```python
from scripts.yuan_data import YuanData, get_stock_price
# 方法1:使用便捷函数
quote = get_stock_price("sh600519")
print(f"茅台价格: {quote}")
# 方法2:使用主类
data = YuanData()
fund_info = data.fund.get_quote("161039")
gdp_data = data.macro.get_gdp()
```
## 常见问题处理
### 数据返回为空
如果股票代码查询无数据,可能原因:
1. **格式错误**:港股代码不足5位(使用 `hk00700` 而非 `hk700`)
2. **股票停牌**:当日未交易
3. **代码失效**:股票已退市或更名
4. **网络限制**:境外访问受限,需配置代理
参考故障排查指南:
```
阅读 references/troubleshooting.md
```
### 代理配置
境外访问中国金融网站时,建议配置代理:
```python
data = YuanData(proxy="http://your-proxy:port")
```
### 时区与交易时间
- **时区**:中国标准时间 (UTC+8)
- **交易时间**:
- 上午:9:30 - 11:30
- 下午:13:00 - 15:00
- 午间休市:11:30 - 13:00
**提示**:在非交易时间查询,得到的是最近一个交易日的收盘数据。
## 输出格式建议
向用户展示数据时,建议使用清晰的格式:
**股票数据**:
```
【贵州茅台 sh600519】
当前价: ¥1,685.00
涨跌幅: +2.35% (+¥38.70)
今日最高: ¥1,698.50
今日最低: ¥1,665.00
成交量: 125.8万股
```
**宏观数据**:
```
【2024年GDP数据】
- 国内生产总值: 126.06万亿元
- 同比增长: 5.2%
- 第一产业: 8.91万亿 (+4.1%)
- 第二产业: 48.20万亿 (+4.6%)
- 第三产业: 68.95万亿 (+5.8%)
```
## 注意事项
1. **数据时效性**:实时行情有1-3分钟延迟,非交易时间显示收盘价
2. **访问频率**:避免短时间内大量请求,建议每次请求间隔0.1-0.5秒
3. **数据准确性**:数据来自公开网站爬取,仅供参考,不构成投资建议
4. **货币单位**:A股价格单位为人民币(CNY),港股为港币(HKD)
5. **合规使用**:遵守数据源网站的使用条款,仅用于个人研究学习
## 技术架构
```
YuanData (主类)
├── stock (股票接口)
│ ├── 新浪财经API
│ ├── 腾讯财经API
│ └── 东方财富网页
├── fund (基金接口)
│ └── 天天基金API
├── macro (宏观接口)
│ └── 东方财富数据中心
└── news (新闻接口)
├── 财联社API
└── 百度股市通
```
GitHub에서 보기