# aitrade **Repository Path**: liangguoru/aitrade ## Basic Information - **Project Name**: aitrade - **Description**: 个人用于炒股炒币 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-01 - **Last Updated**: 2026-01-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI Trading System - 智能交易分析系统 一个基于 Python 的智能股票和加密货币技术分析系统,支持实时数据获取、技术指标分析、新闻分析和 AI 智能解读。 ## 📋 目录 - [功能特性](#功能特性) - [安装和配置](#安装和配置) - [使用方式](#使用方式) - [股票分析 (stock.py)](#股票分析-stockpy) - [定时任务系统 (main.py)](#定时任务系统-mainpy) - [配置文件说明](#配置文件说明) - [依赖库](#依赖库) - [注意事项](#注意事项) ## 🚀 功能特性 ### 股票分析功能 - **技术指标分析**:MACD、KDJ、布林线、九转序列、均线分析 - **支撑位和压力位**:5日和20日均线支撑压力位分析 - **批量分析**:支持批量分析多只股票 - **HTML报告生成**:生成详细的技术分析报告 - **新闻分析**:获取股票相关新闻并进行AI分析 - **邮件通知**:支持将分析结果通过邮件发送 ### 加密货币分析功能 - **实时数据获取**:从 OKX API 获取加密货币K线数据 - **技术指标计算**:MACD、KDJ 指标分析 - **智能邮件通知**:仅在检测到重要信号时发送邮件 ### AI 分析功能 - **DeepSeek 集成**:使用 DeepSeek API 进行股票新闻智能分析 - **提示词工程**:自动生成结构化的 AI 分析提示词 ## 📦 安装和配置 ### 1. 安装依赖 ```bash pip install tushare akshare pandas numpy matplotlib mplfinance requests ``` ### 2. 配置 Tushare Token 在代码中设置你的 Tushare Token(用于获取A股数据): ```python ts.set_token('your_tushare_token') ts_pro = ts.pro_api() ``` ### 3. 配置邮件服务 编辑 `mailsender.py`,配置你的邮件服务器信息: ```python smtp_server = 'smtp.163.com' # 你的SMTP服务器 smtp_port = 465 sender_email = 'your_email@163.com' # 发件人邮箱 sender_password = 'your_password' # 邮箱授权码 recipient_email = 'recipient@qq.com' # 收件人邮箱 ``` ### 4. 配置 DeepSeek API 在 `stock.py` 中的 `call_deepseek_api()` 函数中配置你的 API 密钥: ```python api_key = "your_deepseek_api_key" ``` ### 5. 配置文件 - `config_watch.ini`: 监控的股票列表 - `config_all.ini`: 所有股票列表(用于批量分析) - `main_config_watch.ini`: 监控的主要指数列表 - `main_config_all.ini`: 所有主要指数列表 配置文件格式:每行一个股票代码,例如: ``` 000100 600570 601888 ``` ## 📖 使用方式 ### 股票分析 (stock.py) `stock.py` 是系统的核心股票分析模块,提供多种分析功能和调用方式。 #### 📋 快速参考表 | 命令 | 功能 | 输出 | 邮件 | |------|------|------|------| | `a1 <代码>` | 单个股票详细技术分析 | HTML文件 | ❌ | | `a11 <代码>` | 单个股票详细技术分析 | HTML文件 | ✅ | | `news <代码>` | 获取股票最新新闻 | 控制台打印 | ❌ | | `newsai <代码>` | 获取新闻并生成AI提示词 | 控制台打印 | ❌ | | `newsai1 <代码>` | 获取新闻AI分析 | 邮件 | ✅ | | `all` | 批量分析所有股票 | HTML文件 | ❌ | | `all1` | 批量分析所有股票 | HTML文件 | ✅ | | `<代码>` | 兼容模式(同a1) | HTML文件 | ❌ | --- #### 1. 单个股票详细技术分析 **命令:** `python stock.py a1 <股票代码>` **功能:** 生成包含完整技术指标分析的详细 HTML 报告 **技术指标包括:** - MACD 指标分析(含图表) - KDJ 指标分析(含图表) - 布林线指标分析(含图表) - 九转序列分析 - 5日和20日均线分析 - 支撑位和压力位分析 **示例:** ```bash python stock.py a1 000100 ``` **输出文件:** `stock_analysis_000100_20241228_120000.html` --- #### 2. 单个股票分析并发送邮件 **命令:** `python stock.py a11 <股票代码>` **功能:** 生成详细技术分析报告并通过邮件发送 **特点:** - 包含所有技术指标和图表 - 自动发送到配置的邮箱 - 邮件格式为 HTML,支持图表显示 **示例:** ```bash python stock.py a11 000100 ``` --- #### 3. 获取股票新闻 **命令:** `python stock.py news <股票代码>` **功能:** 获取股票相关的最新10条新闻并在控制台打印 **输出内容:** - 新闻标题 - 发布时间 - 内容摘要 - 新闻链接 **示例:** ```bash python stock.py news 000100 ``` --- #### 4. 获取股票新闻并生成AI提示词 **命令:** `python stock.py newsai <股票代码>` **功能:** 获取新闻并格式化为结构化的 AI 提示词 **特点:** - 自动获取股票名称和基本信息 - 提取最新10条新闻的关键信息 - 生成符合提示词工程规范的格式 - 可直接复制给 AI 大模型进行分析 **提示词包含:** - 股票基本信息 - 新闻列表(标题、时间、内容摘要) - 分析要求(影响评估、关键信息、投资建议等) **示例:** ```bash python stock.py newsai 000100 ``` --- #### 5. 获取股票新闻AI分析并发送邮件 **命令:** `python stock.py newsai1 <股票代码>` **功能:** 获取新闻、调用 DeepSeek API 进行智能分析,并将结果通过邮件发送 **工作流程:** 1. 获取股票基本信息 2. 获取最新10条新闻 3. 生成结构化提示词 4. 调用 DeepSeek API 分析 5. 格式化分析结果为 HTML 6. 发送邮件 **AI 分析内容:** - 新闻影响评估(正面/负面/中性) - 关键信息提取 - 投资建议(短期/中期) - 风险提示 - 市场情绪分析 **示例:** ```bash python stock.py newsai1 000100 ``` **输出:** - 邮件:完整的 AI 分析报告 - 控制台:分析结果预览(前500字符) --- #### 6. 批量分析所有股票 **命令:** `python stock.py all` **功能:** 分析 `config_all.ini` 中配置的所有股票,生成简洁的批量分析报告 **数据来源:** `config_all.ini` 配置文件 **报告内容:** - 股票代码和名称 - 当前价格 - MA5 支撑位/压力位 - MA20 支撑位/压力位 - KDJ 指标(K、D、J值)和信号 - MACD 指标和信号 - **机会提示**(绿色标识): - 接近支撑位(2%以内) - KDJ 超卖区域 - KDJ 金叉信号 - MACD 买入信号 - **风险提示**(红色标识): - 接近压力位(2%以内) - KDJ 超买区域 - KDJ 死叉信号 - MACD 卖出信号 **输出文件:** `batch_stock_analysis_20241228_120000.html` **示例:** ```bash python stock.py all ``` --- #### 7. 批量分析并发送邮件 **命令:** `python stock.py all1` **功能:** 批量分析所有股票并通过邮件发送报告 **特点:** - 分析 `config_all.ini` 中的所有股票 - 生成简洁的表格形式报告 - 自动发送到配置的邮箱 - 包含机会和风险提示 **示例:** ```bash python stock.py all1 ``` --- #### 8. 兼容模式 **命令:** `python stock.py <股票代码>` **功能:** 直接使用股票代码作为参数,效果与 `a1` 命令相同 **说明:** 为了兼容旧版本的使用方式,可以直接传入股票代码 **示例:** ```bash python stock.py 000100 ``` **等价于:** ```bash python stock.py a1 000100 ``` --- #### 📝 使用提示 1. **股票代码格式**:使用6位数字代码,如 `000100`、`600570` 2. **配置文件**:批量分析功能依赖 `config_all.ini` 文件 3. **邮件配置**:需要发送邮件的功能需先配置 `mailsender.py` 4. **API 配置**:`newsai1` 命令需要配置 DeepSeek API 密钥 5. **网络要求**:获取新闻功能需要网络连接 ### 定时任务系统 (main.py) `main.py` 是一个多线程定时任务系统,用于: - 实时获取A股数据 - 实时获取加密货币数据 - 定时执行技术分析并发送邮件 #### 启动方式 **方式1:直接运行** ```bash python main.py ``` **方式2:后台运行(推荐)** ```bash bash start.sh ``` 或者使用 nohup: ```bash nohup python3 main.py > output.log 2>&1 & ``` #### 功能说明 1. **A股数据获取线程**:每10秒获取一次监控列表中的股票数据 2. **加密货币数据获取线程**:每10秒获取一次加密货币数据 3. **定时任务调度线程**: - 每15分钟:执行15分钟周期的加密货币技术分析 - 每60分钟:执行1小时周期的加密货币技术分析 - 仅在检测到重要信号时发送邮件 #### 邮件发送条件 系统会智能判断是否发送邮件,仅在以下情况发送: - ✅ 成功获取到至少一个币种的数据 - ✅ 没有网络错误或数据获取失败 - ✅ 检测到重要的技术分析信号(MACD增强/减弱、金叉/死叉等) ## 📁 配置文件说明 ### config_watch.ini 监控的股票列表,用于实时数据获取。 ### config_all.ini 所有股票列表,用于批量分析功能。 ### main_config_watch.ini 监控的主要指数列表。 ### main_config_all.ini 所有主要指数列表。 **配置格式:** ``` 000100 600570 601888 002594 ``` 每行一个股票代码,空行会被忽略。 ## 📚 依赖库 - **tushare**: A股数据获取 - **akshare**: 股票和新闻数据获取 - **pandas**: 数据处理 - **numpy**: 数值计算 - **matplotlib**: 图表生成 - **mplfinance**: 金融图表绘制 - **requests**: HTTP 请求(用于 DeepSeek API) ## ⚠️ 注意事项 1. **网络环境**:在国内使用可能需要配置代理才能访问 OKX API 获取加密货币数据 2. **API 限制**:注意 Tushare 和 DeepSeek API 的调用频率限制 3. **数据准确性**:本系统仅供参考,不构成投资建议 4. **风险提示**:投资有风险,入市需谨慎 5. **邮件配置**:确保邮件服务器配置正确,使用授权码而非登录密码 6. **文件权限**:确保程序有写入权限,用于生成 HTML 报告 ## 📊 报告示例 ### 单个股票详细报告包含: - MACD 指标分析(含图表) - KDJ 指标分析(含图表) - 布林线指标分析(含图表) - 九转序列分析 - 均线分析(MA5、MA20) - 支撑位和压力位分析 ### 批量分析报告包含: - 所有股票的简要技术指标 - 机会和风险提示 - 表格形式展示,便于快速浏览 ### AI 分析报告包含: - 股票基本信息 - 新闻摘要 - DeepSeek AI 的深度分析 - 新闻影响评估 - 关键信息提取 - 投资建议 - 风险提示 - 市场情绪分析 ## 🔧 故障排除 ### 问题1:无法获取股票数据 - 检查 Tushare Token 是否配置正确 - 检查网络连接 - 确认股票代码格式正确(6位数字) ### 问题2:无法获取加密货币数据 - 检查网络连接(可能需要代理) - 检查 OKX API 是否正常 - 查看错误日志了解具体原因 ### 问题3:邮件发送失败 - 检查 `mailsender.py` 中的配置 - 确认使用授权码而非登录密码 - 检查 SMTP 服务器和端口是否正确 ### 问题4:DeepSeek API 调用失败 - 检查 API 密钥是否正确 - 检查网络连接 - 确认 API 余额是否充足 ## 📝 更新日志 - **v1.0**: 基础功能实现 - 支持股票技术分析 - 支持加密货币分析 - 支持邮件通知 - 支持 AI 新闻分析 ## 📄 许可证 本项目仅供学习和研究使用。 ## 👤 作者 AI Trading System --- **免责声明**:本系统提供的所有分析结果仅供参考,不构成任何投资建议。投资有风险,入市需谨慎。