返回 Skill 列表
extension
分类: 数据与分析需要 API Key

期货数据分析技能

期货市场全面数据分析技能。支持通过 AkShare(免费)和天勤 TQ SDK(实盘)获取 期货行情数据,计算完整技术指标体系(MA/RSI/MACD/BOLL/KDJ/ATR),执行多因子 多空评分,生成 AI 驱动的交易信号(支持 DeepSeek/百炼/魔搭多引擎热备),输出 结构化的综合分析报告(包含开仓点位、止损止盈、平仓计划)和飞书推送。

person作者: user_31675b53hubcommunity

期货数据分析 Skill

概述

本 skill 提供全套期货市场技术面分析能力,从行情数据采集 → 技术指标计算 → 多因子多空评分 → AI 量化信号 → 综合报告生成,形成完整分析流水线。

核心能力

| 能力 | 说明 | |------|------| | 行情数据采集 | AkShare(免费日线/实时)+ 天勤 TQ SDK(实盘/模拟盘)+ 东方财富 API(实时快照) | | 技术指标计算 | MA(5/10/20/60)、RSI(14)、MACD(12/26/9)、BOLL(20,2)、KDJ(9,3,3)、ATR(14)、量比 | | 多因子评分 | 均线排列 → MACD 金叉死叉 → RSI 超买超卖 → KDJ 极端值 → 涨跌幅 → 6 种量价关系 | | AI 策略分析 | DeepSeek / 百炼 / 魔搭 三引擎热备,自动降级,输出结构化 JSON 交易信号 | | 综合报告 | 多品种批量分析 + 单品种深度报告,含开仓点位(保守/稳健/激进三档)、平仓时间点计划 | | 品种筛选 | 全市场 60+ 品种扫描,按成交量+波动率自动筛选最活跃品种 | | 飞书推送 | 结构化 Markdown 报告推送到飞书群 |

快速开始

环境要求

Python 依赖:

akshare>=1.14.0
openai>=1.0.0
pandas>=2.0.0
numpy>=1.24.0
loguru>=0.7.0
requests>=2.31.0
tqsdk  (可选,天勤实盘需要)

配置文件

在项目根目录创建 config.ini

[ai]
engine = deepseek              ; deepseek / bailian / modelscope
deepseek_api_key = sk-xxxxx
deepseek_base_url = https://api.deepseek.com/v1
deepseek_model = deepseek-chat
bailian_api_key = sk-xxxxx
bailian_model = qwen-plus

[trading]
confidence_threshold = 0.65
max_position_ratio = 0.3
stop_loss_ratio = 0.02
take_profit_ratio = 0.05
symbols = au0,lc0,ps0,lh0,p0,IC0
monitor_interval = 5

[monitor]
kline_period = 15min
ma_periods = 5,10,20,60

[platform]
tq_account = your_tq_account
tq_password = your_tq_password
tq_simulated = true

使用流程

场景一:多品种批量分析(日常巡检)

当用户要求"分析期货"、"做一次期货扫描"、"生成期货报告"时:

  1. 加载 references/futures_knowledge.md 确认品种代码和交易所信息
  2. 使用 scripts/data_fetcher.py 中的 get_futures_daily() 获取行情
  3. 使用 scripts/technical_indicators.py 中的 calc_all_indicators() 计算全部技术指标
  4. 使用 scripts/multi_factor_scorer.py 中的 score_symbol() 执行多空评分
  5. 调用 AI 分析(可选,若用户要求或配置了 API Key):
    • 使用 build_market_summary() 生成行情摘要文本
    • 调用 OpenAI 兼容 API(DeepSeek/百炼/魔搭)获取结构化信号
    • 必须使用 SYSTEM_PROMPT(见 references/ai_prompt.md)作为系统提示词
  6. 使用 scripts/report_generator.py 生成文本报告和 JSON 报告
  7. 以表格形式展示核心结论,将完整报告保存为文件

场景二:单品种深度分析

当用户询问"分析沪金"、"碳酸锂怎么看"等具体品种时:

  1. 确定品种代码(参考 references/futures_knowledge.md 的品种代码表)
  2. 使用主力连续合约代码(品种前缀 + 0,如 au0、lc0)
  3. 执行完整技术分析(调用 scripts 中的函数)
  4. 生成深度报告,包含:
    • 价格行情总览
    • 完整技术指标一览
    • 多空信号汇总
    • 多空评分与判断
    • 三档开仓点位(保守/稳健/激进)+ 止损止盈 + 盈亏比
    • 平仓时间点计划
  5. 如有库存/到港信息需求,使用 WebSearch 查询品种最新基本面数据

场景三:全市场品种筛选

当用户要求"扫描热门品种"、"哪些品种值得关注"时:

  1. 遍历全品种池(60+ 主流期货品种)
  2. 获取每个品种的日线数据,计算近 5 日平均成交量和近 10 日波动率
  3. 综合评分 = 成交量排名权重 × 0.6 + 波动率排名权重 × 0.4
  4. 排除已跟踪品种,返回 Top-N 活跃品种
  5. 输出带排名的表格报告

场景四:盘中实时分析

当用户要求"盘中分析"、"快速检查"时:

  1. 使用东方财富 API(fetch_eastmoney 函数)获取实时快照
  2. 对比前一日收盘价计算涨跌幅
  3. 计算各品种距历史高点的距离
  4. 高亮标记处于历史高位区(≥85%)和超跌区(≤30%)的品种
  5. 输出简洁的信号汇总表格

技术指标计算标准

所有指标在 scripts/technical_indicators.py 中实现,关键参数:

| 指标 | 参数 | 计算逻辑 | |------|------|----------| | MA | periods=[5,10,20,60] | rolling().mean() | | RSI | period=14 | 100 - (100 / (1 + avg_gain/avg_loss)) | | MACD | fast=12, slow=26, signal=9 | ewm 差分 | | BOLL | period=20, std=2 | mid=MA20, ±2σ | | KDJ | n=9, m1=3, m2=3 | RSV → ewm | | ATR | period=14 | TR = max(H-L, |H-C1|, |L-C1|) |

多空评分体系

scripts/multi_factor_scorer.py 中定义,8 大类指标:

| 类别 | 看多信号(加分) | 看空信号(加分) | |------|-----------------|-----------------| | 均线排列 | 多头排列 +0.25 | 空头排列 +0.25 | | 价格 vs MA5 | 站上 MA5 +0.10 | 跌破 MA5 +0.15 | | 价格 vs MA20 | 站上 MA20 +0.15 | 跌破 MA20 +0.20 | | MACD | 金叉扩大 +0.25, 收窄 +0.10 | 死叉扩大 +0.25, 收窄 +0.10 | | RSI | <30 超卖 +0.20, <40 偏低 +0.10 | >80 严重超买 +0.30, >70 超买 +0.20 | | KDJ | K<20 且 D<30 +0.20 | K>80 且 D>70 +0.20, J>100 +0.15 | | 涨跌幅(10日) | 跌超 10% 超跌 +0.20 | 涨超 10% 获利 +0.20 | | 量价关系 | 放量上涨+0.15, 缩量下跌+0.10 | 放量下跌+0.15, 缩量上涨+0.10 |

综合评分 = 看多得分 - 看空得分,判断阈值:

  • ≥ 0.8:强烈看多
  • [0.4, 0.8):偏多
  • (-0.3, 0.4):中性震荡
  • (-0.7, -0.3]:偏空
  • < -0.7:强烈看空

AI 分析集成

系统提示词

详见 references/ai_prompt.md。核心要点:

  • AI 角色定义为 20 年经验的期货量化分析师
  • 分析框架:趋势 → 动量 → 量能 → 波动 → 风控
  • 强制 JSON 输出,字段包括:symbol, trend, signal, confidence, entry_price, stop_loss, take_profit, position_ratio, reasoning, risk_warning

API 调用

使用 OpenAI 兼容接口,三引擎热备:

from openai import OpenAI

# DeepSeek
client = OpenAI(api_key="sk-xxx", base_url="https://api.deepseek.com/v1")

# 百炼
client = OpenAI(api_key="sk-xxx", base_url="https://dashscope.aliyuncs.com/compatible-mode/v1")

# 魔搭
client = OpenAI(api_key="sk-xxx", base_url="https://api-inference.modelscope.cn/v1")

调用参数:

  • temperature=0.1(低随机性,确保分析一致性)
  • max_tokens=1024
  • response_format={"type": "json_object"}
  • 如 JSON 解析失败,尝试从文本中提取 {...} 部分
  • 带指数退避重试(1s / 2s / 4s)

报告格式规范

批量报告包含

  1. 顶部汇总:时间、品种数量、可操作信号数量
  2. 信号总览:各品种评分、多空判断、AI 信号
  3. 逐品种详情:价格、涨跌、评分、信号明细、量价分析、开仓点位、平仓提醒
  4. 底部总结:数据异常提醒

单品种深度报告包含

  1. 价格行情(最新价、日涨跌、10/20 日涨跌、近 N 日价格区间)
  2. 技术指标一览(MA、RSI、KDJ、MACD、BOLL、量比)
  3. 多空信号汇总
  4. 多空判断 + 操作建议
  5. 开仓点位(三档:保守/稳健/激进,含触发条件、止损、目标、盈亏比)
  6. 平仓计划(技术止盈、趋势跟踪止损、均线防守、目标价位、时间止损)
  7. 风险提示

品种代码速查

详见 references/futures_knowledge.md,核心跟踪品种:

| 品种 | 代码 | 交易所 | |------|------|--------| | 沪金 | au0 | 上期所 SHFE | | 碳酸锂 | lc0 | 广期所 GFEX | | 多晶硅 | ps0 | 广期所 GFEX | | 生猪 | lh0 | 大商所 DCE | | 棕榈油 | p0 | 大商所 DCE | | 中证500 | IC0 | 中金所 CFFEX |

数据源说明

优先级

  1. AkShare (futures_main_sina) - 日线历史数据,免费无需注册
  2. 东方财富 API - 实时行情快照,适用于盘中快速扫描
  3. 新浪财经 API - 备用实时数据源
  4. 天勤 TQ SDK - 实盘/模拟盘交易,需要账号密码

天勤 (TQ SDK) 对接

天勤合约代码格式为 KQ.m@交易所.品种(主力连续)或 交易所.合约代码(具体合约)。

交易所代码映射表见 references/futures_knowledge.md

初始化代码:

from tqsdk import TqApi, TqAuth, TqSim

if simulated:
    api = TqApi(TqSim(), auth=TqAuth(account, password))
else:
    api = TqApi(auth=TqAuth(account, password))

Bundled Resource 说明

  • scripts/data_fetcher.py — 行情数据获取(AkShare + 东方财富 + 新浪)
  • scripts/technical_indicators.py — 技术指标计算(MA/RSI/MACD/BOLL/KDJ/ATR)
  • scripts/multi_factor_scorer.py — 多因子多空评分引擎
  • scripts/report_generator.py — 报告生成(文本 + JSON)
  • references/futures_knowledge.md — 品种代码表、交易所映射、历史高位参考
  • references/ai_prompt.md — AI 分析系统提示词模板

重要约定

  • 行情数据 按中国股市红涨绿跌的配色展示(涨用红色 🔴,跌用绿色 🟢)
  • 所有报告必须包含 "不构成投资建议,期货有风险,入市需谨慎" 的风险声明
  • 分析中如果数据不足 30 条,明确警告用户数据可能不充分
  • 多品种分析时必须先完成全部品种再生成报告,不要逐个输出
  • AI 信号中 confidence < 0.65 的开仓信号自动降级为 hold
  • AI 分析超时或全部失败时,回退到纯技术面评分,并在报告中注明
  • 错误处理采用非阻塞模式:单个品种出错不影响其他品种