跳转至

快速开始指南

5分钟上手 StockDataMaster


环境要求

  • Python 3.7+
  • Windows / Linux / macOS
  • 推荐使用 Anaconda Python 3.9

安装步骤

1. 安装核心依赖

pip install pandas numpy mootdx baostock==0.9.1 tushare

2. 安装 xtquant(可选)

如需实时Tick数据,需要安装QMT客户端: - 下载地址: https://dict.thinktrader.net/ - 安装并运行 miniQMT 客户端

3. 配置 Tushare Token

推荐通过代码库根目录 .env 文件提供真实 token,避免把凭据写入仓库:

copy .env.example .env

然后编辑 .env

TUSHARE_TOKEN=你的Tushare Token

也可以参考 config.example.json 调整本地配置。系统环境变量优先级高于 .env,适合 CI 或临时覆盖:

{
  "data_sources": {
    "tushare": {
      "enabled": true,
      "token": "${TUSHARE_TOKEN}"
    }
  }
}

获取Token: 访问 https://tushare.pro/ 注册并获取。config.json 中保留的值是已吊销 demo key,只用于展示配置结构。


第一个示例

基本使用

from StockDataMaster import StockDataMaster

# 初始化(单例模式)
master = StockDataMaster()

# 获取日K线数据
df = master.get_kline('600519', freq='d', count=120)
print(df.head())

# 关闭释放资源
master.close()

查看数据来源

df = master.get_kline('600519', count=120)
source = df.attrs.get('source', 'unknown')

if source == 'cache':
    print("数据来自缓存")
else:
    print(f"数据来自数据源: {source}")

获取分钟K线

# 获取最近48条5分钟K线(约1个交易日)
df_5m = master.get_kline('600519', freq='5m', count=48)
print(df_5m.tail())

获取实时行情

# 获取实时tick数据(需要xtquant)
tick = master.get_tick('600519')
print(f"最新价: {tick['last']}")
print(f"涨跌幅: {tick['change_pct']}%")

常用操作

查看健康状态

status = master.get_health_status()
print("当前活跃数据源:")
print(status['active_sources'])

查看缓存统计

stats = master.get_cache_statistics()
print(f"缓存股票数: {stats['stock_count']}")
print(f"缓存记录数: {stats['total_records']}")
print(f"数据库大小: {stats['db_size_mb']} MB")

清理缓存

# 保留最近120天的数据
master.cleanup_cache(days=120)

强制切换数据源

# 强制使用baostock作为K线数据源
master.force_switch_source('kline', 'baostock')

交互式测试GUI

推荐使用图形化测试工具:

cd test
python interactive_test_gui.py

功能: - K线数据测试 - 实时数据测试 - 数据源状态监控 - 缓存管理 - 今日走势图


下一步


Happy Trading! 📈