📝 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(资金净流入,行业轮动利好)
----------------------------------------