# 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 的智能股票分析和交易系统** [![Python](https://img.shields.io/badge/Python-3.10+-blue.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![PaddleTS](https://img.shields.io/badge/PaddleTS-1.1.0+-orange.svg)](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