缘起
作为一名需要频繁关注市场动态的开发者,我每天都要打开好几个网站:看A股大盘、看美股走势、看黄金价格、算交易手续费…一来二去,半个上午就过去了。
更烦的是,这些数据散落在各处,想要一个"全局视角"还得自己手动拼凑。我想:为什么不写个工具,把这些数据聚合到一起呢?
于是就有了 china-stock-toolkit — 一个零依赖的全球市场实时仪表盘。
核心功能
1. 🌍 全球指数一览
一个页面看遍全球:
- A股:上证指数、深证成指、创业板指、科创50、北证50
- 港股:恒生指数
- 美股:纳斯达克、道琼斯、标普500(需要代理)
- 亚太:日经225、韩国KOSPI(需要代理)
- 大宗商品:黄金、白银、原油
- 外汇:美元/人民币
2. 🔄 多源聚合 + 交叉验证
这是我最骄傲的设计。
问题:免费API数据可能延迟、可能出错
方案:内置新浪、腾讯、东方财富三个数据源,自动聚合 + 交叉验证
python复制
# 示例:自动选择最可靠的数据源
{
"index": "上证指数",
"price": 3250.68,
"change": "+1.23%",
"source": "sina", # 标记数据来源
"cross_validated": true # 多源验证通过
}
扩展性:预留接口,你可以接入自己的付费API,享受更精准的数据。
3. ⭐ 自选股管理
添加你关注的股票,实时查看:
- 当前价格、涨跌幅
- 成交量、成交额
- 均线指标(MA5/MA10/MA20)
4. 💰 交易税费计算器
卖出前先算算要交多少钱:
- 手续费(可自定义费率)
- 印花税(千分之一)
- 过户费(万分之二)
- 净利润计算
使用场景:点击某只自选股,自动代入当前价格,一键计算"如果现在卖,能赚多少"。
技术亮点
零外部依赖
- 纯 Python 标准库实现
- 不需要安装任何第三方包
- 开箱即用,
python stock_toolkit.py即可运行
可扩展架构
code复制
stock_toolkit/
├── core/
│ ├── data_fetcher.py # 数据获取层
│ ├── calculator.py # 计算引擎
│ └── validator.py # 交叉验证
├── sources/
│ ├── sina.py # 新浪数据源
│ ├── tencent.py # 腾讯数据源
│ └── eastmoney.py # 东方财富数据源
└── dashboard.html # 可视化面板
HTML 仪表盘
- 暗色主题,护眼舒适
- 红涨绿跌,符合A股习惯
- 零CDN依赖,本地打开即用
- 响应式设计,手机也能用
实战演示
bash复制
# 查看A股大盘
python stock_toolkit.py index
# 输出
上证指数 3250.68 +1.23%
深证成指 10856.32 +0.89%
创业板指 2156.78 +1.56%
科创50 985.23 +2.01%
北证50 1256.89 +0.67%
# 计算交易费用
python stock_toolkit.py calc --buy 1800 --sell 1850 --shares 100
# 输出
买入金额:180,000 元
卖出金额:185,000 元
手续费:55.5 元
印花税:92.5 元
过户费:3.7 元
净利润:+4,82.3 元
踩坑经验
1. 免费API的国际市场数据不稳定
新浪的国际市场数据经常被墙,腾讯的美股数据不全。解决方案:
- A股数据优先用新浪/腾讯
- 国际市场数据用腾讯(黄金、白银、原油可用)
- 预留扩展接口,用户可接入自己的数据源
2. 指数数据在非交易时段为空
这是正常现象!A股交易时间:9:30-11:30, 13:00-15:00。解决方案:
- 显示最后收盘价
- 标注数据更新时间
3. HTML仪表盘无法在file协议下加载
浏览器安全限制,本地HTML文件无法发起HTTP请求。解决方案:
- 使用
python -m http.server启动本地服务 - 或直接运行 Python 脚本查看数据
免责声明
本工具仅供学习和技术研究使用,不构成任何投资建议、交易信号或财务指导。
- 免费数据源可能存在延迟(通常15-30分钟)
- 尽管采用多源交叉验证,仍无法保证数据绝对准确
- 投资有风险,决策需谨慎
开源地址
GitHub: github.com/darbling/cl…
欢迎 Star ⭐、提 Issue、PR!