# StockAI **Repository Path**: open2ai/StockAI ## Basic Information - **Project Name**: StockAI - **Description**: 股票分析工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2026-01-20 - **Last Updated**: 2026-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # StockAI - 股票策略回测系统 StockAI 是一个基于 Python 和 Streamlit 的股票策略回测系统,支持多种技术指标策略,帮助投资者测试和优化交易策略。 ## 📋 功能特点 ### 🎯 策略支持 - **MACD 策略**:基于移动平均收敛散度指标 - **SMA 策略**:基于简单移动平均线 - **可扩展架构**:方便添加新的交易策略 ### ⚙️ 回测功能 - 历史数据获取和处理 - 策略参数配置 - 详细的交易记录 - 收益率和风险分析 - 交易信号可视化 ### 📊 结果展示 - 初始资金和最终价值 - 总收益和收益率 - 交易次数统计 - 详细的交易信号 - 完整的交易记录 ### 💻 用户界面 - 基于 Streamlit 的交互式 UI - 直观的参数配置 - 实时的回测结果展示 - 清晰的交易记录表格 ## 🛠️ 技术栈 - **Python 3.10+**:核心开发语言 - **Streamlit**:Web 应用框架 - **Pandas**:数据处理和分析 - **NumPy**:数值计算 - **TA-Lib**:技术指标计算 - **AkShare**:金融数据获取 ## 📦 安装步骤 ### 1. 克隆项目 ```bash git clone cd StockAI ``` ### 2. 安装依赖 ```bash pip install -r requirements.txt ``` ### 3. 运行系统 ```bash streamlit run ui/app.py ``` ### 4. 访问系统 在浏览器中打开:http://localhost:8501 ## 📖 使用指南 ### 1. 选择策略 - 在左侧菜单栏选择要测试的策略(MACD 或 SMA) ### 2. 配置参数 - **MACD 策略**: - 快线周期(默认:12) - 慢线周期(默认:26) - 信号线周期(默认:9) - **SMA 策略**: - 移动平均周期(默认:20) ### 3. 选择股票和时间范围 - 输入股票代码(例如:600519 贵州茅台) - 选择开始日期和结束日期 - 输入初始资金(默认:100000 元) ### 4. 运行回测 - 点击「运行回测」按钮 - 等待回测完成,查看结果 ### 5. 分析结果 - 查看收益率和总收益 - 分析交易信号和交易记录 - 根据结果调整策略参数 ## 📁 项目结构 ``` StockAI/ ├── backtest/ # 回测引擎 │ ├── backtest_engine.py # 核心回测逻辑 │ ├── parameter_optimizer.py # 参数优化 │ └── signal_summarizer.py # 信号总结 ├── data/ # 数据处理 │ └── data_fetcher.py # 数据获取 ├── reports/ # 报告生成 │ └── report_generator.py # 报告生成器 ├── strategies/ # 策略实现 │ ├── base_strategy.py # 策略基类 │ └── strategies.py # 具体策略实现 ├── ui/ # 用户界面 │ └── app.py # Streamlit 应用 ├── main.py # 主程序入口 ├── requirements.txt # 依赖列表 ├── test_macd_strategy.py # MACD 策略测试 ├── test_sma_strategy.py # SMA 策略测试 └── README.md # 项目说明 ``` ## 🚀 快速开始 ### 使用 Python 脚本运行测试 #### MACD 策略测试 ```bash python test_macd_strategy.py ``` #### SMA 策略测试 ```bash python test_sma_strategy.py ``` ### 主程序入口 ```bash python main.py ``` ## 📊 策略示例 ### MACD 策略 - **买入信号**:MACD 线金叉信号线 - **卖出信号**:MACD 线死叉信号线 ### SMA 策略 - **买入信号**:价格突破 SMA 线 - **卖出信号**:价格跌破 SMA 线 ## 📈 测试结果示例 ### MACD 策略(默认参数) - 初始资金:¥100,000.00 - 最终价值:¥95,000.00 - 总收益:¥-5,000.00 - 收益率:-5.00% - 交易次数:20次 ### SMA 策略(优化参数) - 初始资金:¥100,000.00 - 最终价值:¥102,500.00 - 总收益:¥2,500.00 - 收益率:2.50% - 交易次数:15次 ## 🔧 扩展开发 ### 添加新策略 1. 在 `strategies/strategies.py` 中创建新的策略类,继承 `BaseStrategy` 2. 实现 `calculate_indicators()` 和 `generate_signals()` 方法 3. 在 UI 中添加新策略的参数配置 4. 更新策略选择器 ### 数据来源扩展 - 在 `data/data_fetcher.py` 中添加新的数据来源 - 支持多种金融数据源 ## 📝 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 🤝 联系方式 - 项目链接:[https://github.com/yourusername/StockAI](https://github.com/yourusername/StockAI) - 问题反馈:[Issues](https://github.com/yourusername/StockAI/issues) ## 📚 参考资料 - [Streamlit 文档](https://docs.streamlit.io/) - [Pandas 文档](https://pandas.pydata.org/docs/) - [TA-Lib 文档](https://mrjbq7.github.io/ta-lib/) - [AkShare 文档](https://akshare.akfamily.xyz/) ## 📈 未来计划 - [ ] 添加更多技术指标策略(RSI、KDJ 等) - [ ] 支持多策略组合 - [ ] 添加风险指标(最大回撤、夏普比率等) - [ ] 支持股票池回测 - [ ] 添加可视化图表 - [ ] 支持实盘交易接口 --- **StockAI - 让交易策略更智能** 🚀