量化交易系统配置说明
配置参数说明
环境变量一览
数据库 (TimescaleDB)
| 变量 | 默认值 | 说明 |
|---|---|---|
TIMESCALEDB_HOST |
127.0.0.1 | 数据库主机 |
TIMESCALEDB_PORT |
5432 | 数据库端口 |
TIMESCALEDB_NAME |
crypto_data | 数据库名 |
TIMESCALEDB_USER |
postgres | 用户名 |
TIMESCALEDB_PASSWORD |
(无) | 密码,必须配置 |
TIMESCALEDB_POOL_MIN_SIZE |
2 | 连接池最小连接数 |
TIMESCALEDB_POOL_MAX_SIZE |
10 | 连接池最大连接数 |
运行与日志
| 变量 | 默认值 | 说明 |
|---|---|---|
ENV |
local | 运行环境标识 |
LOG_LEVEL |
INFO | DEBUG / INFO / WARNING / ERROR / CRITICAL |
飞书告警
| 变量 | 说明 |
|---|---|
LARKBOT_ID |
飞书机器人 Webhook ID,必需 |
LARK_ALERT_EMAIL |
可选,告警邮箱 |
LARK_WEBHOOK_BASE |
可选,Webhook 基础 URL |
ENABLE_SIGNAL_DETAIL_ALERT |
true |
Redis(可选)
| 变量 | 默认值 | 说明 |
|---|---|---|
REDIS_HOST |
127.0.0.1 | Redis 主机 |
REDIS_PORT |
6379 | Redis 端口 |
REDIS_PASSWORD |
(空) | Redis 密码 |
REDIS_DB |
0 | Redis 库号 |
交易模块 (src/trading/config.py)
| 变量 | 默认值 | 说明 |
|---|---|---|
TRADING_ENABLED |
false | 是否启用自动交易 |
HYPERLIQUID_PRIVATE_KEY |
(空) | 64 位十六进制私钥 |
TRADING_NETWORK |
testnet | testnet / mainnet |
TRADING_PAIR_MODE |
single | pair(配对两腿)/ single(仅目标币种) |
TRADING_BASE_POSITION_USD |
100 | 单腿基础仓位 (USD) |
TRADING_MAX_POSITION_USD |
500 | 单腿最大仓位 (USD) |
TRADING_MIN_POSITION_USD |
10 | 单腿最小名义值,低于此不开仓 |
TRADING_LEVERAGE |
3 | 杠杆倍数 |
TRADING_LEVERAGE_MODE |
cross | cross(全仓)/ isolated(逐仓) |
TRADING_ACCOUNT_TYPE |
auto | auto / unified / standard(unified 有 pre-alpha 价值上限) |
TRADING_MAX_OPEN_PAIRS |
3 | 最大同时持仓对数 |
TRADING_MAX_EXPOSURE_USD |
3000 | 总最大敞口 (USD) |
TRADING_STOP_LOSS_PCT |
0.03 | 固定止损比例 (3%) |
TRADING_MAX_DRAWDOWN_PCT |
0.10 | 最大回撤比例 |
TRADING_MAX_DAILY_LOSS_USD |
500 | 每日最大亏损 (USD) |
TRADING_MAX_HOLD_HOURS |
0.5 | 最大持仓时间 (小时),超时平仓 |
TRADING_SYMBOL_BLACKLIST |
(空) | 黑名单,逗号分隔币种简写 |
TRADING_CLOSE_DISABLED_SYMBOLS |
(空) | 禁止平仓代币(测试网无流动性时可配置) |
TRADING_RATE_LIMIT_PER_MINUTE |
30 | 每分钟最大下单次数 |
TRADING_CIRCUIT_BREAKER_THRESHOLD |
5 | 熔断器连续失败阈值 |
TRADING_CIRCUIT_BREAKER_COOLDOWN |
300 | 熔断器冷却时间 (秒) |
TRADING_KILL_SWITCH_FILE |
/tmp/trading_kill_switch | Kill Switch 文件路径 |
TRADING_STOP_LOSS_CHECK_INTERVAL |
30 | 止损检查间隔 (秒) |
TRADING_POSITION_SYNC_INTERVAL |
60 | 仓位同步间隔 (秒) |
TRADING_SLIPPAGE |
0.01 | 市价单滑点 (0.01=1%) |
TRADING_OPEN_ORDER_TYPE |
limit | 开仓订单类型:market / limit |
TRADING_CLOSE_ORDER_TYPE |
limit | 平仓订单类型:market / limit(止损始终市价) |
TRADING_LIMIT_PRICE_OFFSET_PCT |
0.001 | 限价单相对最优价偏移 |
TRADING_LIMIT_ORDER_TIMEOUT |
600 | 限价单超时 (秒),超时改市价 |
TRADING_LIMIT_ORDER_POLL_INTERVAL |
5 | 限价单状态轮询间隔 (秒) |
TRADING_WEBSOCKET_ORDER_TIMEOUT |
600 | WebSocket 订单追踪超时 (秒) |
TRADING_WEBSOCKET_RECONNECT_MAX_RETRIES |
5 | 订单 WS 重连最大重试次数 |
TRADING_PORTFOLIO_MARGIN_MAX_VALUE |
1000.0 | Portfolio Margin 账户价值上限 (USD,pre-alpha) |
TRADING_ACCOUNT_SWITCH_DELAY |
1.0 | 账户模式切换后验证等待时间 (秒) |
TRADING_STRENGTH_SCALE_STRONG / _MEDIUM / _WEAK |
1.5 / 1.0 / 0.7 | 强/中/弱信号仓位缩放 |
TRADING_MIN_BALANCE_FACTOR |
0.5 | 最低余额 = 基础仓位 × 此系数 |
TRADING_ALLOW_DUPLICATE_POSITION |
false | 是否允许同币种重复持仓 |
TRADING_TRAILING_STOP_ACTIVATION_PCT |
0.07 | 移动止损激活阈值 (盈利 7%) |
TRADING_TRAILING_STOP_CALLBACK_PCT |
0.03 | 移动止损回调阈值 (从峰值回撤 3%) |
TRADING_STOP_LOSS_MAX_RETRIES |
3 | 止损失败最大重试次数 |
TRADING_STOP_LOSS_RETRY_BACKOFF |
1.0 | 重试指数退避基数 (秒) |
策略参数
| 变量 | 默认值 | 说明 |
|---|---|---|
TRADING_STRATEGY_EMA_SPAN |
36 | Z-score EMA 衰减窗口 |
TRADING_STRATEGY_STD_WINDOW |
72 | 滚动 STD 窗口(Welford 窗口大小) |
TRADING_STRATEGY_ADAPTIVE_THRESHOLD |
3.0 | 入场阈值 (adaptive_z) |
TRADING_STRATEGY_MIN_ZSCORE_ABS |
0.5 | z4h 绝对值最低过滤 |
TRADING_STRATEGY_REVERSION_FACTOR |
0.30 | 均值回归平仓因子 |
TRADING_STRATEGY_COOLDOWN_MINUTES |
15 | 入场冷却时间 (分钟) |
TRADING_STRATEGY_OVERRIDE_SYMBOLS |
(空) | 逗号分隔需覆盖参数的币种,如 PURR |
TRADING_STRATEGY_PURR_EMA_SPAN 等 |
— | 按币种覆盖:TRADING_STRATEGY_{SYMBOL}_{PARAM},支持 EMA_SPAN、STD_WINDOW、ADAPTIVE_THRESHOLD、MIN_ZSCORE_ABS、REVERSION_FACTOR、COOLDOWN_MINUTES、STOP_LOSS_PCT、MAX_HOLD_HOURS |
代码内配置 (src/config.py)
HYPE/PURR 专用
| 常量 | 值 | 说明 |
|---|---|---|
HYPE_BASE_SYMBOL |
HYPE/USDC:USDC | 基准币种 |
HYPE_ALT_SYMBOL |
PURR/USDC:USDC | 目标币种 |
HYPE_CORR_THRESHOLD |
0.5 | 相关系数阈值 |
WebSocket
| 常量 | 值 | 说明 |
|---|---|---|
WS_URL |
wss://api.hyperliquid.xyz/ws | WebSocket 地址 |
WS_TIMEOUT |
60 | 超时 (秒) |
WS_HEALTH_MONITOR_TIMEOUT |
15 | 假活判定超时 (秒) |
WS_SUBSCRIBE_BATCH_SIZE |
50 | 批量订阅大小,防限流 |
WS_SUBSCRIBE_BATCH_DELAY |
0.1 | 批量订阅间隔 (秒) |
WS_RECONNECT_* |
— | 重连延迟/倍数/抖动等 |
分析参数
| 常量 | 值 | 说明 |
|---|---|---|
ZSCORE_WINDOW |
30 | Z-score 计算窗口 |
BETA_WINDOW |
100 | OLS 回归窗口 |
SIGNAL_STRENGTH_THRESHOLDS |
strong: 2.5, medium: 2.0 | 信号强度分级阈值(|z|),弱信号由 .env TRADING_STRENGTH_SCALE_WEAK 等控制仓位缩放 |
数据自愈
| 常量 | 值 | 说明 |
|---|---|---|
HEALING_TIMEOUT_SECONDS |
300 | 自愈超时 (秒) |
HEALING_MAX_ITERATIONS |
3 | 最大修复轮次 |
HEALING_FALLBACK_THRESHOLD |
0.80 | 降级启动阈值 (80%) |
HEALING_REJECT_THRESHOLD |
0.60 | 拒绝启动阈值 (60%) |
修改配置
- 环境变量:编辑
.env或导出到 shell,重启服务生效 - 代码内常量:修改
src/config.py或src/trading/config.py中对应值