Skip to content
Back to skills

2480 Design Eb8a3615

ASecurity

系统已具备三个指数相关数据插件: - `tushare_index_basic`:指数基础信息(代码、名称、市场、类别、加权方式等) - `tushare_index_weight`:指数成分股及权重 - `tushare_idx_factor_pro`:指数技术因子(80+技术指标)

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
developmentpythongovuefastapiapi

Works with

  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2480-design_eb8a3615 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2480 Design Eb8a3615?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2480 Design Eb8a3615
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2480-design-eb8a3615/badge)](https://www.skillsdirectory.com/skills/tools-only-2480-design-eb8a3615)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Design: 指数选股界面

## Context

系统已具备三个指数相关数据插件:
- `tushare_index_basic`:指数基础信息(代码、名称、市场、类别、加权方式等)
- `tushare_index_weight`:指数成分股及权重
- `tushare_idx_factor_pro`:指数技术因子(80+技术指标)

需要构建前端界面和后端API,将这些数据整合展示,并提供符合指数量化分析特点的AI分析功能。

## 数据源分析

### dim_index_basic(指数基础信息)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| ts_code | 指数代码 | 唯一标识 |
| name/fullname | 简称/全称 | 展示 |
| market | 市场(SSE/SZSE/CSI等) | 筛选分类 |
| publisher | 发布方 | 筛选分类 |
| index_type | 指数风格 | 筛选分类 |
| category | 指数类别 | 筛选分类 |
| base_date/base_point | 基期/基点 | 历史参考 |
| weight_rule | 加权方式 | 理解指数编制 |
| desc | 描述 | 展示 |

### ods_index_weight(成分股权重)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| index_code | 指数代码 | 关联 |
| con_code | 成分股代码 | 成分分析 |
| trade_date | 交易日期 | 时间维度 |
| weight | 权重(%) | 集中度分析、加权计算 |

### ods_idx_factor_pro(技术因子 - 完整指标清单)

#### 1. 基础行情
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| open/high/low/close | OHLC价格 | 价格走势 |
| pre_close | 昨收价 | 涨跌计算 |
| change/pct_change | 涨跌额/幅 | 短期表现 |
| vol/amount | 成交量/额 | 量能分析 |

#### 2. 均线系统(趋势判断核心)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| ma_bfq_5/10/20/30/60/90/250 | 简单移动平均线 | 趋势、支撑压力 |
| ema_bfq_5/10/20/30/60/90/250 | 指数移动平均线 | 趋势跟踪 |
| expma_12_bfq/expma_50_bfq | EMA指数平均数 | 中短期趋势 |
| bbi_bfq | BBI多空指标 | 多空判断 |

**均线分析逻辑**:
- 多头排列:MA5 > MA10 > MA20 > MA60 → 上涨趋势
- 空头排列:MA5 < MA10 < MA20 < MA60 → 下跌趋势
- 价格站上MA250(年线)→ 长期趋势向好

#### 3. MACD指标(趋势动量核心)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| macd_dif_bfq | DIF快线 | 短期动量 |
| macd_dea_bfq | DEA慢线 | 中期动量 |
| macd_bfq | MACD柱状图 | 动量强度 |

**MACD分析逻辑**:
- 金叉:DIF上穿DEA → 买入信号
- 死叉:DIF下穿DEA → 卖出信号
- 零轴上方金叉 → 强势买入
- 零轴下方死叉 → 强势卖出
- MACD柱由负转正 → 动量转强
- 背离:价格新高但MACD未新高 → 顶背离警告

#### 4. KDJ指标(超买超卖核心)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| kdj_k_bfq | K值(快线) | 短期超买超卖 |
| kdj_d_bfq | D值(慢线) | 中期超买超卖 |
| kdj_bfq | J值 | 敏感度最高 |

**KDJ分析逻辑**:
- K/D > 80 → 超买区域,注意回调风险
- K/D < 20 → 超卖区域,关注反弹机会
- 低位金叉(K<20时K上穿D)→ 买入信号
- 高位死叉(K>80时K下穿D)→ 卖出信号
- J值极端(>100或<0)→ 短期反转概率大

#### 5. RSI指标(相对强弱)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| rsi_bfq_6 | RSI(6日) | 短期强弱 |
| rsi_bfq_12 | RSI(12日) | 中期强弱 |
| rsi_bfq_24 | RSI(24日) | 长期强弱 |

**RSI分析逻辑**:
- RSI > 70 → 超买,可能回调
- RSI < 30 → 超卖,可能反弹
- RSI在50附近 → 多空平衡
- RSI6上穿RSI12 → 短期转强

#### 6. 布林带(波动通道)
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| boll_upper_bfq | 上轨 | 压力位 |
| boll_mid_bfq | 中轨(MA20) | 趋势中枢 |
| boll_lower_bfq | 下轨 | 支撑位 |

**布林带分析逻辑**:
- 价格触及上轨 → 短期压力
- 价格触及下轨 → 短期支撑
- 带宽收窄 → 即将变盘
- 价格沿上轨运行 → 强势上涨
- 价格沿下轨运行 → 弱势下跌

#### 7. 波动率指标
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| atr_bfq | 真实波动N日均值 | 波动率、止损设置 |
| ktn_upper/mid/down_bfq | 肯特纳通道 | 波动通道 |
| taq_up/mid/down_bfq | 唐安奇通道 | 突破交易 |

**波动率分析逻辑**:
- ATR扩大 → 波动加剧,风险增加
- ATR缩小 → 波动收敛,可能变盘
- 突破唐安奇通道上轨 → 趋势突破买入

#### 8. 成交量指标
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| obv_bfq | 能量潮指标 | 量价配合 |
| vr_bfq | VR容量比率 | 量能分析 |
| mfi_bfq | MFI资金流量 | 资金流向 |

**量能分析逻辑**:
- OBV上升+价格上涨 → 量价配合,趋势健康
- OBV下降+价格上涨 → 量价背离,警惕回调
- VR > 450 → 成交过热
- VR < 70 → 成交低迷
- MFI > 80 → 资金超买
- MFI < 20 → 资金超卖

#### 9. 情绪/心理指标
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| psy_bfq | 心理线 | 市场情绪 |
| brar_ar_bfq | AR人气指标 | 买卖气势 |
| brar_br_bfq | BR意愿指标 | 买卖意愿 |
| cci_bfq | 顺势指标 | 超买超卖 |
| wr_bfq/wr1_bfq | 威廉指标 | 超买超卖 |

**情绪分析逻辑**:
- PSY > 75 → 市场过热
- PSY < 25 → 市场过冷
- AR > 180 → 人气过热
- BR > 400 → 意愿过强
- CCI > 100 → 超买
- CCI < -100 → 超卖
- WR < 20 → 超买(注意WR是反向指标)
- WR > 80 → 超卖

#### 10. 动量指标
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| mtm_bfq/mtmma_bfq | 动量指标 | 价格动量 |
| roc_bfq/maroc_bfq | 变动率指标 | 价格变化速度 |
| cr_bfq | CR价格动量 | 中期动量 |

**动量分析逻辑**:
- MTM > 0 且上升 → 上涨动量增强
- MTM < 0 且下降 → 下跌动量增强
- ROC极端值 → 可能反转

#### 11. 趋势强度指标
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| dmi_pdi_bfq | +DI上升动向 | 多头力量 |
| dmi_mdi_bfq | -DI下降动向 | 空头力量 |
| dmi_adx_bfq | ADX趋势强度 | 趋势是否明确 |
| dmi_adxr_bfq | ADXR | ADX平滑 |

**DMI分析逻辑**:
- +DI > -DI → 多头占优
- -DI > +DI → 空头占优
- ADX > 25 → 趋势明确
- ADX < 20 → 震荡市
- +DI上穿-DI且ADX上升 → 强势买入信号

#### 12. 其他辅助指标
| 字段 | 说明 | 分析用途 |
|------|------|---------|
| bias1/2/3_bfq | 乖离率(6/12/24日) | 偏离程度 |
| asi_bfq/asit_bfq | 振动升降指标 | 趋势确认 |
| trix_bfq/trma_bfq | 三重平滑平均 | 长期趋势 |
| emv_bfq/maemv_bfq | 简易波动指标 | 量价关系 |
| mass_bfq/ma_mass_bfq | 梅斯线 | 趋势反转 |
| dpo_bfq/madpo_bfq | 区间震荡线 | 周期分析 |
| dfma_dif_bfq/dfma_difma_bfq | 平行线差指标 | 趋势判断 |
| updays/downdays | 连涨/连跌天数 | 趋势持续性 |
| topdays/lowdays | 高低点周期位置 | 周期分析 |

## Goals / Non-Goals

### Goals
- 提供直观的指数浏览和筛选界面
- 展示指数成分股及权重分布
- **新增Index Agent**,基于上述技术指标提供专业量化分析
- 复用现有的插件service层

### Non-Goals
- 不新增数据采集插件
- 不实现指数交易功能
- 不实现实时行情推送

## Decisions

### 1. Index Agent架构设计

**决策**:创建独立的`IndexAgent`类,继承`LangGraphAgent`基类

**文件结构**:
```
src/stock_datasource/agents/
├── index_agent.py      # Index Agent主类
├── index_tools.py      # 指数专用工具函数
└── __init__.py       # 注册get_index_agent()
```

### 2. Index Agent工具函数设计

**决策**:在`index_tools.py`中实现以下工具函数

| 工具函数 | 数据来源 | 功能描述 |
|---------|---------|---------|
| `get_index_info(ts_code)` | `dim_index_basic` | 获取指数基础信息 |
| `get_index_constituents(ts_code, trade_date)` | `ods_index_weight` | 获取成分股及权重 |
| `get_index_factors(ts_code, days)` | `ods_idx_factor_pro` | 获取最近N日技术因子 |
| `analyze_trend(ts_code)` | 均线+MACD+DMI | 分析趋势方向和强度 |
| `analyze_momentum(ts_code)` | KDJ+RSI+MTM+ROC | 分析动量和超买超卖 |
| `analyze_volatility(ts_code)` | ATR+BOLL+通道 | 分析波动率和支撑压力 |
| `analyze_volume(ts_code)` | OBV+VR+MFI | 分析量能和资金流向 |
| `analyze_sentiment(ts_code)` | PSY+BRAR+CCI+WR | 分析市场情绪 |
| `analyze_concentration(ts_code)` | 成分股权重 | 分析集中度风险 |
| `get_comprehensive_analysis(ts_code)` | 综合以上 | 生成完整分析报告 |

### 3. 指数量化分析框架

基于实际可用的技术指标,设计以下分析框架:

```
┌─────────────────────────────────────────────────────────────┐
│                    指数量化分析框架                           │
├─────────────────────────────────────────────────────────────┤
│  1. 指数概况                                                 │
│     - 基础信息:名称、市场、发布方、加权方式                    │
│     - 成分股数量、前10大成分股                                │
├─────────────────────────────────────────────────────────────┤
│  2. 趋势分析(权重30%)                                       │
│     - 均线系统:MA5/10/20/60/250排列状态                      │
│     - MACD状态:DIF/DEA位置、金叉死叉、零轴位置                │
│     - DMI趋势:+DI/-DI对比、ADX趋势强度                       │
│     → 输出:趋势方向(上涨/下跌/震荡)+ 趋势强度(强/中/弱)    │
├─────────────────────────────────────────────────────────────┤
│  3. 动量分析(权重25%)                                       │
│     - KDJ状态:K/D/J值、超买超卖区域、金叉死叉                 │
│     - RSI水平:RSI6/12/24、超买超卖判断                       │
│     - 动量指标:MTM/ROC方向和强度                             │
│     → 输出:动量状态(增强/减弱)+ 超买超卖(超买/超卖/中性)   │
├─────────────────────────────────────────────────────────────┤
│  4. 波动分析(权重20%)                                       │
│     - ATR波动率:当前波动水平                                 │
│     - 布林带位置:价格在通道中的位置                           │
│     - 通道突破:唐安奇/肯特纳通道状态                          │
│     → 输出:波动状态(放大/收敛)+ 支撑压力位                  │
├─────────────────────────────────────────────────────────────┤
│  5. 量能分析(权重15%)                                       │
│     - OBV趋势:量价配合情况                                   │
│     - VR容量:成交活跃度                                      │
│     - MFI资金:资金流入流出                                   │
│     → 输出:量能状态(充沛/不足)+ 资金方向(流入/流出)        │
├─────────────────────────────────────────────────────────────┤
│  6. 情绪分析(权重10%)                                       │
│     - PSY心理线:市场情绪                                     │
│     - BRAR指标:人气和意愿                                    │
│     - CCI/WR:辅助超买超卖                                    │
│     → 输出:情绪状态(乐观/悲观/中性)                         │
├─────────────────────────────────────────────────────────────┤
│  7. 集中度分析                                               │
│     - CR10:前10大成分股权重占比                              │
│     - HHI指数:赫芬达尔指数                                   │
│     → 输出:集中度风险(高/中/低)                            │
├─────────────────────────────────────────────────────────────┤
│  8. 综合评分与建议                                           │
│     - 多空评分:基于以上分析加权计算(0-100)                  │
│     - 操作建议:积极/谨慎/观望/减仓                           │
│     - 风险提示:主要风险点                                    │
│     - 免责声明:仅供参考,不构成投资建议                       │
└─────────────────────────────────────────────────────────────┘
```

### 4. 技术信号解读逻辑

**趋势信号**:
| 指标组合 | 看多信号 | 看空信号 | 中性 |
|---------|---------|---------|------|
| 均线 | MA5>MA10>MA20>MA60(多头排列) | MA5<MA10<MA20<MA60(空头排列) | 交织 |
| MACD | DIF>DEA且MACD>0 | DIF<DEA且MACD<0 | 零轴附近 |
| DMI | +DI>-DI且ADX>25 | -DI>+DI且ADX>25 | ADX<20 |

**动量信号**:
| 指标 | 超买信号 | 超卖信号 | 中性区间 |
|------|---------|---------|---------|
| KDJ | K>80且J>100 | K<20且J<0 | 20-80 |
| RSI6 | >70 | <30 | 30-70 |
| RSI12 | >70 | <30 | 30-70 |

**波动信号**:
| 指标 | 高波动 | 低波动 | 分析意义 |
|------|--------|--------|---------|
| ATR | 显著高于MA20 | 显著低于MA20 | 风险/机会 |
| BOLL | 带宽扩大 | 带宽收窄 | 变盘预警 |

**量能信号**:
| 指标 | 积极信号 | 消极信号 |
|------|---------|---------|
| OBV | 上升+价涨 | 下降+价涨(背离) |
| VR | 70-150正常 | >450过热/<70低迷 |
| MFI | 20-80正常 | >80超买/<20超卖 |

**情绪信号**:
| 指标 | 过热 | 过冷 | 正常 |
|------|------|------|------|
| PSY | >75 | <25 | 25-75 |
| CCI | >100 | <-100 | -100~100 |
| WR | <20 | >80 | 20-80 |

### 5. 集中度风险分析

**指标定义**:
- **CR10**:前10大成分股权重占比
- **HHI指数**:赫芬达尔-赫希曼指数 = Σ(权重²) × 10000

**风险等级**:
| CR10 | HHI | 风险等级 | 说明 |
|------|-----|---------|------|
| < 30% | < 500 | 低 | 分散度好 |
| 30-50% | 500-1000 | 中 | 适度集中 |
| > 50% | > 1000 | 高 | 高度集中 |

### 6. Index Agent System Prompt设计

```python
SYSTEM_PROMPT = """你是一个专业的指数量化分析师,专注于A股指数的技术分析。

## 可用数据
你可以获取以下数据进行分析:
1. 指数基础信息:名称、市场、发布方、加权方式、成分股数量
2. 成分股权重:各成分股及其权重占比
3. 技术因子(80+指标):
   - 均线系统:MA5/10/20/30/60/90/250、EMA系列
   - MACD:DIF、DEA、MACD柱
   - KDJ:K、D、J值
   - RSI:RSI6、RSI12、RSI24
   - 布林带:上轨、中轨、下轨
   - 波动率:ATR、肯特纳通道、唐安奇通道
   - 成交量:OBV、VR、MFI
   - 情绪指标:PSY、BRAR、CCI、WR
   - 动量指标:MTM、ROC、CR
   - 趋势强度:DMI(+DI/-DI/ADX)
   - 其他:BIAS乖离率、TRIX、EMV等

## 分析框架
请按以下框架进行分析:

### 1. 指数概况
- 基础信息和成分股概述

### 2. 趋势分析(核心)
- 均线排列状态(多头/空头/交织)
- MACD状态(金叉/死叉、零轴位置、背离)
- DMI趋势强度(ADX>25为趋势明确)
- 综合判断:上涨趋势/下跌趋势/震荡

### 3. 动量分析
- KDJ超买超卖(K>80超买,K<20超卖)
- RSI强弱(>70超买,<30超卖)
- 动量方向(MTM/ROC)

### 4. 波动分析
- ATR波动水平
- 布林带位置(上轨压力/下轨支撑)
- 带宽变化(收窄预示变盘)

### 5. 量能分析
- OBV量价配合
- VR成交活跃度
- MFI资金流向

### 6. 情绪分析
- PSY市场情绪
- BRAR人气意愿
- CCI/WR辅助判断

### 7. 集中度风险
- CR10前10大成分股占比
- 集中度风险等级

### 8. 综合建议
- 多空评分(0-100,50为中性)
- 操作建议
- 主要风险提示
- **免责声明:以上分析仅供参考,不构成投资建议。投资有风险,入市需谨慎。**

## 常用指数代码
- 沪深300: 000300.SH
- 中证500: 000905.SH
- 上证50: 000016.SH
- 创业板指: 399006.SZ
- 科创50: 000688.SH
- 中证1000: 000852.SH

## 分析原则
- 数据驱动:所有结论必须基于实际数据
- 多维验证:多个指标相互验证
- 风险优先:突出风险提示
- 客观中立:不做主观预测
"""
```

### 7. 前端架构
**决策**:参照现有`ScreenerView.vue`的设计模式,创建独立的指数选股页面

### 8. 后端模块设计
**决策**:创建独立的`index`模块,直接调用现有插件的service层

**结构**:
```
src/stock_datasource/modules/index/
├── __init__.py
├── router.py      # FastAPI路由
├── service.py     # 业务逻辑
└── schemas.py     # Pydantic模型
```

## Risks / Trade-offs

### 风险1:数据完整性
- **风险**:指数数据可能未同步完整
- **缓解**:前端展示数据状态,提示用户同步

### 风险2:技术指标滞后性
- **风险**:技术指标本身具有滞后性
- **缓解**:多指标交叉验证,明确说明指标特性

### 风险3:分析准确性
- **风险**:AI分析可能存在偏差
- **缓解**:明确标注"仅供参考,不构成投资建议"

### Trade-off:实时性 vs 性能
- **选择**:使用最新已入库数据,非实时行情
- **理由**:系统定位为数据分析平台,非交易系统

## Migration Plan

无需数据迁移,新增功能模块。

## Open Questions

1. 是否需要支持指数对比功能?(建议后续迭代)
2. 是否需要指数历史走势图表?(建议后续迭代)
3. 是否需要将Index Agent集成到Orchestrator中?(建议是,便于通过Chat界面调用)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.