-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathconfig.yaml.example
More file actions
430 lines (350 loc) · 13.4 KB
/
config.yaml.example
File metadata and controls
430 lines (350 loc) · 13.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
# ==========================================
# Quant Flow - 交易机器人配置文件 (Hyperliquid 永续合约)
# ==========================================
# 交易配置
trading:
# 要交易的币种符号(Hyperliquid 永续合约,支持多个)
# 注意:Hyperliquid 使用简单符号,如 'BTC', 'ETH' 而不是 'BTC/USDT'
symbols:
- BTC
- ETH
# 单笔交易金额上限(USD)
# AI 可以根据市场情况自主决定实际交易金额,但不超过此上限
max_trade_amount: 100
# 初始账户余额(USD)
# 用于计算总回报率等账户指标,应设置为账户实际起始金额
initial_balance: 10000.0
# 止盈比例(5% = 0.05)
take_profit_ratio: 0.05
# 止损比例(2% = 0.02)
stop_loss_ratio: 0.02
# 最大持仓数量(同时持有的币种数量)
max_positions: 2
# 最大杠杆倍数(1-50倍,具体取决于交易对)
# AI 可以根据市场情况自主决定实际交易金额,但不超过此上限
max_leverage: 10
# 是否启用限价单功能(默认 false)
# 启用后,AI 可以使用限价单提前埋伏,等待价格回调成交
limit_order_enabled: false
# 以下两个开关仅在 grid 模式下生效:
# 网格限价单成交后是否自动补挂止盈触发单
grid_limit_order_take_profit_enabled: true
# 网格限价单成交后是否自动补挂止损触发单
grid_limit_order_stop_loss_enabled: true
# 仅 grid 模式:是否启用 reduce_only 分层减仓单(分批止盈)
grid_reduce_only_exit_orders_enabled: true
# 调度配置
scheduler:
# 决策间隔(分钟)
interval_minutes: 3
# 是否立即执行一次(启动时)
run_immediately: true
# 数据配置
data:
# K线时间周期
timeframe: 15m
# 获取的K线数量(用于计算指标)
candles_limit: 100
# 技术指标配置
indicators:
# 移动平均线周期
ma_periods:
- 7
- 25
- 99
# RSI 周期
rsi_period: 14
# MACD 参数 [快线, 慢线, 信号线]
macd_params:
fast: 12
slow: 26
signal: 9
# 布林带参数
bollinger_params:
period: 20
std_dev: 2
# AI Agent 配置
agent:
# 记忆配置
memory:
# 最大 token 数
max_token_limit: 2000
# 保留的最近对话数
max_messages: 10
# 决策温度(0-1,越高越随机)
temperature: 0.1
# 最大迭代次数
max_iterations: 5
# Agent 超时时间(秒)
timeout: 60
# 网格宽度参数(用于 grid_agent 动态区间计算)
grid_width:
# 最小网格宽度(2%)
min_pct: 0.02
# 最大网格宽度(15%)
max_pct: 0.15
# 市场数据异常时的回退宽度(5%)
fallback_pct: 0.05
# AI 输出与市场波动的融合权重(0~1)
ai_blend_weight: 0.35
# LLM 配置
llm:
# 客户端类型: langchain_openai, langchain_cloudflare, langchain_google, langchain_litellm, langchain_nvidia
# - langchain_openai: 符合 OpenAI 规范的供应商(DeepSeek、OpenAI、本地部署等)
# - langchain_litellm: 更宽泛的多模型支持(通过 LiteLLM 代理)
# - langchain_cloudflare: Cloudflare AI Gateway 转发的模型
# - langchain_google: Google Gemini 模型
# - langchain_nvidia: NVIDIA AI Endpoints
client_type: langchain_openai
# 模型名称
# model: deepseek-chat
# 基础参数(可选,如不指定则使用默认值)
# temperature: 0.1
# top_p: 0.95
# max_tokens: 8192
# 额外参数(可选,JSON 格式)
# 用于特定客户端的高级配置,如 NVIDIA 的 thinking 模式
# extra_body:
# chat_template_kwargs:
# thinking: true
# Prompt 配置
prompt:
# 使用的 Prompt 集合名称
# 可选值: default, conservative, aggressive 或自定义名称
# Prompt 集合在 prompts/prompts.yaml 中定义
set: default
# Prompt 配置文件路径
config_file: prompts/prompts.yaml
# 复盘 Agent 配置
review_agent:
enabled: true # 是否启用复盘 Agent
run_every_cycles: 3 # 每隔多少个交易周期运行一次复盘
lookback_decisions: 12 # 复盘时回顾多少条历史决策
temperature: 0.05 # 复盘时的 LLM 温度(更低以保证稳定性)
memory_file: logs/review_memory.json # 复盘经验存储文件(保留用于快速查询)
daily_log_dir: logs/review_daily # 每日日志目录(用于 LoRA 训练数据收集)
max_lessons: 30 # 最多保留多少条经验教训数量
min_confidence: 0.35 # 采纳经验所需的最小置信度
similarity_threshold: 0.5 # 当前环境与历史经验的最小相似度
similarity_method: cosine # 相似度计算方法: cosine / euclidean / hybrid
similarity_weights: # 为特征设置权重,技术指标更高
rsi: 1.2
macd_signal: 1.0
ema_trend: 1.0
trend_direction: 1.0
volatility_level: 0.8
volume_ratio: 0.6
price_position: 0.7
time_of_day: 0.3
confidence_decay_factor: 0.6 # 低相似度时的置信度衰减因子
# 外部信息收集 Agent 配置
# 使用 Exa 搜索 API 收集市场新闻、监管动态等外部信息
# 定期汇总后供交易决策 Agent 参考
external_info_agent:
enabled: false # 是否启用外部信息收集 Agent
interval_hours: 3.0 # 收集间隔(小时),每次触发会汇总各时间周期信息
store_dir: data/market_info # 市场信息存储目录
temperature: 0.1 # 汇总时的 LLM 温度
max_summary_length: 2000 # 注入决策时的摘要最大长度(字符)
# 收集的时间周期配置
# 每次触发时会生成以下时间周期的报告:
# - daily: 过去24小时
# - weekly: 过去一周
# - biweekly: 过去两周
# - monthly: 过去一个月
periods:
- daily
- weekly
- biweekly
- monthly
# 报告清理配置
cleanup_days: 30 # 保留报告的天数,超过则自动清理
# 风控配置
risk_management:
# 是否启用熔断机制
circuit_breaker_enabled: true
# 熔断阈值:价格波动百分比(10% = 0.1)
circuit_breaker_threshold: 0.1
# 熔断时间窗口(分钟)
circuit_breaker_window: 5
# 熔断后暂停交易时间(分钟)
circuit_breaker_pause: 30
# 账户保护配置
# 实现最大回撤保护、持仓时间限制等风控机制
account_protection:
# 是否启用账户保护(强烈建议启用)
enabled: true
# 最大回撤百分比(0.10 = 10%)
# 净值从峰值回撤超过此值时,将平仓所有持仓并暂停交易
max_drawdown_pct: 0.10
# 单日最大亏损百分比(0.05 = 5%)
# 当日亏损超过此值时,暂停新开仓
max_daily_loss_pct: 0.05
# 最大持仓时间(小时)
# 超过此时间的持仓将被强制平仓
# 防止资金长期被占用或死多/死空
max_position_hours: 48
# 最大连续亏损次数
# 连续亏损达到此次数时,暂停交易
max_consecutive_losses: 5
# 触发保护后暂停交易时间(小时)
pause_hours_after_protection: 4
# 最小风险回报比
# 开仓前验证止盈/止损比例,低于此值将拒绝开仓
min_risk_reward_ratio: 1.5
# 增强型交易分析配置
# 整合市场状态分析、智能风险管理和多因子信号评分系统
enhanced_analysis:
# 是否启用增强分析(默认启用)
enabled: true
# 最低信号质量要求: excellent, good, fair, poor
# excellent: 只接受极佳信号(更保守)
# fair: 接受一般及以上信号(默认)
min_signal_quality: fair
# 最低置信度要求(0.0-1.0)
min_confidence: 0.4
# 是否启用风险过滤(基于账户风险评估过滤交易)
enable_risk_filter: true
# 是否启用时机过滤(基于入场时机评分过滤交易)
enable_timing_filter: true
# 风险管理参数
risk:
# 单笔最大风险(账户百分比)
max_risk_per_trade: 0.02
# 最大总敞口(账户百分比)
max_total_exposure: 0.5
# ATR止损倍数(波动性自适应)
atr_sl_multiplier: 1.5
# ATR止盈倍数
atr_tp_multiplier: 3.0
# 是否启用追踪止损
trailing_stop_enabled: true
# 是否启用波动性调整(高波动时自动调整止损止盈距离)
volatility_adjustment: true
# 信号因子权重(总和应为1.0)
# 可根据交易风格调整各因子权重
signal_weights:
trend: 0.25 # 趋势因子
momentum: 0.20 # 动量因子(RSI、MACD)
volume: 0.15 # 成交量因子
volatility: 0.10 # 波动性因子
price_action: 0.15 # 价格行为因子(支撑阻力)
multi_timeframe: 0.15 # 多周期一致性因子
# 决策验证配置(开仓前多维度验证)
validation:
# 是否要求多周期趋势一致
require_trend_alignment: true
# 至少需要几个周期趋势一致才允许开仓
min_aligned_timeframes: 2
# 是否避开高波动市场
avoid_high_volatility: true
# 是否优先等待回调入场
prefer_pullback_entry: true
# 追高/追低阈值(超过此比例视为追高)
max_chase_percent: 0.02
# 动态仓位管理配置
position_sizing:
# 凯利分数(使用1/4凯利更保守)
kelly_fraction: 0.25
# 最小仓位比例(信号弱时)
min_position_ratio: 0.1
# 最大仓位比例(信号强时)
max_position_ratio: 1.0
# 胜率计算回看周期
win_rate_lookback: 20
# 日志配置
logging:
# 是否启用控制台彩色输出
console_color: true
# 是否显示完整 Prompt
show_full_prompt: true
# 是否显示思维链
show_chain_of_thought: true
# 决策日志格式(json 或 csv)
decision_log_format: json
# 云端日志配置(aepipe-sdk 0.1.1,https://github.com/loadchange/aepipe)
# 基于 Cloudflare Workers + Analytics Engine + D1 的生产级日志管道
# 启用后所有日志异步同步到云端:决策全文、交易记录、风控事件、账户快照等
# 长数据(AI 响应、Prompt、市场快照)通过 D1 payload 存储,突破 16KB blob 限制
cloud_logging:
# 是否启用云端日志同步(总开关)
enabled: false
# aepipe 服务地址(必填,你的 Cloudflare Worker URL)
# 也可通过环境变量 CLOUD_LOGGING_BASE_URL 设置
base_url: "https://your-aepipe-worker.workers.dev"
# aepipe ADMIN_TOKEN 认证令牌(必填)
# 也可通过环境变量 CLOUD_LOGGING_TOKEN 设置
token: "your_admin_token_here"
# aepipe 项目名称(用于数据隔离)
project: "quant-flow"
# aepipe 日志存储名称
logstore: "trading"
# 批量发送间隔(秒),日志在本地缓存后定时批量上传
flush_interval: 5.0
# D1 payload 过期时间(秒),默认 90 天(7776000),与 Analytics Engine 保留期一致
# 完整 AI 响应、Prompt、市场快照等大数据通过 D1 存储,需要 aepipe 服务端配置 D1 绑定
payload_ttl: 7776000
# 通知配置
notifications:
# 是否启用通知(总开关)
# 如果为 false,则所有通知都不会发送
enabled: false
# 通知渠道配置(支持多个渠道同时使用)
channels:
# 钉钉机器人通知
- type: dingtalk
enabled: false
# 钉钉机器人的 API Key(必填)
# 获取方式:登录钉钉管理后台 -> 应用开发 -> 机器人管理 -> 创建自定义机器人
api_key: "your_dingtalk_api_key_here"
# 钉钉机器人的 Secret(可选,用于加签验证)
secret: "your_dingtalk_secret_here"
# 接收通知的手机号列表(可选,留空则发送到群)
phone_numbers:
- "13800138000"
# - "13900139000"
# 飞书机器人通知
- type: feishu
enabled: false
# 飞书机器人的 Token(必填)
# 获取方式:登录飞书管理后台 -> 应用 -> 机器人 -> 创建自定义机器人 -> 获取 Webhook URL 中的 token
token: "your_feishu_token_here"
# 邮件通知
- type: email
enabled: false
# SMTP 服务器地址(必填)
smtp_server: "smtp.gmail.com"
# SMTP 端口(587 用于 TLS,465 用于 SSL)
smtp_port: 587
# SMTP 用户名(必填)
smtp_user: "your_email@gmail.com"
# SMTP 密码或应用专用密码(必填)
# Gmail 用户需要在账户安全设置中生成应用专用密码
smtp_password: "your_app_password_here"
# 发件人邮箱(可选,默认使用 smtp_user)
from_email: "your_email@gmail.com"
# 收件人邮箱列表(必填)
to_emails:
- "recipient1@example.com"
- "recipient2@example.com"
# 通知事件配置(控制哪些事件会触发通知)
# 事件过滤配置(可选)
# 如果不配置,默认所有事件都会发送通知
# 配置后,只有 enabled: true 的事件才会发送通知
events:
system_startup: true # 系统启动
trade_opened: true # 开仓
trade_closed: true # 平仓
stop_loss: true # 止损
take_profit: true # 止盈
error: true # 错误
circuit_breaker: true # 熔断
system_shutdown: true # 系统关闭
external_info_summary: true # 外部信息汇总完成
review_lesson_learned: true # 复盘获得新经验
# 通知频率限制(可选)
# rate_limit:
# # 同一事件类型的最小通知间隔(秒)
# min_interval: 60
# # 每小时最大通知数量
# max_per_hour: 20