# stock_trading_tool
**Repository Path**: swner_admin/stock_trading_tool
## Basic Information
- **Project Name**: stock_trading_tool
- **Description**: 基于 Python 和 PaddleTS 的智能股票分析和交易系统
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-28
- **Last Updated**: 2025-12-31
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 股票交易工具 Stock Trading Tool
**基于 Python 和 PaddleTS 的智能股票分析和交易系统**
[](https://www.python.org/)
[](LICENSE)
[](https://github.com/PaddlePaddle/PaddleTS)
[快速开始](#快速开始) • [功能特性](#功能特性) • [文档](#文档) • [示例](#示例)
---
## 📋 目录
- [项目简介](#项目简介)
- [核心功能](#核心功能)
- [项目结构](#项目结构)
- [快速开始](#快速开始)
- [使用指南](#使用指南)
- [文档](#文档)
- [贡献指南](#贡献指南)
- [许可证](#许可证)
---
## 📖 项目简介
这是一个功能完整的股票量化交易工具,集成了数据获取、技术分析、AI预测和策略回测等功能。适合:
- 量化交易初学者学习
- 策略开发和回测
- 股票技术分析
- AI模型研究
### 主要特点
✨ **易于使用** - 提供 Web 界面和命令行两种方式
🎯 **功能完整** - 覆盖从数据获取到策略回测的完整流程
🤖 **AI驱动** - 基于 PaddleTS 深度学习框架进行价格预测
📊 **丰富指标** - 支持 MA、MACD、RSI、KDJ、布林带等多种技术指标
🔄 **策略回测** - 完整的回测引擎,详细的性能分析
📈 **可视化** - 基于 Streamlit 的现代化 Web 界面
---
## 🚀 核心功能
### 1. 数据获取模块
- 接入 Tushare 数据源
- 支持 A股、港股、美股数据
- 自动处理复权因子
- 本地缓存机制
### 2. 技术指标分析
- **趋势指标**: MA、EMA
- **动量指标**: MACD、RSI、KDJ
- **波动指标**: 布林带、ATR
- **成交量指标**: OBV
### 3. AI 价格预测
- 基于 PaddleTS 时间序列框架
- 支持 LSTM、MLP、RNN 模型
- 自动化超参数优化
- 多步预测功能
### 4. 交易策略
- 双均线策略
- MACD 策略
- RSI 策略
- 布林带策略
- 支持自定义策略
### 5. 回测引擎
- 完整的回测系统
- 多维度性能指标
- 交易记录详情
- 资金曲线可视化
### 6. Web 可视化
- 交互式 K线图
- 技术指标图表
- 实时数据更新
- 策略回测结果展示
---
## 📁 项目结构
```
stock_trading_tool/
│
├── src/ # 核心源代码
│ ├── data_loader.py # 数据加载模块
│ ├── indicators.py # 技术指标计算
│ ├── predictor.py # AI 价格预测
│ ├── strategy.py # 交易策略和回测
│ └── README.md # 模块详细说明
│
├── scripts/ # 脚本工具集
│ ├── data_download/ # 数据下载脚本
│ ├── automl/ # 自动化机器学习
│ ├── utils/ # 工具脚本
│ └── deploy/ # 部署脚本
│
├── examples/ # 使用示例
│ ├── basic_usage.py # 基础使用示例
│ └── README.md # 示例说明
│
├── tests/ # 测试文件
│ └── README.md # 测试说明
│
├── docs/ # 项目文档
│ └── README.md # 文档索引
│
├── data/ # 数据目录
├── models/ # 模型存储
│
├── app.py # Streamlit Web 应用
├── config.example.py # 配置文件模板
│
├── README.md # 项目主文档(本文件)
├── QUICKSTART.md # 快速开始指南
├── INSTALL.md # 详细安装说明
├── CONTRIBUTING.md # 贡献指南
├── LICENSE # 许可证
│
├── requirements.txt # Python 依赖
└── .gitignore # Git 忽略规则
```
**目录说明**:
- `src/` - 核心业务逻辑模块
- `scripts/` - 各类辅助脚本
- `examples/` - 代码示例和教程
- `tests/` - 单元测试和集成测试
- `docs/` - 详细文档和研究报告
---
## ⚡ 快速开始
### 1. 环境要求
- Python 3.10+
- pip 包管理器
- 8GB+ RAM (推荐)
### 2. 安装
```bash
# 克隆项目
git clone https://gitee.com/swner_admin/stock_trading_tool.git
cd stock_trading_tool
# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
```
### 3. 配置
```bash
# 复制配置模板
cp config.example.py config.py
# 编辑配置文件,填入您的 Tushare Token
vim config.py
```
获取 Tushare Token: https://tushare.pro/
### 4. 运行
**方式 1: Web 界面**
```bash
streamlit run app.py
```
浏览器打开 http://localhost:8501
**方式 2: 命令行**
```bash
python examples/basic_usage.py
```
**方式 3: Python 脚本**
```python
from src.data_loader import StockDataLoader
from src.indicators import TechnicalIndicators
# 加载数据
loader = StockDataLoader()
df = loader.get_stock_data("000001.SZ", start_date="20230101")
# 计算指标
indicators = TechnicalIndicators(df)
df = indicators.add_all_indicators()
print(df.tail())
```
更多详情请查看 [快速开始指南](QUICKSTART.md)
---
## 📚 使用指南
### 数据加载
```python
from src.data_loader import StockDataLoader
loader = StockDataLoader()
# 获取平安银行数据
df = loader.get_stock_data("000001.SZ", start_date="20230101")
```
### 计算技术指标
```python
from src.indicators import TechnicalIndicators
indicators = TechnicalIndicators(df)
df = indicators.add_all_indicators()
# 或计算单个指标
rsi = indicators.calculate_rsi(period=14)
macd = indicators.calculate_macd()
```
### 策略回测
```python
from src.strategy import MAStrategy, BacktestEngine
# 创建双均线策略
strategy = MAStrategy(short_window=5, long_window=20)
# 运行回测
engine = BacktestEngine(initial_capital=100000)
results = engine.run_backtest(df, strategy)
print(f"收益率: {results['total_return']:.2%}")
print(f"最大回撤: {results['max_drawdown']:.2%}")
```
### 价格预测
```python
from src.predictor import StockPredictor
predictor = StockPredictor()
predictor.train(df, model_type='lstm', epochs=100)
predictions = predictor.predict(days=30)
```
---
## 📖 文档
- [安装指南](INSTALL.md) - 详细的安装步骤和环境配置
- [快速开始](QUICKSTART.md) - 5分钟上手教程
- [API 文档](src/README.md) - 核心模块 API 说明
- [示例代码](examples/) - 各种使用示例
- [贡献指南](CONTRIBUTING.md) - 如何参与项目开发
- [项目文档](docs/) - 研究报告和技术文档
---
## 🛠️ 高级功能
### AutoML 自动化训练
```bash
# 运行自动化机器学习
python scripts/automl/automl_simplified.py
# 并行训练多个模型
python scripts/automl/automl_intelligent_parallel.py
# 多变量时间序列
python scripts/automl/automl_multivariate.py
```
### 批量下载数据
```bash
# 下载所有A股数据
python scripts/data_download/download_all_stocks.py
# 下载10年历史数据
python scripts/data_download/download_10years_data.py
```
### 部署到服务器
```bash
bash scripts/deploy/deploy_to_new_server.sh user@server_ip
```
更多脚本说明请查看 [scripts/README.md](scripts/README.md)
---
## 🤝 贡献指南
欢迎贡献代码、报告 Bug、提出建议!
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)
3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)
4. 推送到分支 (`git push origin feature/AmazingFeature`)
5. 创建 Pull Request
详见 [贡献指南](CONTRIBUTING.md)
---
## ⚠️ 免责声明
**重要提示:**
- 本工具仅供学习和研究使用
- 股票投资有风险,入市需谨慎
- 预测结果不构成任何投资建议
- 使用本工具进行的任何投资决策,风险自负
- 作者不对使用本工具造成的任何损失负责
---
## 📜 许可证
本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情
---
## 📞 联系方式
- 提交 Issue: https://gitee.com/swner_admin/stock_trading_tool/issues
- Pull Request: https://gitee.com/swner_admin/stock_trading_tool/pulls
---
## 🌟 致谢
- [PaddleTS](https://github.com/PaddlePaddle/PaddleTS) - 时间序列预测框架
- [Tushare](https://tushare.pro/) - 金融数据接口
- [Streamlit](https://streamlit.io/) - Web 应用框架
- 所有贡献者
---
**如果这个项目对您有帮助,请给个 ⭐ Star!**
Made with ❤️ by Stock Trading Tool Contributors