back
loading skill details...
股票数据获取、分析和可视化工具包。支持A股、港股、美股数据,提供技术分析、基本面分析和投资组合管理功能。
---
name: 金融工具包
description: 股票数据获取、分析和可视化工具包。支持A股、港股、美股数据,提供技术分析、基本面分析和投资组合管理功能。
metadata: {"clawdbot":{"requires":{"bins":["python"]},"install":[{"id":"python","kind":"python","packages":["akshare","pandas","numpy","matplotlib","mplfinance","plotly","ta"],"label":"安装Python依赖"}]}}
---
# 金融工具包技能
## 功能特性
### 数据获取
- **实时行情**: A股、港股、美股实时价格
- **历史数据**: 日线、周线、月线数据
- **基本面数据**: 财务指标、财报数据
- **市场数据**: 指数、板块、资金流向
### 技术分析
- **K线图**: 蜡烛图、成交量图
- **技术指标**: MA、MACD、KDJ、RSI、BOLL等
- **形态识别**: 头肩顶、双底、三角形等
- **趋势分析**: 趋势线、支撑阻力位
### 基本面分析
- **财务分析**: 资产负债表、利润表、现金流量表
- **估值指标**: PE、PB、PS、股息率等
- **成长性分析**: 营收增长、利润增长
- **盈利能力**: ROE、ROA、毛利率、净利率
### 投资组合
- **组合管理**: 持仓管理、盈亏计算
- **风险评估**: 波动率、夏普比率、最大回撤
- **资产配置**: 股债配置、行业配置
- **绩效评估**: 收益率、风险调整后收益
### 可视化
- **交互图表**: 可缩放、可拖动的K线图
- **指标叠加**: 多指标同图显示
- **报表生成**: 自动生成分析报告
- **仪表盘**: 实时监控仪表盘
## 安装依赖
```bash
# Python依赖
pip install akshare pandas numpy matplotlib mplfinance plotly ta
# 可选:更多高级功能
pip install backtrader quantstats yfinance
```
## 配置说明
### API配置
```python
# config/api_config.py
API_CONFIG = {
"akshare": {
"timeout": 10,
"retry": 3
},
"cache": {
"enabled": True,
"ttl": 300 # 5分钟缓存
}
}
```
### 数据源配置
```python
# config/data_sources.py
DATA_SOURCES = {
"a_share": {
"realtime": "akshare.stock_zh_a_spot_em",
"history": "akshare.stock_zh_a_hist",
"fundamental": "akshare.stock_financial_report_sina"
},
"hk_stock": {
"realtime": "akshare.stock_hk_spot_em",
"history": "akshare.stock_hk_hist"
},
"us_stock": {
"realtime": "akshare.stock_us_spot_em",
"history": "akshare.stock_us_hist"
}
}
```
## 使用示例
### 基础使用
```python
from finance_toolkit import StockAnalyzer
# 创建分析器
analyzer = StockAnalyzer()
# 获取股票数据
df = analyzer.get_stock_data("000001", start_date="2024-01-01")
# 技术分析
indicators = analyzer.calculate_indicators(df)
# 生成图表
analyzer.plot_chart(df, indicators, save_path="chart.png")
```
### 命令行使用
```bash
# 查看股票信息
python -m finance_toolkit.cli stock 000001
# 技术分析
python -m finance_toolkit.cli analyze 000001 --indicators macd,rsi,boll
# 投资组合
python -m finance_toolkit.cli portfolio list
python -m finance_toolkit.cli portfolio add 000001 1000
# 生成报告
python -m finance_toolkit.cli report 000001 --output report.html
```
### OpenClaw集成
```javascript
// 在OpenClaw技能中调用
const finance = require('./skills/finance-toolkit');
// 股票查询命令
app.command('/stock <code>', async (code) => {
const data = await finance.getStockData(code);
return `股票 ${code} 信息:\n当前价: ${data.price}\n涨跌幅: ${data.change}`;
});
// 投资组合命令
app.command('/portfolio', async () => {
const portfolio = await finance.getPortfolio();
return `投资组合总价值: ${portfolio.total_value}\n今日盈亏: ${portfolio.today_pnl}`;
});
```
## 命令参考
### 股票命令
```
/stock <代码> [参数]
参数:
--detail 详细模式
--chart 显示图表
--news 相关新闻
--analysis 技术分析
示例:
/stock 000001
/stock 000001 --chart
/stock 000001 --analysis --indicators macd,rsi
```
### 投资组合命令
```
/portfolio <子命令> [参数]
子命令:
list 查看组合
add <代码> <数量> [成本价] 添加持仓
remove <代码> [数量] 减少持仓
update 更新市值
analyze 组合分析
示例:
/portfolio list
/portfolio add 000001 1000 15.5
/portfolio analyze --risk
```
### 市场命令
```
/market <子命令> [参数]
子命令:
indices 主要指数
sectors 板块涨跌
hot 热门股票
flow 资金流向
calendar 财经日历
示例:
/market indices
/market sectors --sort change
/market flow --type north
```
### 分析命令
```
/analyze <代码> [参数]
参数:
--period <周期> 日/周/月/年
--indicators <指标> 技术指标列表
--compare <代码> 对比股票
--export <格式> 导出格式
示例:
/analyze 000001
/analyze 000001 --indicators macd,rsi,boll
/analyze 000001 --compare 000002 --period month
```
## 数据源说明
### 主要数据源
1. **akshare**: 免费、全面的A股数据
2. **新浪财经**: 实时行情、财务数据
3. **东方财富**: 资金流向、龙虎榜
4. **腾讯财经**: 新闻资讯、公告
### 数据更新频率
- **实时行情**: 3-5秒更新
- **日线数据**: 每日收盘后更新
- **财务数据**: 财报季后更新
- **新闻资讯**: 实时更新
### 数据质量
- **准确性**: 与交易所官方数据一致
- **完整性**: 包含历史复权数据
- **及时性**: 实时数据延迟小于5秒
- **稳定性**: 99.9%可用性
## 高级功能
### 量化策略
```python
from finance_toolkit.quant import StrategyBacktester
# 定义策略
def ma_crossover_strategy(data, short_window=10, long_window=30):
# 移动平均线交叉策略
pass
# 回测
backtester = StrategyBacktester(
strategy=ma_crossover_strategy,
initial_capital=100000,
commission=0.0003
)
results = backtester.backtest("000001", "2023-01-01", "2024-01-01")
```
### 风险管理
```python
from finance_toolkit.risk import RiskManager
risk_manager = RiskManager(portfolio)
# 风险评估
risk_report = risk_manager.assess_risk()
# 风险控制
if risk_report["var_95"] > 0.05: # 95% VaR超过5%
risk_manager.adjust_position()
```
### 自动化交易
```python
from finance_toolkit.trading import AutoTrader
trader = AutoTrader(
strategy=my_strategy,
broker="simulated", # 模拟交易
risk_limit=0.02 # 单笔风险限制2%
)
# 启动交易
trader.start()
```
## 注意事项
### 使用限制
1. **数据频率**: 免费API有调用频率限制
2. **商业用途**: 如需商业使用请购买授权
3. **投资建议**: 本工具不构成投资建议
4. **数据准确性**: 请以交易所官方数据为准
### 最佳实践
1. **数据缓存**: 合理使用缓存减少API调用
2. **错误处理**: 实现完善的错误处理机制
3. **日志记录**: 记录重要操作和错误信息
4. **定期备份**: 定期备份重要数据和配置
### 故障排除
1. **网络问题**: 检查网络连接和代理设置
2. **API限制**: 确认API调用未超限
3. **数据格式**: 验证数据格式和编码
4. **依赖版本**: 确保依赖库版本兼容
## 更新日志
### v1.0.0 (2026-02-27)
- 初始版本发布
- 基础股票数据获取
- 基本技术分析功能
- 简单投资组合管理
### 计划功能
- [ ] 期权数据和分析
- [ ] 期货数据和分析
- [ ] 加密货币支持
- [ ] 多因子模型
- [ ] 机器学习预测
- [ ] 实时预警系统
- [ ] 移动端应用
- [ ] 微信/钉钉集成
## 支持与贡献
### 问题反馈
- GitHub Issues: [项目地址]
- 邮箱: support@example.com
- 文档: [文档地址]
### 贡献指南
1. Fork项目
2. 创建功能分支
3. 提交更改
4. 创建Pull Request
### 开发环境
```bash
# 克隆项目
git clone [项目地址]
# 安装开发依赖
pip install -r requirements-dev.txt
# 运行测试
pytest tests/
# 代码检查
flake8 finance_toolkit/
black finance_toolkit/
```
---
**免责声明**: 本工具仅供学习和研究使用,不构成任何投资建议。股市有风险,投资需谨慎。don't have the plugin yet? install it then click "run inline in claude" again.