Skip to content

About

一个国内股市查询、管理持仓的skill。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

cn-stock-toolbox

A-share query tool based on baostock data source, providing portfolio management, market data query and other functions.

功能特性

  • ✅ 持仓管理: 基于SQLite的持仓记录和实时盈亏计算
  • ✅ 股票查询: 支持沪深北三大交易所+ETF的名称/代码互查
  • ✅ 基本信息: 查询股票详细信息
  • ✅ 交易日查询: 查询A股交易日历
  • ✅ K线查询: A股日K/周K/月K数据查询
  • ✅ 指数查询: 主要指数信息查询
  • ✅ 行业查询: 股票行业分类查询
  • ✅ 智能缓存: 每日自动刷新股票基本信息
  • ✅ 灵活搜索: 多条件筛选股票

快速开始

前置条件

  • Python 3.9+
  • uv (用于环境管理)

安装

# 1. 克隆或进入项目目录
cd cn-stock-toolbox

# 2. 安装依赖
uv sync

# 3. (可选,人类用户手动安装) 安装shell alias,方便使用
# chmod +x install.sh
# ./install.sh
# source ~/.bashrc  # 或 ~/.zshrc

使用

# 方式1: 使用uv run(无需安装alias)
uv run scripts/cnstk.py --help

# 方式2: 使用alias(已安装install.sh)
cnstk --help

主要命令

1. 刷新股票基本信息

cnstk refresh
  • refresh 只刷新股票基础信息,不刷新行业字段
  • 首次使用或距离上次刷新超过 1 个月时,自动刷新会执行与 refresh 一致的全量基础信息刷新

2. 刷新股票行业信息

cnstk refresh-industries
  • industry <code> 会优先读取本地缓存;如果缓存中没有行业信息,会按需查询并写回 SQLite
  • refresh-industries 会全量刷新数据库中所有股票的行业信息,执行时间可能较长

3. 搜索股票

# 按名称搜索
cnstk search --name 科技

# 按行业搜索
cnstk search --industry 半导体

# 组合搜索
cnstk search --name 银行 --industry 金融 --market sh

4. 持仓管理

# 添加持仓
cnstk portfolio add sh.600000 100 10.50

# 查看持仓
cnstk portfolio list

# 查看盈亏
cnstk portfolio profit

5. 股票查询

# 自动识别代码或名称查询
cnstk stock query 浦发银行
cnstk stock query sh.600000

# 名称查代码
cnstk stock name-to-code 贵州茅台

# 代码查名称
cnstk stock code-to-name sh.600519

# 基本信息(也支持名称)
cnstk stock info sh.600519
cnstk stock info 贵州茅台
  • stock query 会自动识别输入是股票代码还是名称
  • 名称不完整或有多个候选时,会打印候选股票列表
  • 打印股票基本信息时会附带最近可用交易日行情;如果当天不是交易日,会自动回退到上个交易日并注明

6. 行情查询

# K线(默认最近60天)
cnstk kline sh.600000

# 指数
cnstk index sh.000001

# 交易日
cnstk trading-day --date 2024-03-08

# 行业(按需缓存)
cnstk industry sh.600000

数据源

本项目使用 baostock 提供的免费A股数据接口。

作者

许可证

MIT License

About

一个国内股市查询、管理持仓的skill。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages