t
title: “AI量化交易决策系统方案”
date: 2025-07-13T12:59:32+08:00
draft: false
tags: [“量化交易”, “文档”]
categories: [“技术”, “AI”, “量化交易”]
📝 2025-07-13 近期优化与变更
- 新增布林带、KDJ、成交量、ATR、威廉指标,技术指标体系更丰富。
- 评分体系优化:技术面40分、基本面35分、情绪面25分,ETF与A股评分规则分离,ETF基本面恒为0,ETF评分=技术面50分+AI消息面50分。
- 决策等级优化:5级决策(重仓买入、买入、持有、谨慎持有、卖出),买入阈值降至50分,持有30分,谨慎持有10分,卖出<10分。
- 日志与邮件去重:每只股票仅保留最新信号,输出和报告更简明。
- 自动邮件集成:主程序运行后自动发送HTML格式决策报告,内容美化,信号带emoji和中文名。
- 数据兼容性增强:分析引擎支持成交量列名为vol或volume。
- AI分析优化:ETF和A股分开提示,ETF基本面恒为0,AI消息面更关注资金流和行业新闻。
- 文档完善:补充README、部署、API、策略等文档,详细说明系统架构、评分体系、部署与接口。
- 用户体验提升:聚合报告美化,策略可读性提升,项目说明更精炼。
本文档详细阐述了本量化交易系统的核心决策逻辑。系统通过对技术面、基本面和AI市场情绪面三个维度进行独立的量化评分,最终加权汇总,生成交易信号。
总分 = 技术面得分 + 基本面得分 + AI市场情绪面得分
- 重仓买入阈值: 总分 >= 80
- 买入阈值: 总分 >= 60
- 持有阈值: 总分 >= 20
- 谨慎持有阈值: 总分 >= -10
- 卖出阈值: 总分 < -10
ETF评分体系(指数基金/ETF专用)
- 技术面:50分(均线、成交量、波动率等为主,弱化KDJ等短线指标)
- AI消息面:50分(重点关注资金流向、申购赎回、行业轮动、指数调整等)
- 基本面:恒为0分(ETF不参与基本面打分)
总分 = 技术面得分(归一化到50分) + AI消息面得分(归一化到50分)
- 归一化方法:技术面原始得分/40×50,AI消息面原始得分/25×50,四舍五入取整。
- ETF决策流程与A股一致,但分数分布和信号解释更侧重资金流和行业轮动。
一、 技术面分析 (总权重: 40分)
技术面分析旨在捕捉市场的短期趋势和动量。它由四个核心指标构成,各自有独立的评分和权重。
指标 | 权重 | 触发条件 | 得分 |
---|---|---|---|
MACD趋势 | 15分 | 看涨金叉 (DIF上穿DEA,且DIF>0) | +15 |
看跌死叉 (DIF下穿DEA,且DIF<0) | -15 | ||
多头排列 (DIF>DEA) | +8 | ||
空头排列 (DIF<DEA) | -8 | ||
RSI动量 | 10分 | RSI < 30 (超卖区) | +10 |
RSI > 70 (超买区) | -10 | ||
RSI < 40 (偏弱) | +5 | ||
RSI > 60 (偏强) | -5 | ||
布林带 | 8分 | 价格触及下轨 | +8 |
价格触及上轨 | -8 | ||
价格在中轨下方 | +3 | ||
价格在中轨上方 | -3 | ||
KDJ指标 | 7分 | KDJ超卖 (K<20, D<20) | +7 |
KDJ超买 (K>80, D>80) | -7 | ||
KDJ金叉 (K>D) | +3 | ||
KDJ死叉 (K<D) | -3 |
最终报告形式: 技术面得分: [总分] | 原因: [综合原因] (MACD: [得分], RSI: [得分], 布林带: [得分], KDJ: [得分])
二、 基本面分析 (总权重: 35分)
基本面分析旨在评估资产的内在价值。它由三个核心估值指标构成,以适应不同类型的投资标的。
1. 市盈率 (PE) - (权重: 15分)
- 数据来源: Akshare实时接口。对于ETF,则自动获取其跟踪指数的PE。
- 评分标准:
- PE < 15: +15分 (估值低)
- 15 <= PE < 30: +8分 (估值合理)
- 30 <= PE < 50: -8分 (估值偏高)
- PE >= 50: -15分 (估值过高)
2. 市净率 (PB) - (权重: 12分)
- 数据来源: Akshare实时接口。对于ETF,则自动获取其跟踪指数的PB。
- 评分标准:
- PB < 1.5: +12分 (估值低)
- 1.5 <= PB < 3: +6分 (估值合理)
- 3 <= PB < 5: -6分 (估值偏高)
- PB >= 5: -12分 (估值过高)
3. 股息率 (Dividend Yield) - (权重: 8分)
- 数据来源: Akshare实时接口。
- 评分标准:
- 股息率 > 4%: +8分 (高股息)
- 2% < 股息率 <= 4%: +4分 (股息尚可)
- 股息率 <= 2%: -8分 (股息较低)
评分平衡性: 正向分数总和 = 负向分数总和 = 35分
- 正向: 15 + 12 + 8 = 35分
- 负向: (-15) + (-12) + (-8) = -35分
最终报告形式: 基本面得分: [总分] | 原因: [综合原因] (PE: [得分], PB: [得分], DY: [得分])
三、 AI市场情绪面分析 (总权重: 25分)
本部分利用Gemini的联网搜索和分析能力,对最新的市场新闻和公告进行情绪量化。
执行方式: 向Gemini API发送一个包含股票名称和代码的Prompt。
返回格式: 要求Gemini返回一个包含以下字段的JSON对象:
sentiment_score
: 一个从 -10 (极度利空) 到 +10 (极度利好) 的量化分数。sentiment_reason
: 一句话总结的核心判断原因。key_factors
: 1-3个影响判断的关键事件列表。data_date
: 关键信息的最新日期。
分数换算: Gemini返回的
sentiment_score
将乘以 2.5,以匹配本项 25分 的总权重。
最终报告形式: AI消息面得分: [总分] | 原因: [AI总结的原因] (数据更新至: [日期]) 关键因素: [AI识别的关键事件]
四、 新增技术指标
系统现已支持更多A股常用的技术指标:
1. 布林带 (Bollinger Bands)
- 计算方式: 20日移动平均线 ± 2倍标准差
- 应用: 判断价格波动区间和超买超卖状态
2. KDJ指标
- 计算方式: 基于9日RSV的随机指标
- 应用: 判断超买超卖和买卖时机
3. 成交量指标
- 计算方式: 5日和10日成交量移动平均
- 应用: 分析量价关系和资金流向
4. ATR (平均真实波幅)
- 计算方式: 14日真实波幅移动平均
- 应用: 衡量市场波动性和设置止损位
5. 威廉指标 (Williams %R)
- 计算方式: 基于14日最高最低价的动量指标
- 应用: 判断超买超卖状态
五、 最终决策报告
系统在完成对所有股票的分析后,会生成一份聚合的决策报告表格,清晰地展示所有目标的分析结果。
1. 单只股票分析过程输出
在分析过程中,系统会为每只股票打印一行简要的完成信息,如下所示:
--- 正在分析股票: 贵州茅台 (600519.SH) ---
分析完成: 贵州茅台 (600519.SH) - 总分: 65 | 最终信号: 【买入】
----------------------------------------
2. 最终聚合报告
所有股票分析完成后,系统会打印一个统一的表格,汇总所有决策报告,方便横向对比。
聚合报告表示例:
股票名称 | 代码 | 技术面得分 | 基本面得分 | AI消息面得分 | 总分 | 最终决策 | 类型
------------------------------------------------------------------------------------------------------------------
贵州茅台 | 600519.SH | -5 | 17 | -8 | 4 | 【谨慎持有】 | A股
平安银行 | 000001.SZ | 25 | 15 | 12 | 52 | 【买入】 | A股
沪深300ETF | 510300.SH | 32 | 0 | 30 | 62 | 【买入】 | ETF
3. 决策等级说明
- 重仓买入 (紫色): 总分 >= 80,强烈推荐买入信号
- 买入 (绿色): 总分 >= 60,推荐买入信号
- 持有 (黄色): 总分 >= 20,建议持有观望
- 谨慎持有 (青色): 总分 >= -10,建议谨慎持有或减仓
- 卖出 (红色): 总分 < -10,建议卖出信号
ETF决策等级说明
- 重仓买入:总分 ≥ 80
- 买入:总分 ≥ 50
- 持有:总分 ≥ 30
- 谨慎持有:总分 ≥ 10
- 卖出:总分 < 10
注:ETF波动性低,建议结合资金流向和行业轮动信号综合判断。
4. 日志文件
对于有明确 买入/重仓买入 或 卖出 信号的股票,详细的决策依据会被记录在 logs/trade_signals_YYYY-MM-DD.log
文件中,供后续复盘。
日志格式示例:
Signal for 贵州茅台 (600519.SH) on 2025-01-13: 【买入】
- Tech: 15 (MACD看涨金叉, RSI(45.2)偏弱) (MACD: 15, RSI: 5, 布林带: 3, KDJ: -3)
- Fundamentals: 17 (PE: PE=25.30, 估值合理, PB: PB=8.50, 估值过高, 股息率: 股息率=1.20%, 股息较低) (PE: 8, PB: -8, DY: 0)
- AI Sentiment: -8 (市场情绪偏谨慎) (Data until: 2025-01-13) 关键因素: 白酒行业政策调整, 消费需求变化
- TOTAL SCORE: 24
ETF决策报告示例
--- 正在分析ETF: 沪深300ETF (510300.SH) ---
分析完成: 沪深300ETF (510300.SH) - 总分: 62 | 最终信号: 【买入】
- 技术面: 32(均线多头排列,成交量放大)
- 基本面: 0(ETF不参与基本面打分)
- AI消息面: 30(资金净流入,行业轮动利好)
----------------------------------------
说些什么吧!