No project description provided
Project description
✨ 功能特性
🎯 智能数据获取 - 基于 AkShare 的现代化封装
⚡ 智能缓存机制 - 交易时间感知的数据缓存,提升访问效率
🔄 数据持久化 - 自动数据存储与管理,减少重复请求
📊 多维度分析 - 支持个股、指数、市场情绪等多角度数据
🛡️ 类型安全 - 完整的类型提示,IDE友好的开发体验
🧪 测试覆盖 - 95%+ 测试覆盖率,可靠稳定
🚀 快速开始
安装
pip install china_stock_data
30秒快速体验
from china_stock_data import StockData, StockMarket
# 获取股票数据
stock = StockData("000001", days=30) # 平安银行最近30天
price_data = stock.get_data("kline")
print(f"最新价格: ¥{price_data['收盘'].iloc[-1]:.2f}")
# 获取市场数据
market = StockMarket("000300") # 沪深300指数
components = market.get_data("index_components")
print(f"成分股数量: {len(components)}")
💡 使用示例
📈 个股分析
# 技术分析
stock = StockData("600519") # 贵州茅台
kline = stock.get_data("kline")
realtime = stock.get_data("realtime")
# 计算移动平均线
kline['MA20'] = kline['收盘'].rolling(20).mean()
# 获取公司信息
info = stock.get_data("info")
🏢 市场分析
# 市场情绪分析
market = StockMarket()
sentiment = market.get_data("sentiment")
index_list = market.get_data("index_list")
# 指数成分股分析
csi300 = StockMarket("000300")
components = csi300.get_data("index_components")
📊 批量分析
# 投资组合分析
symbols = ["000001", "000002", "600519"]
portfolio = {}
for symbol in symbols:
stock = StockData(symbol, days=252)
data = stock.get_data("kline")
portfolio[symbol] = data['收盘']
# 计算相关性、收益率等...
📁 项目结构
china_stock_data/
├── 📦 fetchers/ # 数据获取器 (按类别组织)
│ ├── 📈 stock/ # 个股数据获取器
│ ├── 📊 index/ # 指数数据获取器
│ ├── 🏢 market/ # 市场数据获取器
│ └── 🔧 base_fetcher.py # 基础获取器
├── 💾 persistent_dict.py # 数据持久化
├── ⏰ trading_time_checker.py # 交易时间管理
├── 📈 stock_data.py # 个股数据类
├── 🏢 stock_market.py # 市场数据类
└── 📝 examples/ # 使用示例
├── quick_start.ipynb # 5分钟快速入门
├── professional_analysis.ipynb # 专业技术分析
└── portfolio_analysis.ipynb # 投资组合管理
🎓 学习资源
📚 完整示例教程
🛠️ 开发
环境设置
# 克隆仓库
git clone https://github.com/sjzsdu/china_stock_data.git
cd china_stock_data
# 安装依赖 (推荐使用 Poetry)
poetry install
# 运行测试
poetry run pytest
API 参考
StockData
| 方法 | 说明 | 示例 |
|---|---|---|
get_data("kline") |
获取K线数据 | 历史价格、成交量 |
get_data("realtime") |
获取实时数据 | 当前价格、买卖盘 |
get_data("info") |
获取基本信息 | 公司概况、财务指标 |
get_data("chip") |
获取筹码分布 | 持仓成本分布 |
StockMarket
| 方法 | 说明 | 示例 |
|---|---|---|
get_data("index_components") |
指数成分股 | 沪深300成分股列表 |
get_data("index_list") |
指数列表 | 所有可用指数 |
get_data("sentiment") |
市场情绪 | 情绪指标数据 |
get_data("us_index") |
美股指数 | 道琼斯、纳斯达克 |
🤝 贡献
我们欢迎各种形式的贡献!
🐛 发现了问题? 提交 Issue
💡 有好想法? 发起讨论
🔧 想要改进? 提交 Pull Request
贡献步骤
- 🍴 Fork 本仓库
- 🌟 创建特性分支:
git checkout -b feature/amazing-feature - 💻 编写代码并添加测试
- ✅ 确保测试通过:
poetry run pytest - 📝 提交更改:
git commit -m 'Add amazing feature' - 🚀 推送分支:
git push origin feature/amazing-feature - 🔄 创建 Pull Request
📞 支持
- 📧 邮箱: 122828837@qq.com
- 🐛 问题反馈: GitHub Issues
- 💬 讨论交流: GitHub Discussions
📄 许可证
本项目采用 MIT 许可证。
🙏 致谢
- 感谢 AkShare 提供的数据接口
- 感谢所有贡献者的支持与帮助
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file china_stock_data-0.2.1.tar.gz.
File metadata
- Download URL: china_stock_data-0.2.1.tar.gz
- Upload date:
- Size: 14.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a36a449b854230269a3868a8ec1d32d3ae4ebd0572f8bb4e805f11365d3993e3
|
|
| MD5 |
1cd9e8902119a67cd56d675e4395532c
|
|
| BLAKE2b-256 |
1cd72de4e06e49e912397949fad2424a5832e05f237d42bacfd75e78439d4ce8
|
File details
Details for the file china_stock_data-0.2.1-py3-none-any.whl.
File metadata
- Download URL: china_stock_data-0.2.1-py3-none-any.whl
- Upload date:
- Size: 28.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.4 CPython/3.12.11 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53c8a919be7a8e9907df7a451c20d4b40a7c8e8ecdb28b62f49b93ce476389dd
|
|
| MD5 |
e7046c0bb02df2af505fde63273ffa23
|
|
| BLAKE2b-256 |
a70c61648260af9580f2ff1240d2a2027c561b0f8dca740c2f8daae4d31ed57f
|