04db423416
- 70 skills with code and documentation - Add .gitignore (ignore __pycache__, output/, temp/, venv/) - Clean up test intermediates and caches
192 lines
5.2 KiB
Markdown
192 lines
5.2 KiB
Markdown
# 股票实时价格查询技能
|
|
|
|
## 技能概述
|
|
|
|
这是一个专门用于查询股票实时价格的专业技能,确保所有股票分析都基于准确的市场价格数据。
|
|
|
|
## 核心功能
|
|
|
|
1. **多市场支持**:A股、港股、美股等主要市场的股票价格查询
|
|
2. **实时数据源**:使用多个可靠的数据源确保准确性
|
|
3. **自动验证**:交叉验证多个数据源,确保价格准确性
|
|
4. **错误处理**:当无法获取准确价格时,明确告知而非猜测
|
|
|
|
## 使用方法
|
|
|
|
### 查询单个股票
|
|
```python
|
|
get_stock_price("00700.HK") # 腾讯控股港股
|
|
get_stock_price("600519.SH") # 贵州茅台A股
|
|
get_stock_price("AAPL.US") # 苹果美股
|
|
```
|
|
|
|
### 批量查询
|
|
```python
|
|
stock_codes = ["00700.HK", "09868.HK", "001309.SZ", "01088.HK"]
|
|
prices = get_stock_prices(stock_codes)
|
|
```
|
|
|
|
## 数据源优先级
|
|
|
|
1. **官方交易所数据**(最高优先级)
|
|
- 港交所 (HKEX) - 港股
|
|
- 上交所/深交所 - A股
|
|
- 纳斯达克/纽交所 - 美股
|
|
|
|
2. **权威金融数据提供商**
|
|
- Yahoo Finance
|
|
- Google Finance
|
|
- Bloomberg
|
|
- Reuters
|
|
|
|
3. **国内金融数据平台**
|
|
- 东方财富
|
|
- 同花顺
|
|
- 雪球
|
|
|
|
## 错误处理机制
|
|
|
|
### 当无法获取准确价格时:
|
|
- **绝不猜测或估算**
|
|
- **明确告知数据不可用**
|
|
- **建议替代查询方式**
|
|
- **记录错误以便改进**
|
|
|
|
### 数据验证规则:
|
|
- **价格合理性检查**:排除明显异常的价格(如小数点错误)
|
|
- **时间戳验证**:确保是最新交易日的数据
|
|
- **多源一致性**:至少两个数据源价格差异不超过5%
|
|
|
|
## 实现细节
|
|
|
|
### 股票代码标准化
|
|
```python
|
|
def standardize_stock_code(code):
|
|
"""
|
|
标准化股票代码格式
|
|
00700 -> 00700.HK (港股)
|
|
600519 -> 600519.SH (A股)
|
|
001309 -> 001309.SZ (A股创业板)
|
|
AAPL -> AAPL.US (美股)
|
|
"""
|
|
# 实现代码标准化逻辑
|
|
pass
|
|
```
|
|
|
|
### 多源数据查询
|
|
```python
|
|
def query_multiple_sources(code):
|
|
"""同时查询多个数据源"""
|
|
sources = [
|
|
query_yahoo_finance,
|
|
query_google_finance,
|
|
query_eastmoney,
|
|
query_xueqiu
|
|
]
|
|
|
|
results = []
|
|
for source in sources:
|
|
try:
|
|
price = source(code)
|
|
if price and is_reasonable_price(price):
|
|
results.append(price)
|
|
except Exception as e:
|
|
log_error(f"Source {source.__name__} failed: {e}")
|
|
|
|
return validate_and_return_price(results)
|
|
```
|
|
|
|
## 质量保证
|
|
|
|
### 必须遵守的原则:
|
|
1. **准确性第一**:宁可不返回结果,也不返回错误结果
|
|
2. **透明度**:明确说明数据来源和时间戳
|
|
3. **一致性**:同一只股票在不同查询中返回相同结果
|
|
4. **实时性**:确保数据是最新的交易日价格
|
|
|
|
### 验证清单:
|
|
- [ ] 股票代码格式正确
|
|
- [ ] 数据源可靠且最新
|
|
- [ ] 价格在合理范围内
|
|
- [ ] 多源数据一致性验证
|
|
- [ ] 错误处理机制完善
|
|
|
|
## 触发条件
|
|
|
|
当用户需要进行任何股票相关的分析、建议或操作时,必须首先使用此技能查询准确的实时价格,然后再进行后续分析。
|
|
|
|
**禁止行为:**
|
|
- ❌ 凭记忆或印象给出股票价格
|
|
- ❌ 使用过时的价格数据
|
|
- ❌ 在没有验证的情况下进行价格推测
|
|
- ❌ 混淆不同市场的价格(如美股ADR vs 港股)
|
|
|
|
## 示例使用场景
|
|
|
|
**场景1:自选股分析**
|
|
```
|
|
用户:分析我的自选股
|
|
步骤:1. 识别自选股代码 → 2. 查询每个股票的实时价格 → 3. 基于准确价格进行分析
|
|
```
|
|
|
|
**场景2:持仓优化建议**
|
|
```
|
|
用户:给我持仓操作建议
|
|
步骤:1. 读取持仓文件 → 2. 查询每个持仓股票的当前价格 → 3. 计算准确盈亏 → 4. 给出操作建议
|
|
```
|
|
|
|
**场景3:新股票评估**
|
|
```
|
|
用户:评估德明利是否值得买入
|
|
步骤:1. 查询德明利(001309.SZ)实时价格 → 2. 获取历史价格区间 → 3. 基于准确数据给出建议
|
|
```
|
|
|
|
## 技术实现要求
|
|
|
|
### 依赖库
|
|
```bash
|
|
pip install yfinance requests beautifulsoup4 pandas
|
|
```
|
|
|
|
### 主要函数
|
|
```python
|
|
def get_realtime_stock_price(stock_code: str) -> dict:
|
|
"""
|
|
获取股票实时价格
|
|
|
|
Args:
|
|
stock_code: 标准化股票代码 (e.g., "00700.HK", "600519.SH")
|
|
|
|
Returns:
|
|
{
|
|
"code": "00700.HK",
|
|
"price": 552.00,
|
|
"currency": "HKD",
|
|
"timestamp": "2026-03-11 16:00:00",
|
|
"source": "Yahoo Finance",
|
|
"previous_close": 553.50,
|
|
"change_percent": -0.27
|
|
}
|
|
"""
|
|
pass
|
|
```
|
|
|
|
## 维护和更新
|
|
|
|
- **定期验证数据源**:每月检查各数据源的可用性
|
|
- **错误日志记录**:记录所有查询失败的情况,持续改进
|
|
- **用户反馈集成**:根据用户指出的错误快速修正
|
|
- **新市场支持**:根据需求扩展支持更多交易市场
|
|
|
|
## 与其他技能的集成
|
|
|
|
此技能应作为以下技能的前置条件:
|
|
- `stock-analysis`:股票分析技能
|
|
- `portfolio-management`:投资组合管理技能
|
|
- `trading-strategy`:交易策略技能
|
|
|
|
**执行流程:**
|
|
1. 用户请求股票相关信息
|
|
2. 自动调用 `stock-price-query` 技能获取准确价格
|
|
3. 基于准确价格执行后续分析
|
|
4. 如果价格查询失败,暂停后续分析并告知用户 |