Prompt 工程技能 - 优化交易策略提示词、LLM 指令、系统提示
61
45%
Does it follow best practices?
Impact
87%
1.52xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.trae/skills/prompt-optimizer/SKILL.md此技能指导 Claude 使用经过验证的 Prompt 工程技巧来优化交易策略提示词、LLM 指令和系统提示,确保 AI 能够准确理解和执行量化交易任务。
# 使用 CO-STAR 框架
prompt_template = """
# Context (背景)
你是专业的量化交易策略分析师,专注于 SMC + 马丁格尔策略。
# Objective (目标)
分析当前市场状况并生成交易信号。
# Style (风格)
• 精准、数据驱动
• 只陈述事实,避免模糊词汇
• 使用专业术语
# Tone (语气)
• 专业、客观
• 不含情绪色彩
• 基于证据的推理
# Audience (受众)
• 量化交易团队
• 具备技术分析背景
# Response (响应格式)
以 JSON 格式输出:
{
"signal": "BUY/SELL/WAIT",
"confidence": 0-100,
"reasoning": "...",
"risk_level": "LOW/MEDIUM/HIGH"
}
"""# 提供示例
prompt = """
你是交易信号分析师。根据以下格式分析市场:
示例 1:
输入: EURUSD H1, MA50 上穿 MA200, RSI=55, 出现 BOS
输出: {{"signal": "BUY", "confidence": 85, "reasoning": "多头趋势启动,RSI 不过热", "risk_level": "MEDIUM"}}
示例 2:
输入: GBPUSD H1, 价格跌至 OB 区间内, RSI=30, 出现吞没形态
输出: {{"signal": "BUY", "confidence": 90, "reasoning": "到达关键支撑,反转信号明确", "risk_level": "LOW"}}
现在分析:
输入: USDJPY H1, MA50 下穿 MA200, RSI=70, 出现 CHoCH
输出:
"""# 引导逐步推理
prompt = """
分析市场并生成交易信号,请按以下步骤思考:
## Step 1: 趋势分析
• H1 趋势方向?
• M15 与 H1 是否一致?
## Step 2: 关键位分析
• 当前价格相对于 Order Block 位置?
• 是否接近 Fair Value Gap?
## Step 3: 价格行为
• 是否出现明确的反转形态(Pinbar/Engulfing)?
• 成交量是否确认?
## Step 4: 风险评估
• 预期止损位置?
• 盈亏比是否 ≥ 1:1.5?
## Step 5: 最终决策
基于以上分析,输出交易信号。
"""# 添加安全护栏
prompt = """
你是交易信号生成器。
## 约束条件
1. 只在满足 ALL 以下条件时发出信号:
- [ ] 多周期趋势一致
- [ ] 到达关键结构位
- [ ] 价格行为确认
2. 任何时候都可以输出 "WAIT"(观望)
3. 风险评级规则:
- LOW: 盈亏比 ≥ 1:2, 止损 < 30 pips
- MEDIUM: 盈亏比 1:1.5-1:2
- HIGH: 盈亏比 < 1:1.5 或 止损 > 50 pips
4. 不允许信号:
- 逆趋势(除非明确 CHoCH)
- RSI 极端值时追涨杀跌
- 重大新闻前 30 分钟内
"""market_analysis_prompt = """
你是专业的量化交易市场分析师。
## 分析任务
分析 {symbol} 在 {timeframe} 级别的市场状况。
## 分析框架
使用 SMC (Smart Money Concepts) 方法论:
1. **结构分析**
- 识别最近的 BOS (Break of Structure)
- 识别 CHoCH (Change of Character)
- 绘制 Order Blocks (OB)
- 标记 Fair Value Gaps (FVG)
2. **流动性分析**
- 识别流动性池 (Sell-side/Buy-side)
- 当前价格相对流动性位置
3. **趋势判断**
- 主要趋势方向 (H1)
- 次级趋势方向 (M15)
- 趋势一致性评估
## 输出格式
```json
{{
"trend": "BULLISH/BEARISH/RANGING",
"structure": {{
"recent_bos": {{ "type": "HIGH/LOW", "price": 1.0850 }},
"choch_detected": true/false,
"current_ob": {{ "type": "BULLISH/BEARISH", "range": [1.0840, 1.0850] }},
"fvg_status": "FILLED/UNFILLED/PARTIAL"
}},
"liquidity": {{
"nearest_pool": "BUY/SELL",
"distance_pips": 25
}},
"bias": "LONG/SHORT/NEUTRAL",
"confidence": 0-100,
"reasoning": "详细分析过程..."
}}价格数据: {price_data} 指标数据: {indicators_data} """
### 2. 风险评估 Prompt
```python
risk_assessment_prompt = """
你是风险管理专家。
## 评估任务
评估当前持仓组合的风险状况。
## 风险指标
1. **回撤分析**
- 当前回撤百分比
- 距离最大允许回撤的距离
2. **保证金使用**
- 当前保证金占用
- 保证金使用率
3. **相关性风险**
- 持仓货币对相关性矩阵
- 集中度风险
4. **市场风险**
- 当前波动率 (ATR)
- 新闻事件影响
## 风险等级
- GREEN: 安全 (< 警戒线 50%)
- YELLOW: 警告 (警戒线 50%-80%)
- RED: 危险 (> 警戒线 80%)
## 输出格式
```json
{{
"risk_level": "GREEN/YELLOW/RED",
"drawdown": {{"current": 5.2, "max_allowed": 10, "percentage": 52}},
"margin_usage": {{"current": 2500, "available": 10000, "percentage": 25}},
"correlation_risk": "LOW/MEDIUM/HIGH",
"recommendation": "具体建议...",
"action_required": "NONE/REDUCE_POSITION/CLOSE_ALL"
}}持仓: {positions} 账户信息: {account}
### 3. 策略优化 Prompt
```python
strategy_optimization_prompt = """
你是策略优化专家。
## 优化任务
基于历史交易数据优化策略参数。
## 当前参数
```json
{current_params}{historical_performance}使用网格搜索 + 贝叶斯优化
{{
"optimized_params": {{
"grid_step": {{"current": 20, "suggested": 22, "reasoning": "..."}},
"take_profit": {{"current": 50, "suggested": 55, "reasoning": "..."}},
"multiplier": {{"current": 1.5, "suggested": 1.4, "reasoning": "..."}}
}},
"expected_improvement": {{
"sharpe_improvement": "+0.2",
"dd_reduction": "-2.3%",
"win_rate_change": "+3%"
}},
"trade_offs": ["增加网格间距会降低交易频率但提高盈亏比..."]
}}"""
## Prompt 优化技巧
### 技巧 1: 指定输出格式
```python
# 使用 JSON Schema 验证
output_schema = {
"type": "object",
"properties": {
"signal": {"enum": ["BUY", "SELL", "WAIT"]},
"confidence": {"type": "number", "minimum": 0, "maximum": 100},
"reasoning": {"type": "string", "maxLength": 500}
},
"required": ["signal", "confidence", "reasoning"]
}# Good vs Bad prompt
# Bad:
"分析市场并给出交易建议"
# Good:
"""
你是交易分析师。以下是三个分析示例:
示例 1: 多头趋势启动时
输入: EURUSD, MA50 上穿 MA200, RSI=55
输出: BUY, confidence=85, reasoning="趋势反转明确,RSI 健康"
示例 2: 到达关键支撑时
输入: GBPUSD, 价格触及 OB 区域, RSI=30
输出: BUY, confidence=90, reasoning="到达关键支撑位,预期反弹"
示例 3: 趋势不明时
输入: USDJPY, 横盘整理, RSI=50
输出: WAIT, confidence=95, reasoning="无明确方向信号,观望"
现在分析: {current_market_data}
输出:
"""# Complex tasks need step-by-step
prompt = """
优化策略参数,请按以下步骤:
## Step 1: 参数敏感性分析
对每个参数进行 ±10% 变化,观察对结果的影响
## Step 2: 识别最佳参数范围
基于敏感性分析,确定每个参数的有效范围
## Step 3: 网格搜索
在有效范围内进行网格搜索
## Step 4: 验证
用测试集验证优化后的参数
## Step 5: 输出结果
以 JSON 格式输出优化建议
"""def test_prompt(prompt, test_cases):
"""测试 prompt 的准确性和一致性"""
results = []
for case in test_cases:
result = llm.generate(prompt.format(**case))
results.append({
'input': case,
'output': result,
'expected': case.get('expected')
})
return evaluate_results(results)# 比较不同 prompt 版本
prompt_v1 = generate_market_analysis_prompt_v1()
prompt_v2 = generate_market_analysis_prompt_v2()
results_v1 = test_on_historical_data(prompt_v1)
results_v2 = test_on_historical_data(prompt_v2)
compare_results(results_v1, results_v2)# 记录 prompt 版本历史
PROMPT_REGISTRY = {
'v1.0': {'date': '2025-02-01', 'accuracy': 0.75},
'v1.1': {'date': '2025-02-15', 'accuracy': 0.82},
'v1.2': {'date': '2025-02-23', 'accuracy': 0.88}
}当前市场分析 Prompt 准确率只有 70%,请优化:
1. 添加更多 SMC 概念的解释
2. 提供示例
3. 明确输出格式
4. 添加不确定性处理创建风险评估 Prompt:
1. 定义风险等级判断标准
2. 添加相关性分析
3. 提供具体建议输出
4. 使用 Few-Shot 示例比较两个版本的市场分析 Prompt:
1. v1.0: 当前版本
2. v2.0: 优化版本
3. 用 100 条历史数据测试
4. 分析准确率差异版本历史:
3069d33
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.