双趋势共振量化选股系统

作者:鹿Sir金融投资v1

基于GMMA顾比均线+一目均衡图+ADX趋势强度+流动性过滤的量化选股系统,输出S/A/B/C四级信号与动态止损位。支持通达信本地数据全市场扫描与CSV数据扫描。当用户需要量化选股、趋势分析、双趋势共振扫描、股票筛选、批量分析A股时触发。触发词:量化选股、股票筛选、双趋势共振、GMMA、一目均衡图、ADX、通达信扫描、选股系统。

下载量
384
点赞
91
价格
免费

技能文档

---
name: stockanalysispro
title: 双趋势共振量化选股系统
description: 基于GMMA顾比均线+一目均衡图+ADX趋势强度+流动性过滤的量化选股系统,输出S/A/B/C四级信号与动态止损位。支持通达信本地数据全市场扫描与CSV数据扫描。当用户需要量化选股、趋势分析、双趋势共振扫描、股票筛选、批量分析A股时触发。触发词:量化选股、股票筛选、双趋势共振、GMMA、一目均衡图、ADX、通达信扫描、选股系统。
category: 金融投资
---

# 双趋势共振量化选股系统

基于GMMA+一目均衡图+ADX+流动性过滤的三层架构量化选股系统。

## 技能工作流

### 步骤1:确认数据来源与运行模式

三种模式任选其一:

- `test`:内置测试数据,用于验证环境与演示输出(默认)
- `tdx`:扫描通达信本地日线数据(需先在通达信客户端下载日线数据)
- `csv`:扫描 CSV 数据目录(文件名格式 `{股票代码}.csv`)

### 步骤2:安装依赖

```bash
pip install -r requirements.txt
```

依赖仅 pandas 与 numpy,无 TA-Lib 依赖。

### 步骤3:运行扫描

```bash
# 测试模式(验证环境)
python3 main.py --mode test

# 通达信全市场扫描
python3 main.py --mode tdx --tdx_path "D:\new_tdx"

# CSV 数据目录扫描
python3 main.py --mode csv --data_dir ./data

# 保存报告到文件
python3 main.py --mode tdx --tdx_path "D:\new_tdx" --output report.txt

# 自定义门槛
python3 main.py --mode csv --data_dir ./data --liquidity 500000000 --adx_threshold 25
```

### 步骤4:解读输出结果

系统输出每只股票的信号等级、评分、仓位建议与动态止损位,按评分从高到低排列,仅 S/A/B 级(60 分以上)进入推荐列表。

## 功能特性

- ✅ GMMA 顾比均线多头排列检测
- ✅ 一目均衡图云层分析(9-26-52 标准参数)
- ✅ ADX 趋势强度过滤(无 TA-Lib 依赖)
- ✅ 流动性前置过滤(默认 1 亿门槛)
- ✅ S/A/B/C 四级信号评级
- ✅ 动态止损位计算
- ✅ 通达信本地数据扫描
- ✅ CSV 数据扫描
- ✅ 批量分析支持
- ✅ 自动过滤科创板和北交所

## 系统架构

**核心逻辑**:流动性(>1亿) → ADX(>20) → 技术形态(GMMA+Ichimoku)
**输出**:S/A/B/C 四级信号 + 动态止损位
**数据要求**:60 日+前复权 K 线(OHLCV+Amount)

## 评分与分级系统

### 评分规则(满分100)

| 条件 | 分值 | 说明 |
|------|------|------|
| GMMA多头排列 | +30 | 短期组>长期组 |
| GMMA离散度>2% | +10 | 确保发散非粘合 |
| 云层上方 | +20 | 价格>云层上轨 |
| 转换>基准 | +15 | 多头动能 |
| TK金叉 | +5 | 当日金叉触发 |
| 云层厚度>3% | +5 | 支撑强度 |
| ADX>40 | +20 | 强趋势 |
| ADX 30-40 | +15 | 中趋势 |
| ADX 20-30 | +10 | 弱趋势 |
| 成交额>10亿 | +5 | 流动性溢价 |

### 四级信号

- **S级(90+分)**:🔥 强烈推荐,仓位20%,立即买入
- **A级(75-89分)**:🟢 推荐,仓位10%,择机买入
- **B级(60-74分)**:🟡 观察,仓位5%,等待确认
- **C级(<60分)**:❌ 放弃,仓位0%

### 止损位计算

```python
stop_loss = max(cloud_bottom, ema_60)  # 云层下轨与60EMA取高者
risk_pct = (close - stop_loss) / close * 100
```

## 算法详解

### 流动性过滤(前置硬性)

```python
turnover_ma20 = df['amount'].rolling(20).mean()
if turnover_ma20 < 100_000_000:  # 1亿门槛
    return {"signal": "REJECT", "reason": "流动性不足"}
```

### ADX趋势强度(无TA-Lib实现)

```python
tr = pd.concat([high-low, abs(high-close.shift(1)), abs(low-close.shift(1))], axis=1).max(axis=1)
atr = tr.ewm(alpha=1/14).mean()
plus_di = 100 * (plus_dm.ewm(alpha=1/14).mean() / atr)
minus_di = 100 * (minus_dm.ewm(alpha=1/14).mean() / atr)
dx = 100 * abs(plus_di - minus_di) / (plus_di + minus_di)
adx = dx.ewm(alpha=1/14).mean()
```

### GMMA顾比均线

```python
short_terms = [3, 5, 8, 10, 12, 15]
long_terms = [30, 35, 40, 45, 50, 60]
gmma_bullish = (ema_15 > ema_30) & (short_avg > long_avg)
```

### 一目均衡图(9-26-52标准参数)

```python
tenkan = (high.rolling(9).max() + low.rolling(9).min()) / 2
kijun = (high.rolling(26).max() + low.rolling(26).min()) / 2
senkou_a = ((tenkan + kijun) / 2).shift(26)
senkou_b = ((high.rolling(52).max() + low.rolling(52).min()) / 2).shift(26)
above_cloud = close > max(senkou_a, senkou_b)
```

## 数据格式要求

### 通达信本地数据
- 自动扫描 `vipdoc/sh/lday` 和 `vipdoc/sz/lday` 目录
- 支持 `.day` 二进制格式
- 自动过滤科创板(688)和北交所(8开头)

### CSV数据
- 文件名格式:`{股票代码}.csv`(如 `600519.csv`)
- 支持的列名:date/日期, open/开盘, high/最高, low/最低, close/收盘, volume/成交量, amount/成交额

## 命令行参数

| 参数 | 默认值 | 说明 |
|------|--------|------|
| `--mode` | test | 运行模式:test/tdx/csv |
| `--tdx_path` | 自动探测 | 通达信安装路径 |
| `--max_count` | 0 | 最大扫描数量(0=全部) |
| `--data_dir` | data | CSV 数据目录 |
| `--output` | 无 | 报告输出文件名 |
| `--liquidity` | 1e8 | 流动性门槛 |
| `--adx_threshold` | 20 | ADX 趋势强度门槛 |

## 注意事项

1. **数据来源**:优先使用通达信本地数据,其次CSV数据
2. **数据时效**:通达信数据需要先在通达信软件中下载日线数据
3. **流动性门槛**:默认1亿,可通过 `--liquidity` 调整
4. **ADX门槛**:默认20,可通过 `--adx_threshold` 调整
5. **数据要求**:至少60个交易日数据才能产生有效信号
6. **风险提示**:本系统仅供量化分析参考,不构成投资建议

使用说明

# 双趋势共振量化选股系统

基于 GMMA 顾比均线 + 一目均衡图 + ADX 趋势强度 + 流动性过滤的量化选股工具,输出 S/A/B/C 四级信号与动态止损位。

## 功能

- 三层过滤:流动性(默认1亿)→ ADX(默认>20)→ 技术形态(GMMA+一目均衡图)
- 四级信号评级(S/A/B/C)与建议仓位、动态止损位
- 支持通达信本地日线数据全市场扫描与 CSV 数据扫描
- 自动过滤科创板与北交所,无 TA-Lib 依赖

## 最简用法

```bash
pip install -r requirements.txt

# 内置测试数据验证环境
python3 main.py --mode test

# 通达信数据扫描
python3 main.py --mode tdx --tdx_path "D:\new_tdx"

# CSV 数据扫描并保存报告
python3 main.py --mode csv --data_dir ./data --output report.txt
```

CSV 文件名格式 `{股票代码}.csv`,列名支持中英文(date/open/high/low/close/volume/amount 或 日期/开盘/最高/最低/收盘/成交量/成交额)。

## 适用场景

需要量化选股、趋势分析、双趋势共振扫描、批量筛选 A 股时使用。仅供量化分析参考,不构成投资建议。

如何安装此技能?

访问技能市场,点击「安装」按钮,按提示将技能包放入 AI 编程助手的 skills 目录即可。

浏览技能市场

支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手

双趋势共振量化选股系统 - 免费 | 技能派