# 📈 股票数据分析工具 一个基于 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