- 后端实现: - 实现 NBA 比赛数据服务,从 Polymarket API 获取数据 - 实现数据库存储和增量拉取逻辑(优先从 DB 获取,数据不足时增量拉取) - 使用 sports_market_types 参数直接筛选 moneyline 类型 - 实现分页拉取逻辑(基于 gameStartTime 和 createdAt) - 移除 nba_markets 相关的外键约束(V12 迁移) - 修复数据拉取逻辑:超过 3 天的数据不拉取 - 前端实现: - 实现策略创建/编辑/列表页面 - 实现交易信号展示页面和统计页面 - 修复重复请求问题(使用 useCallback 包装 fetchGames) - 支持选择单场比赛进行配置 - 使用西8区时间格式化显示 - 数据库: - 创建 NBA 量化交易相关表(V11 迁移) - 移除外键约束(V12 迁移) - 文档: - 添加产品需求文档、技术方案、算法文档等
568 lines
24 KiB
Markdown
568 lines
24 KiB
Markdown
# NBA 量化策略前端可配置参数清单
|
||
|
||
## 一、参数分类
|
||
|
||
前端可配置参数分为以下几类:
|
||
1. **策略基本信息**:策略名称、描述等
|
||
2. **比赛筛选参数**:选择关注的比赛
|
||
3. **触发条件参数**:控制何时生成交易信号
|
||
4. **交易规则参数**:控制如何执行交易
|
||
5. **风险控制参数**:限制交易风险
|
||
6. **算法权重参数**(高级):调整算法内部权重
|
||
7. **系统配置参数**:数据更新频率、推送设置等
|
||
|
||
---
|
||
|
||
## 二、详细参数列表
|
||
|
||
### 2.1 策略基本信息(必填)
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|------|---------|
|
||
| **策略名称** | String | ✅ | - | 用户自定义策略名称,1-50 字符 | Input |
|
||
| **策略描述** | String | ❌ | - | 策略的简要说明,最多 200 字符 | TextArea |
|
||
| **关联账户** | Long | ✅ | - | 选择用于交易的账户 | Select |
|
||
| **启用状态** | Boolean | ❌ | true | 是否启用该策略 | Switch |
|
||
|
||
---
|
||
|
||
### 2.2 比赛筛选参数(可选)
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|------|---------|
|
||
| **关注球队** | List\<String\> | ❌ | [] | 选择关注的球队(可选,不选择则分析所有比赛) | MultiSelect |
|
||
| **日期范围** | DateRange | ❌ | 今日 | 选择关注的日期范围 | DateRangePicker |
|
||
| **比赛重要性** | Enum | ❌ | 全部 | 选择比赛重要性(全部/常规赛/季后赛/关键战) | Select |
|
||
| **主客场筛选** | Enum | ❌ | 全部 | 筛选主队或客队(全部/仅主队/仅客队) | Select |
|
||
|
||
---
|
||
|
||
### 2.3 触发条件参数(必填)
|
||
|
||
#### 2.3.1 概率阈值参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **最小获胜概率差异** | Decimal | ✅ | 0.1 | 0.05 - 0.5 | 主队和客队获胜概率的最小差异(如 0.1 表示至少 10% 的差异) | InputNumber (0-1, 步长 0.01) |
|
||
| **最小获胜概率** | Decimal | ❌ | 0.55 | 0.5 - 1.0 | 生成买入信号时的最小获胜概率(可选,不设置则不限制) | InputNumber (0-1, 步长 0.01) |
|
||
| **最大获胜概率** | Decimal | ❌ | - | 0.0 - 0.5 | 生成买入信号时的最大获胜概率(可选,用于反向策略) | InputNumber (0-1, 步长 0.01) |
|
||
|
||
#### 2.3.2 交易价值参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **最小交易价值** | Decimal | ✅ | 0.05 | 0.0 - 1.0 | 交易价值评分的最小值,只有达到此值才会生成信号 | InputNumber (0-1, 步长 0.01) |
|
||
|
||
#### 2.3.3 时间条件参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **最小剩余时间** | Integer | ❌ | 5 | 0 - 48 | 生成信号时的最小剩余时间(分钟),0 表示不限制 | InputNumber (0-48) |
|
||
| **最大剩余时间** | Integer | ❌ | - | 0 - 48 | 生成信号时的最大剩余时间(分钟),可选 | InputNumber (0-48) |
|
||
| **比赛阶段限制** | Enum | ❌ | 全部 | 全部/仅比赛前/仅比赛中/仅比赛后 | 限制在哪个阶段生成信号 | Select |
|
||
|
||
#### 2.3.4 分差条件参数(可选)
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **最小分差** | Integer | ❌ | - | -50 - 50 | 生成信号时的最小分差(主队得分 - 客队得分),可选 | InputNumber |
|
||
| **最大分差** | Integer | ❌ | - | -50 - 50 | 生成信号时的最大分差,可选 | InputNumber |
|
||
| **分差范围** | Enum | ❌ | 全部 | 全部/小分差(<5分)/中分差(5-15分)/大分差(>15分) | 限制分差范围 | Select |
|
||
|
||
---
|
||
|
||
### 2.4 交易规则参数
|
||
|
||
#### 2.4.1 买入规则参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **买入金额策略** | Enum | ✅ | FIXED | FIXED/RATIO/DYNAMIC | 买入金额计算方式 | Select |
|
||
| **固定买入金额** | Decimal | 条件必填 | 10 | > 0 | 固定金额策略时的买入金额(USDC) | InputNumber |
|
||
| **买入比例** | Decimal | 条件必填 | 0.1 | 0.01 - 1.0 | 按比例策略时的买入比例(账户余额的百分比) | InputNumber (0-1, 步长 0.01) |
|
||
| **基础买入金额** | Decimal | 条件必填 | 10 | > 0 | 动态计算策略时的基础金额(USDC) | InputNumber |
|
||
| **买入时机** | Enum | ✅ | IMMEDIATE | IMMEDIATE/DELAYED | 立即买入或延迟买入 | Select |
|
||
| **延迟买入时间** | Integer | 条件必填 | 0 | 0 - 300 | 延迟买入的秒数(仅在延迟买入时生效) | InputNumber (0-300) |
|
||
| **买入方向** | Enum | ✅ | AUTO | AUTO/YES/NO | 买入方向:AUTO=系统自动判断,YES/NO=固定方向 | Select |
|
||
| **说明** | - | - | - | - | 系统会自动分析两支队伍,选择获胜概率更高、交易价值更大的方向 | Info |
|
||
|
||
#### 2.4.2 卖出规则参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **启用卖出** | Boolean | ✅ | true | - | 是否启用卖出功能 | Switch |
|
||
| **止盈阈值** | Decimal | ❌ | 0.2 | 0.0 - 1.0 | 预期收益达到多少时卖出(如 0.2 表示 20%) | InputNumber (0-1, 步长 0.01) |
|
||
| **止损阈值** | Decimal | ❌ | -0.1 | -1.0 - 0.0 | 预期亏损达到多少时卖出(如 -0.1 表示 -10%) | InputNumber (-1-0, 步长 0.01) |
|
||
| **概率反转阈值** | Decimal | ❌ | 0.15 | 0.0 - 1.0 | 获胜概率反转多少时卖出(如 0.15 表示 15%) | InputNumber (0-1, 步长 0.01) |
|
||
| **卖出比例** | Decimal | ✅ | 1.0 | 0.1 - 1.0 | 卖出时的比例(1.0 表示全部卖出) | InputNumber (0-1, 步长 0.1) |
|
||
| **卖出时机** | Enum | ✅ | IMMEDIATE | IMMEDIATE/DELAYED | 立即卖出或延迟卖出 | Select |
|
||
| **延迟卖出时间** | Integer | 条件必填 | 0 | 0 - 300 | 延迟卖出的秒数(仅在延迟卖出时生效) | InputNumber (0-300) |
|
||
|
||
#### 2.4.3 价格策略参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **价格策略** | Enum | ✅ | MARKET | FIXED/MARKET/DYNAMIC | 价格计算方式 | Select |
|
||
| **固定价格** | Decimal | 条件必填 | - | 0.01 - 0.99 | 固定价格策略时的价格(仅在固定价格时生效) | InputNumber (0-1, 步长 0.01) |
|
||
| **价格偏移** | Decimal | ❌ | 0.0 | -0.1 - 0.1 | 价格偏移百分比(用于调整价格,提高交易成功率,如 0.05 表示 +5%) | InputNumber (-0.1-0.1, 步长 0.01) |
|
||
|
||
---
|
||
|
||
### 2.5 风险控制参数
|
||
|
||
#### 2.5.1 持仓限制参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **最大持仓** | Decimal | ✅ | 50 | >= 1 | 单次最大买入金额(USDC) | InputNumber (>= 1) |
|
||
| **最小持仓** | Decimal | ✅ | 5 | >= 1 | 单次最小买入金额(USDC) | InputNumber (>= 1) |
|
||
| **单场比赛最大持仓** | Decimal | ❌ | - | >= 1 | 单场比赛的最大持仓金额(USDC),可选 | InputNumber (>= 1) |
|
||
|
||
#### 2.5.2 每日限制参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **每日亏损限制** | Decimal | ❌ | 100 | > 0 | 每日最大亏损金额(USDC),可选 | InputNumber (> 0) |
|
||
| **每日订单限制** | Integer | ❌ | 20 | > 0 | 每日最大订单数量,可选 | InputNumber (> 0) |
|
||
| **每日盈利目标** | Decimal | ❌ | - | > 0 | 每日盈利目标(USDC),达到后停止交易,可选 | InputNumber (> 0) |
|
||
|
||
#### 2.5.3 价格容忍度参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **价格容忍度** | Decimal | ❌ | 0.05 | 0.0 - 1.0 | 允许的价格偏差百分比(如 0.05 表示 5%) | InputNumber (0-1, 步长 0.01) |
|
||
|
||
#### 2.5.4 概率置信度参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **最小概率阈值** | Decimal | ❌ | - | 0.5 - 1.0 | 最小获胜概率阈值(可选,不设置则不限制) | InputNumber (0.5-1.0, 步长 0.01) |
|
||
| **最大概率阈值** | Decimal | ❌ | - | 0.0 - 0.5 | 最大获胜概率阈值(可选,用于反向策略) | InputNumber (0-0.5, 步长 0.01) |
|
||
|
||
---
|
||
|
||
### 2.6 算法权重参数(高级,可选)
|
||
|
||
#### 2.6.1 综合评分权重参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **基础实力权重** | Decimal | ❌ | 0.3 | 0.0 - 1.0 | 基础实力评分在综合评分中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
| **近期状态权重** | Decimal | ❌ | 0.25 | 0.0 - 1.0 | 近期状态评分在综合评分中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
| **阵容完整度权重** | Decimal | ❌ | 0.2 | 0.0 - 1.0 | 阵容完整度评分在综合评分中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
| **球星状态权重** | Decimal | ❌ | 0.15 | 0.0 - 1.0 | 球星状态评分在综合评分中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
| **环境因素权重** | Decimal | ❌ | 0.1 | 0.0 - 1.0 | 环境因素评分在综合评分中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
| **说明** | - | - | - | - | 所有权重之和应该等于 1.0,系统会自动归一化 | Info |
|
||
|
||
#### 2.6.2 对位分析权重参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **对位优势权重** | Decimal | ❌ | 0.2 | 0.0 - 1.0 | 对位优势在获胜概率调整中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
|
||
#### 2.6.3 实时状态权重参数(仅比赛进行中)
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **分差调整权重** | Decimal | ❌ | 0.3 | 0.0 - 1.0 | 分差调整在实时概率调整中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
| **势头调整权重** | Decimal | ❌ | 0.2 | 0.0 - 1.0 | 势头调整在实时概率调整中的权重 | InputNumber (0-1, 步长 0.05) |
|
||
|
||
---
|
||
|
||
### 2.7 系统配置参数
|
||
|
||
#### 2.7.1 数据更新参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **数据更新频率** | Integer | ✅ | 30 | 10/30/60/300 | NBA 数据更新频率(秒) | Select |
|
||
| **分析频率** | Integer | ✅ | 30 | 10/30/60/300 | 量化分析执行频率(秒) | Select |
|
||
|
||
#### 2.7.2 推送设置参数
|
||
|
||
| 参数名称 | 类型 | 必填 | 默认值 | 取值范围 | 说明 | UI 组件 |
|
||
|---------|------|------|--------|----------|------|---------|
|
||
| **推送失败订单** | Boolean | ❌ | false | - | 是否推送失败订单 | Switch |
|
||
| **推送频率** | Enum | ❌ | REALTIME | REALTIME/BATCH | 实时推送或批量推送 | Select |
|
||
| **批量推送间隔** | Integer | 条件必填 | 1 | 1 - 60 | 批量推送的时间间隔(秒,仅在批量推送时生效) | InputNumber (1-60) |
|
||
|
||
---
|
||
|
||
## 三、参数分组和页面布局建议
|
||
|
||
### 3.1 参数分组
|
||
|
||
**基础配置组**(第一页):
|
||
- 策略基本信息
|
||
- 比赛筛选参数
|
||
|
||
**触发条件组**(第二页):
|
||
- 概率阈值参数
|
||
- 交易价值参数
|
||
- 时间条件参数
|
||
- 分差条件参数
|
||
|
||
**交易规则组**(第三页):
|
||
- 买入规则参数
|
||
- 卖出规则参数
|
||
- 价格策略参数
|
||
|
||
**风险控制组**(第四页):
|
||
- 持仓限制参数
|
||
- 每日限制参数
|
||
- 价格容忍度参数
|
||
- 概率置信度参数
|
||
|
||
**高级配置组**(第五页,可折叠):
|
||
- 算法权重参数
|
||
- 系统配置参数
|
||
|
||
### 3.2 UI 组件建议
|
||
|
||
**表单布局**:
|
||
- 使用分步骤表单(Stepper),引导用户逐步配置
|
||
- 每个步骤有清晰的标题和说明
|
||
- 必填项用红色星号标记
|
||
- 提供实时验证和错误提示
|
||
|
||
**参数展示**:
|
||
- 使用折叠面板(Collapse)组织相关参数
|
||
- 高级参数默认折叠,用户可展开查看
|
||
- 提供参数说明和示例
|
||
- 提供参数推荐值(基于历史数据)
|
||
|
||
**交互优化**:
|
||
- 条件显示:某些参数只在特定条件下显示(如固定价格只在价格策略=固定时显示)
|
||
- 联动验证:相关参数之间进行联动验证(如最大持仓 >= 最小持仓)
|
||
- 实时预览:显示参数配置后的预期效果(如预期信号数量、预期交易频率等)
|
||
|
||
---
|
||
|
||
## 四、参数验证规则
|
||
|
||
### 4.1 必填参数验证
|
||
|
||
- 策略名称:不能为空,1-50 字符,不能重复
|
||
- 关联账户:必须选择
|
||
- 最小获胜概率差异:必须 > 0
|
||
- 最小交易价值:必须 >= 0
|
||
- 最大持仓:必须 >= 1
|
||
- 最小持仓:必须 >= 1
|
||
- 数据更新频率:必须选择
|
||
- 分析频率:必须选择
|
||
|
||
### 4.2 数值范围验证
|
||
|
||
- 概率相关参数:必须在 [0, 1] 范围内
|
||
- 金额相关参数:必须 > 0
|
||
- 时间相关参数:必须在合理范围内(如 0-48 分钟)
|
||
- 权重相关参数:必须在 [0, 1] 范围内,且总和应该接近 1.0
|
||
|
||
### 4.3 逻辑关系验证
|
||
|
||
- 最大持仓 >= 最小持仓
|
||
- 最大剩余时间 >= 最小剩余时间(如果都设置了)
|
||
- 最大分差 >= 最小分差(如果都设置了)
|
||
- 最大概率阈值 <= 最小概率阈值(如果都设置了)
|
||
- 权重总和应该在 0.9 - 1.1 范围内(系统会自动归一化)
|
||
|
||
### 4.4 条件依赖验证
|
||
|
||
- 如果买入金额策略 = FIXED,则固定买入金额必填
|
||
- 如果买入金额策略 = RATIO,则买入比例必填
|
||
- 如果买入金额策略 = DYNAMIC,则基础买入金额必填
|
||
- 如果价格策略 = FIXED,则固定价格必填
|
||
- 如果买入时机 = DELAYED,则延迟买入时间必填
|
||
- 如果卖出时机 = DELAYED,则延迟卖出时间必填
|
||
- 如果推送频率 = BATCH,则批量推送间隔必填
|
||
|
||
---
|
||
|
||
## 五、参数默认值建议
|
||
|
||
### 5.1 新手推荐配置
|
||
|
||
**保守策略**(适合新手):
|
||
- 最小获胜概率差异:0.15(更严格的条件)
|
||
- 最小交易价值:0.08(更高的价值要求)
|
||
- 最大持仓:20 USDC(较小的持仓)
|
||
- 最小持仓:5 USDC
|
||
- 每日亏损限制:50 USDC
|
||
- 价格容忍度:0.03(3%,较严格)
|
||
|
||
**稳健策略**(推荐):
|
||
- 最小获胜概率差异:0.1(标准条件)
|
||
- 最小交易价值:0.05(标准价值)
|
||
- 最大持仓:50 USDC
|
||
- 最小持仓:5 USDC
|
||
- 每日亏损限制:100 USDC
|
||
- 价格容忍度:0.05(5%)
|
||
|
||
**激进策略**(适合有经验的用户):
|
||
- 最小获胜概率差异:0.05(较宽松的条件)
|
||
- 最小交易价值:0.03(较低的价值要求)
|
||
- 最大持仓:100 USDC(较大的持仓)
|
||
- 最小持仓:10 USDC
|
||
- 每日亏损限制:200 USDC
|
||
- 价格容忍度:0.1(10%,较宽松)
|
||
|
||
### 5.2 参数模板
|
||
|
||
系统可以提供预定义的参数模板:
|
||
- **保守模板**:使用保守策略的默认值
|
||
- **稳健模板**:使用稳健策略的默认值
|
||
- **激进模板**:使用激进策略的默认值
|
||
- **自定义模板**:用户保存的自定义配置
|
||
|
||
### 5.3 基于历史数据的推荐值
|
||
|
||
#### 5.3.1 推荐值功能概述
|
||
|
||
系统可以根据历史数据分析和回测结果,为每个可配置参数提供智能推荐值,帮助用户快速配置策略,提高策略效果。
|
||
|
||
#### 5.3.2 推荐值计算方式
|
||
|
||
**方式一:基于历史回测的推荐值**
|
||
|
||
**计算流程**:
|
||
1. 使用历史比赛数据(如过去 1-3 个赛季)
|
||
2. 对不同的参数组合进行回测
|
||
3. 评估每个参数组合的效果(准确率、盈亏、风险等)
|
||
4. 选择最优的参数组合作为推荐值
|
||
|
||
**评估指标**:
|
||
- 信号准确率:预测获胜 vs 实际获胜的比例
|
||
- 总盈亏:累计盈亏金额
|
||
- 盈亏比率:盈利信号的平均盈亏 / 亏损信号的平均盈亏
|
||
- 最大回撤:最大连续亏损
|
||
- 夏普比率:风险调整后的收益
|
||
|
||
**推荐值选择**:
|
||
- 选择综合评分最高的参数组合
|
||
- 综合评分 = 准确率 × 0.3 + 盈亏比率 × 0.3 + 夏普比率 × 0.2 + (1 - 最大回撤率) × 0.2
|
||
|
||
**方式二:基于用户策略的推荐值**
|
||
|
||
**计算方式**:
|
||
- 分析用户已有策略的参数配置
|
||
- 统计表现最好的策略的参数分布
|
||
- 计算参数的平均值或中位数作为推荐值
|
||
|
||
**适用场景**:
|
||
- 新用户:使用所有用户的最佳策略参数
|
||
- 老用户:使用该用户自己的最佳策略参数
|
||
|
||
**方式三:基于市场环境的推荐值**
|
||
|
||
**动态调整**:
|
||
- 根据当前市场环境(波动性、流动性等)动态调整推荐值
|
||
- 市场波动大时:提高概率阈值,降低持仓
|
||
- 市场稳定时:降低概率阈值,提高持仓
|
||
|
||
**环境因素**:
|
||
- 市场波动性:基于近期价格的波动率
|
||
- 市场流动性:基于订单深度和交易量
|
||
- 比赛重要性:季后赛 vs 常规赛
|
||
|
||
#### 5.3.3 推荐值展示方式
|
||
|
||
**在参数输入框中的展示**:
|
||
- 在参数输入框旁边显示推荐值按钮(如"使用推荐值"图标)
|
||
- 点击后自动填充推荐值
|
||
- 推荐值用不同颜色标识(如蓝色高亮)
|
||
- 显示推荐值的来源标签(如"基于历史回测"、"基于您的策略"、"基于市场环境")
|
||
- 显示推荐值的置信度(如"高置信度"、"中置信度"、"低置信度")
|
||
|
||
**推荐值详细说明**:
|
||
- 点击推荐值按钮后,弹出推荐值说明卡片
|
||
- 显示推荐值的计算依据
|
||
- 显示使用该推荐值的预期效果(如"预期准确率 65%"、"预期盈亏比 1.5")
|
||
- 显示推荐值的适用场景(如"适合保守策略"、"适合激进策略")
|
||
- 显示推荐值的验证数据(如"基于 500 场历史比赛验证")
|
||
|
||
**参数对比展示**:
|
||
- 在参数配置页面底部显示"推荐值对比"面板
|
||
- 显示当前配置值 vs 推荐值的对比
|
||
- 显示预期效果对比(如准确率、盈亏等)
|
||
- 提供"应用所有推荐值"按钮,一键应用所有推荐值
|
||
- 提供"应用部分推荐值"选项,让用户选择应用哪些推荐值
|
||
|
||
#### 5.3.4 推荐值更新机制
|
||
|
||
**更新频率**:
|
||
- 每周更新一次:基于最新的历史数据
|
||
- 每月深度更新:重新进行完整的回测分析
|
||
- 实时更新:根据市场环境变化实时调整(仅市场环境相关参数)
|
||
|
||
**触发更新**:
|
||
- 新赛季开始:使用新赛季的数据重新计算
|
||
- 市场环境变化:检测到市场环境显著变化时更新
|
||
- 用户请求:用户手动触发更新
|
||
|
||
**更新通知**:
|
||
- 在策略配置页面显示"推荐值已更新"提示
|
||
- 显示更新内容(哪些参数有变化)
|
||
- 提供"查看更新"按钮,查看详细的更新说明
|
||
- 提供"应用更新"按钮,一键应用更新的推荐值
|
||
|
||
#### 5.3.5 推荐值个性化
|
||
|
||
**基于用户偏好的推荐**:
|
||
|
||
**偏好设置**:
|
||
- 风险偏好:保守/稳健/激进
|
||
- 交易频率偏好:低频/中频/高频
|
||
- 持仓偏好:小持仓/中持仓/大持仓
|
||
|
||
**个性化推荐**:
|
||
- 根据用户偏好筛选推荐值
|
||
- 优先推荐符合用户偏好的参数组合
|
||
- 提供多个推荐选项(保守推荐、稳健推荐、激进推荐)
|
||
|
||
**基于策略类型的推荐**:
|
||
|
||
**策略类型**:
|
||
- 保守策略:高概率阈值、小持仓、严格风险控制
|
||
- 稳健策略:中等概率阈值、中等持仓、标准风险控制
|
||
- 激进策略:低概率阈值、大持仓、宽松风险控制
|
||
|
||
**类型推荐**:
|
||
- 用户选择策略类型后,自动推荐该类型的参数值
|
||
- 提供策略类型模板,一键应用
|
||
|
||
#### 5.3.6 推荐值验证和反馈
|
||
|
||
**推荐值验证**:
|
||
|
||
**验证方式**:
|
||
- 使用历史数据验证推荐值的有效性
|
||
- 计算推荐值的回测准确率
|
||
- 评估推荐值的风险水平
|
||
|
||
**验证结果展示**:
|
||
- 显示推荐值的验证状态(如"已验证"、"待验证")
|
||
- 显示验证数据(如"基于 500 场历史比赛验证")
|
||
- 显示验证指标(如准确率、盈亏比等)
|
||
- 显示验证时间(如"2024-12-01 验证")
|
||
|
||
**用户反馈机制**:
|
||
|
||
**反馈收集**:
|
||
- 用户使用推荐值后,可以反馈效果
|
||
- 收集用户对推荐值的满意度(1-5 星)
|
||
- 收集用户的实际使用效果数据(准确率、盈亏等)
|
||
|
||
**反馈应用**:
|
||
- 根据用户反馈调整推荐算法
|
||
- 优化推荐值的准确性
|
||
- 提高推荐值的适用性
|
||
|
||
#### 5.3.7 推荐值功能实现
|
||
|
||
**前端实现**:
|
||
|
||
**UI 组件**:
|
||
- 推荐值按钮:在参数输入框旁边显示推荐值图标按钮
|
||
- 推荐值卡片:点击后显示推荐值的详细说明
|
||
- 推荐值对比面板:显示当前值 vs 推荐值的对比
|
||
- 推荐值应用按钮:一键应用所有推荐值
|
||
|
||
**交互流程**:
|
||
1. 用户进入策略配置页面
|
||
2. 系统异步加载推荐值(不阻塞页面加载)
|
||
3. 在参数输入框旁边显示推荐值按钮(如果该参数有推荐值)
|
||
4. 用户点击推荐值按钮,查看推荐值详情
|
||
5. 用户可以选择应用推荐值或手动调整
|
||
6. 用户可以在底部查看所有推荐值的对比
|
||
|
||
**后端实现**:
|
||
|
||
**推荐值计算服务**:
|
||
- 历史回测服务:执行历史数据回测
|
||
- 推荐值计算服务:计算推荐值
|
||
- 推荐值缓存服务:缓存推荐值,提高响应速度
|
||
|
||
**API 接口**:
|
||
- 获取推荐值接口:根据参数类型和用户偏好返回推荐值
|
||
- 更新推荐值接口:触发推荐值更新
|
||
- 推荐值验证接口:验证推荐值的有效性
|
||
- 用户反馈接口:收集用户反馈
|
||
|
||
**数据存储**:
|
||
|
||
**推荐值存储**:
|
||
- 存储推荐值计算结果
|
||
- 存储推荐值的计算依据和验证结果
|
||
- 存储用户反馈数据
|
||
|
||
**缓存策略**:
|
||
- 推荐值缓存 24 小时(每天更新一次)
|
||
- 市场环境变化时立即更新缓存
|
||
- 用户请求时优先使用缓存,异步更新
|
||
|
||
#### 5.3.8 推荐值参数列表
|
||
|
||
以下参数支持推荐值功能:
|
||
|
||
**触发条件参数**:
|
||
- 最小获胜概率差异:基于历史回测的最优值
|
||
- 最小交易价值:基于历史回测的最优值
|
||
- 最小剩余时间:基于历史回测的最优值
|
||
|
||
**交易规则参数**:
|
||
- 买入金额策略:基于用户策略的推荐
|
||
- 固定买入金额:基于用户策略的推荐
|
||
- 买入比例:基于用户策略的推荐
|
||
- 价格策略:基于市场环境的推荐
|
||
- 价格偏移:基于历史回测的最优值
|
||
|
||
**风险控制参数**:
|
||
- 最大持仓:基于用户偏好和账户余额的推荐
|
||
- 最小持仓:基于用户偏好和账户余额的推荐
|
||
- 每日亏损限制:基于用户账户余额的推荐
|
||
- 每日订单限制:基于历史数据的推荐
|
||
- 价格容忍度:基于市场环境的推荐
|
||
|
||
**卖出规则参数**:
|
||
- 止盈阈值:基于历史回测的最优值
|
||
- 止损阈值:基于历史回测的最优值
|
||
- 概率反转阈值:基于历史回测的最优值
|
||
|
||
**算法权重参数**(高级):
|
||
- 综合评分权重:基于历史回测的最优值
|
||
- 对位分析权重:基于历史回测的最优值
|
||
- 实时状态权重:基于历史回测的最优值
|
||
|
||
---
|
||
|
||
## 六、参数说明和帮助
|
||
|
||
### 6.1 参数说明
|
||
|
||
每个参数都应该有清晰的说明:
|
||
- **参数名称**:简洁明了的名称
|
||
- **参数说明**:详细说明参数的作用和影响
|
||
- **取值范围**:明确的范围和单位
|
||
- **推荐值**:基于历史数据的推荐值
|
||
- **示例**:具体的使用示例
|
||
|
||
### 6.2 帮助文档
|
||
|
||
提供以下帮助内容:
|
||
- **参数说明文档**:详细的参数说明文档
|
||
- **策略配置指南**:如何配置策略的指南
|
||
- **常见问题**:常见配置问题和解答
|
||
- **最佳实践**:配置策略的最佳实践
|
||
|
||
### 6.3 实时提示
|
||
|
||
在配置过程中提供实时提示:
|
||
- **参数影响提示**:说明参数调整对策略的影响
|
||
- **风险提示**:高风险配置的警告提示
|
||
- **优化建议**:基于当前配置的优化建议
|
||
|
||
---
|
||
|
||
**文档结束**
|
||
|