Skip to main content

No project description provided

Project description

🇨🇳 China Stock Data

一个现代化的中国股市数据获取库

Python Version PyPI Version License Tests Coverage Docs

🚀 快速开始📖 在线文档💡 示例🤝 贡献


✨ 功能特性

🎯 智能数据获取 - 基于 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

贡献步骤

  1. 🍴 Fork 本仓库
  2. 🌟 创建特性分支: git checkout -b feature/amazing-feature
  3. 💻 编写代码并添加测试
  4. ✅ 确保测试通过: poetry run pytest
  5. 📝 提交更改: git commit -m 'Add amazing feature'
  6. 🚀 推送分支: git push origin feature/amazing-feature
  7. 🔄 创建 Pull Request

📞 支持

📄 许可证

本项目采用 MIT 许可证

🙏 致谢

  • 感谢 AkShare 提供的数据接口
  • 感谢所有贡献者的支持与帮助

⭐ 如果这个项目对你有帮助,请给我们一个星标!

⭐ Star👀 Watch🍴 Fork

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

china_stock_data-0.2.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

china_stock_data-0.2.1-py3-none-any.whl (28.7 kB view details)

Uploaded Python 3

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

Hashes for china_stock_data-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a36a449b854230269a3868a8ec1d32d3ae4ebd0572f8bb4e805f11365d3993e3
MD5 1cd9e8902119a67cd56d675e4395532c
BLAKE2b-256 1cd72de4e06e49e912397949fad2424a5832e05f237d42bacfd75e78439d4ce8

See more details on using hashes here.

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

Hashes for china_stock_data-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 53c8a919be7a8e9907df7a451c20d4b40a7c8e8ecdb28b62f49b93ce476389dd
MD5 e7046c0bb02df2af505fde63273ffa23
BLAKE2b-256 a70c61648260af9580f2ff1240d2a2027c561b0f8dca740c2f8daae4d31ed57f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page