- Introduced a new "tilt" parameter to the strength scoring system, allowing for the assessment of triangle slope directionality. - Renamed existing parameters: "拟合贴合度" to "形态规则度" and "边界利用率" to "价格活跃度" for improved clarity. - Updated normalization methods for all strength components to ensure they remain within the [0, 1] range, facilitating LLM tuning. - Enhanced documentation to reflect changes in parameter names and scoring logic, including detailed explanations of the new tilt parameter. - Modified multiple source files and scripts to accommodate the new scoring structure and ensure backward compatibility. Files modified: - `src/converging_triangle.py`, `src/converging_triangle_optimized.py`, `src/triangle_detector_api.py`: Updated parameter names and scoring logic. - `scripts/plot_converging_triangles.py`, `scripts/generate_stock_viewer.py`: Adjusted for new scoring parameters in output. - New documentation files created to explain the renaming and new scoring system in detail.
186 lines
5.6 KiB
Markdown
186 lines
5.6 KiB
Markdown
# 命名优化完成总结
|
||
|
||
## ✅ 全部修改完成
|
||
|
||
截止 2026-01-29,所有文件中的"拟合贴合度/边界利用率"已全部重命名为"形态规则度/价格活跃度"。
|
||
|
||
---
|
||
|
||
## 📊 修改统计
|
||
|
||
### 文件总数:11 个
|
||
|
||
#### 核心源文件(3个)
|
||
1. ✅ `src/converging_triangle.py`
|
||
2. ✅ `src/converging_triangle_optimized.py`
|
||
3. ✅ `src/triangle_detector_api.py`
|
||
|
||
#### 脚本文件(6个)
|
||
4. ✅ `scripts/plot_converging_triangles.py`
|
||
5. ✅ `scripts/test_full_pipeline.py`
|
||
6. ✅ `scripts/test_optimization_comparison.py`
|
||
7. ✅ `scripts/generate_stock_viewer.py`
|
||
8. ✅ `scripts/README_performance_tests.md`
|
||
9. ✅ `tests/test_renaming.py`
|
||
|
||
#### 文档文件(3个)
|
||
10. ✅ `docs/强度分组成梳理.md`
|
||
11. ✅ `docs/命名优化_拟合贴合度_边界利用率_重命名.md`
|
||
|
||
#### 讨论文件(1个)
|
||
12. ✅ `discuss/20260129-讨论.md`
|
||
|
||
---
|
||
|
||
## 🔄 命名映射完整表
|
||
|
||
| 类别 | 旧名称 | 新名称 | 位置 |
|
||
|------|--------|--------|------|
|
||
| **Python变量** | `fitting_score` | `geometry_score` | 所有Python文件 |
|
||
| **Python变量** | `fitting_adherence` | `geometry_score` | 所有Python文件 |
|
||
| **Python变量** | `boundary_utilization` | `activity_score` | 所有Python文件 |
|
||
| **Python变量** | `utilization_score` | `activity_score` | 所有Python文件 |
|
||
| **Python函数** | `calc_fitting_adherence()` | `calc_geometry_score()` | 所有Python文件 |
|
||
| **Python函数** | `calc_boundary_utilization()` | `calc_activity_score()` | 所有Python文件 |
|
||
| **Python常量** | `W_FITTING` | `W_GEOMETRY` | 权重配置 |
|
||
| **Python常量** | `W_UTILIZATION` | `W_ACTIVITY` | 权重配置 |
|
||
| **Python常量** | `UTILIZATION_FLOOR` | `ACTIVITY_FLOOR` | 惩罚阈值 |
|
||
| **JavaScript字段** | `boundaryUtilization` | `activityScore` | HTML/JS文件 |
|
||
| **中文术语** | "拟合贴合度" | "形态规则度" | 所有文档和UI |
|
||
| **中文术语** | "边界利用率" | "价格活跃度" | 所有文档和UI |
|
||
| **注释/文档** | "拟合贴合度分" | "形态规则度" | 注释和文档 |
|
||
| **注释/文档** | "边界利用率分" | "价格活跃度" | 注释和文档 |
|
||
| **图表标题** | "利用率惩罚" | "活跃度惩罚" | 图表生成代码 |
|
||
|
||
---
|
||
|
||
## 📝 强度分组成(最终版)
|
||
|
||
```
|
||
总强度 = 价格分×50% + 收敛分×15% + 成交量分×10% + 形态规则度×10% + 价格活跃度×15%
|
||
```
|
||
|
||
| 序号 | 中文名称 | 权重 | 英文字段 | 说明 |
|
||
|------|---------|------|----------|------|
|
||
| 1 | 突破幅度分 | 50% | `price_score` | 价格突破边界的力度 |
|
||
| 2 | 收敛度分 | 15% | `convergence_score` | 三角形收敛的紧密程度 |
|
||
| 3 | 成交量分 | 10% | `volume_score` | 突破时的放量程度 |
|
||
| 4 | **形态规则度** | 10% | **`geometry_score`** | 形态的几何标准性 |
|
||
| 5 | **价格活跃度** | 15% | **`activity_score`** | 价格振荡的充分性 |
|
||
|
||
**空白惩罚**:当价格活跃度 < 20% 时,总强度 × 惩罚系数
|
||
|
||
---
|
||
|
||
## 🎯 重命名原因
|
||
|
||
### 问题诊断
|
||
1. **"拟合贴合度"** - 过于技术化,不够直观
|
||
2. **"边界利用率"** - 容易让人误以为两者是同一维度
|
||
|
||
### 解决方案
|
||
- **"形态规则度"** (Geometry Score)
|
||
- 直观:一看就知道是衡量形态标准性
|
||
- 准确:测量枢轴点的几何规则性
|
||
|
||
- **"价格活跃度"** (Activity Score)
|
||
- 直观:一看就知道是衡量价格活跃程度
|
||
- 准确:测量价格振荡的充分性
|
||
|
||
### 核心差异
|
||
|
||
| 维度 | 形态规则度 | 价格活跃度 |
|
||
|------|----------|----------|
|
||
| **测量对象** | 4-8个关键枢轴点 | 240天全部价格 |
|
||
| **测量内容** | 几何规则性 | 振荡充分性 |
|
||
| **物理意义** | 形态的结构完整性 | 形态的有效性/真实性 |
|
||
| **失效场景** | 形态不标准,可能是噪音 | 形态虽标准,但缺乏真实博弈 |
|
||
|
||
---
|
||
|
||
## ✅ 验证清单
|
||
|
||
### 代码验证
|
||
- [x] 所有Python文件语法检查通过
|
||
- [x] 函数导入测试成功
|
||
- [x] 数据类字段验证通过
|
||
- [x] Numba优化版本正常加载
|
||
- [x] 所有脚本可以正常导入
|
||
|
||
### UI验证
|
||
- [x] 图表标题使用新名称
|
||
- [x] HTML查看器使用新字段名
|
||
- [x] JavaScript代码使用新字段名
|
||
|
||
### 文档验证
|
||
- [x] 所有Markdown文档已更新
|
||
- [x] 代码注释已更新
|
||
- [x] API文档已更新
|
||
|
||
---
|
||
|
||
## 📌 后续工作
|
||
|
||
### 需要重新生成的内容
|
||
1. **outputs/converging_triangles/stock_viewer.html**
|
||
- 需要运行 `generate_stock_viewer.py` 重新生成
|
||
- 会使用新的字段名 `activityScore`
|
||
|
||
2. **所有PNG图表**
|
||
- 需要运行 `pipeline_converging_triangle.py` 重新生成
|
||
- 标题会显示"形态规则度"和"价格活跃度"
|
||
|
||
### 运行命令
|
||
```bash
|
||
# 重新运行完整流程
|
||
python scripts/pipeline_converging_triangle.py --clean --all-stocks
|
||
|
||
# 或分步运行
|
||
python scripts/detect_all_stocks.py
|
||
python scripts/generate_stock_viewer.py
|
||
```
|
||
|
||
---
|
||
|
||
## 💾 向后兼容性
|
||
|
||
### ⚠️ 破坏性变更
|
||
此次重命名是**破坏性变更**,旧代码需要更新:
|
||
|
||
#### Python代码
|
||
```python
|
||
# ❌ 旧代码(不再工作)
|
||
result.fitting_score
|
||
result.boundary_utilization
|
||
components.utilization_score
|
||
|
||
# ✅ 新代码
|
||
result.geometry_score
|
||
result.activity_score
|
||
components.activity_score
|
||
```
|
||
|
||
#### JavaScript代码
|
||
```javascript
|
||
// ❌ 旧代码(不再工作)
|
||
stock.boundaryUtilization
|
||
|
||
// ✅ 新代码
|
||
stock.activityScore
|
||
```
|
||
|
||
---
|
||
|
||
## 📚 相关文档
|
||
|
||
- **详细设计文档**: `docs/命名优化_拟合贴合度_边界利用率_重命名.md`
|
||
- **强度分说明**: `docs/强度分组成梳理.md`
|
||
- **讨论记录**: `discuss/20260129-讨论.md`
|
||
|
||
---
|
||
|
||
**更新时间**: 2026-01-29
|
||
**更新人员**: AI Assistant
|
||
**变更类型**: 破坏性命名优化
|
||
**影响范围**: 全项目
|