Files
stock-tool/README.md
root f246f06cb1 Initial commit: 股票数据分析工具
- Go后端服务
- 内置Web界面
- SQLite数据库
- 股票列表展示
- K线图绘制
- 技术指标计算
- 基本面数据展示
2026-02-19 03:07:02 +08:00

229 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📈 股票数据分析工具
一个基于 Go + SQLite + 免费API的股票数据分析工具内置网页界面。
## 🚀 快速开始
### 环境要求
- Go 1.21+
- SQLite3
### 安装依赖
```bash
cd stock-tool
go mod download
```
### 运行程序
```bash
go run main.go
```
### 访问网页
打开浏览器访问: http://localhost:8080
## 📊 功能特性
### 1. 股票列表展示
- 展示所有已添加的股票
- 实时价格、涨跌幅
- 基本面指标市值、PE、ROE、负债率
### 2. 股票搜索
- 支持按股票代码搜索
- 支持按公司名称搜索
### 3. 股票详情
- **K线图**展示100天历史走势
- **技术指标**RSI、MACD、均线系统
- **基本面数据**收入、利润、ROE等
### 4. 数据刷新
- 一键刷新股票数据
- 自动更新数据库
## 🗄️ 数据库结构
### stocks 表
```sql
CREATE TABLE stocks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
symbol TEXT UNIQUE,
name TEXT,
current_price REAL,
change REAL,
change_percent REAL,
market_cap TEXT,
pe_ratio REAL,
roe REAL,
debt_ratio REAL,
update_time TEXT
);
```
### klines 表
```sql
CREATE TABLE klines (
id INTEGER PRIMARY KEY AUTOINCREMENT,
symbol TEXT,
date TEXT,
open REAL,
high REAL,
low REAL,
close REAL,
volume INTEGER,
FOREIGN KEY(symbol) REFERENCES stocks(symbol)
);
```
### indicators 表
```sql
CREATE TABLE indicators (
id INTEGER PRIMARY KEY AUTOINCREMENT,
symbol TEXT,
date TEXT,
rsi REAL,
macd REAL,
macd_signal REAL,
ma5 REAL,
ma10 REAL,
ma20 REAL,
update_time TEXT,
FOREIGN KEY(symbol) REFERENCES stocks(symbol)
);
```
### financials 表
```sql
CREATE TABLE financials (
id INTEGER PRIMARY KEY AUTOINCREMENT,
symbol TEXT UNIQUE,
revenue REAL,
profit REAL,
roe REAL,
debt_to_equity REAL,
update_time TEXT
);
```
## 📡 API接口
### 获取股票列表
```
GET /api/stocks
```
### 获取股票详情
```
GET /api/stock/:symbol
```
### 获取K线数据
```
GET /api/stock/:symbol/kline
```
### 获取技术指标
```
GET /api/stock/:symbol/indicators
```
### 获取财务数据
```
GET /api/stock/:symbol/financials
```
### 搜索股票
```
GET /api/search?q=关键词
```
### 刷新股票数据
```
GET /api/refresh/:symbol
```
## 🔌 支持的API
### 1. Yahoo Finance (yfinance)
- **免费额度**: 无限制
- **数据**: 历史K线、实时报价、财务报表
- **使用**: 直接通过yfinance库获取
### 2. Alpha Vantage
- **免费额度**: 25次请求/天
- **数据**: 技术指标、实时数据
- **使用**: 补充技术分析数据
### 3. Finnhub
- **免费额度**: 60次请求/月
- **数据**: 基本面、新闻、经济指标
- **使用**: 财报数据分析
## 🎯 选股策略示例
### 技术分析选股
```python
# 筛选条件示例
1. MACD金叉短线上穿长线
2. RSI < 30超卖
3. MA5 > MA10 > MA20多头排列
4. 换手率 > 5%
```
### 基本面选股
```python
# 筛选条件示例
1. ROE > 15%
2. 负债率 < 60%
3. PE < 30
4. 利润增长率 > 10%
```
## 📝 使用建议
### 初学者
1. 先使用模拟数据体验界面
2. 学习如何读取和展示数据
3. 理解基本的API调用
### 进阶用户
1. 集成真实的yfinance API
2. 添加更多技术指标计算
3. 实现选股策略自动化
### 专业用户
1. 接入真实的历史数据源
2. 添加回测功能
3. 实现实盘交易接口
## ⚠️ 风险提示
> **股市有风险,投资需谨慎**
>
> 本工具仅用于技术学习和数据分析,不构成任何投资建议。
> 所有数据均为模拟数据实际使用时请接入真实API源。
## 🛠️ 开发计划
- [ ] 集成真实的yfinance API
- [ ] 添加更多技术指标布林带、KDJ等
- [ ] 实现选股策略自动化
- [ ] 添加回测功能
- [ ] 支持更多数据源
- [ ] 移动端适配
- [ ] 深色/浅色主题切换
## 📄 许可证
MIT License
## 🤝 贡献
欢迎提交 Issue 和 Pull Request
---
**开发者**: Geliebte
**更新时间**: 2026-02-18