PRODUCTION_DEPLOYMENT_CHECKLIST.md 6.7 KB

🚀 生产环境部署检查清单

✅ 部署前检查

1. 环境准备

  • Node.js 版本 >= 18.0.0
  • 安装所有依赖 (npm install)
  • 磁盘空间 >= 10GB (用于日志)
  • 网络连接稳定

2. 配置文件检查

  • config/accounts.json - 账户私钥配置正确
  • config/trading-strategy.json - 策略参数符合预期
  • config/delta-strategy-config.json - Delta 配置合理

3. 关键参数确认

交易参数:

  • volumeTargetPerCycle: 单次交易量 (建议从小开始,如 0.001 BTC)
  • tradingInterval: 交易间隔 (建议 >= 15000ms)
  • symbol: 交易对 (BTC/ETH/SOL 等)

风控参数:

  • maxOrderAge: 订单超时 (建议 30000ms)
  • warningThreshold: 保证金警告 (建议 0.7 = 70%)
  • criticalThreshold: 保证金危险 (建议 0.85 = 85%)
  • emergencyThreshold: 保证金紧急 (建议 0.95 = 95%)

定价参数:

  • priceBuffer: 价格缓冲 (建议 0.0001 = 0.01%)
  • dynamicPriceBuffer: 动态缓冲开启

4. 账户余额检查

# 使用 API 工具检查余额
tsx scripts/check-balance.ts  # (如有)
  • 账户 1 余额充足 (建议 >= $1000)
  • 账户 2 余额充足 (建议 >= $1000)
  • 账户无异常状态

5. 代码验证

# 类型检查
npx tsc --noEmit

# 运行测试 (如有)
npm test
  • 无致命的 TypeScript 错误
  • 所有测试通过

6. 日志系统检查

# 检查日志目录权限
ls -la logs/
  • logs/ 目录存在且可写
  • logs/audit/ 目录存在
  • logs/performance/ 目录存在

🎯 启动步骤

1. 干跑测试 (推荐)

# 修改配置启用 dry run
# 在 SignalExecutor 配置中设置: enableDryRun: true

运行 5-10 分钟,检查:

  • 信号生成正常
  • 定价逻辑合理
  • Delta 控制有效
  • 无异常错误

2. 小资金实盘

# 降低单次交易量
# 修改 config/trading-strategy.json
{
  "volumeTargetPerCycle": 0.0001  // 10% 正常量
}

运行 1-2 小时,监控:

  • 订单成功提交
  • 订单正常成交
  • Delta 保持中性
  • 无保证金警告

3. 正式启动

# 使用生产启动脚本
./scripts/start-production.sh

确认启动成功:

  • 看到 "✅ Trading cycle started"
  • 看到 "✅ Sprint 1 组件已连接"
  • 看到 "✅ Sprint 2 组件已连接"
  • 第一个交易周期正常执行

📊 运行监控

实时监控 (必须)

终端 1 - 策略运行:

./scripts/start-production.sh

终端 2 - 实时日志:

tail -f logs/trading-$(date +%Y-%m-%d).log | jq '.'

终端 3 - 错误监控:

tail -f logs/error-$(date +%Y-%m-%d).log | jq '.'

关键指标监控

每 15-30 分钟检查:

1. 订单成功率

# 最近 100 条订单的成功率
tail -100 logs/audit/audit-$(date +%Y-%m-%d).log | grep "ORDER" | jq -r '.message' | sort | uniq -c
  • ✅ 成功率 > 95%
  • ⚠️ 成功率 90-95% - 需关注
  • 🚨 成功率 < 90% - 需排查

2. Delta 偏离

# 检查最近的 Delta 评估
tail -20 logs/audit/audit-$(date +%Y-%m-%d).log | grep "DELTA_ASSESSMENT" | jq '.'
  • ✅ exceedsTolerance: false
  • ⚠️ 偶尔超过容忍度 (< 5%) - 正常
  • 🚨 频繁超过容忍度 (> 10%) - 需调整

3. 保证金利用率

# 查看保证金警告
grep "MARGIN" logs/audit/audit-$(date +%Y-%m-%d).log | jq '.'
  • ✅ 无警告
  • ⚠️ warning 级别 - 关注
  • 🚨 critical/emergency 级别 - 立即处理

4. 账户余额变化

# 查看最新余额
tail -5 logs/audit/audit-$(date +%Y-%m-%d).log | grep "BALANCE_UPDATE" | jq '{accountId, available, total}'
  • ✅ 余额稳定增长或持平
  • 🚨 余额快速下降 - 检查策略

每日检查 (建议)

# 运行日志分析工具
tsx scripts/analyze-logs.ts

检查项:

  • 总订单数符合预期
  • 成功率 > 95%
  • 无重复错误
  • Delta 平均值接近 0
  • 账户盈亏符合预期

🚨 应急响应

紧急停止策略

# 方法 1: Ctrl+C (优雅退出,会清空所有挂单)

# 方法 2: 强制停止
pkill -9 -f "tsx scripts/run-refactored-strategy.ts"

常见问题处理

问题 1: 订单频繁失败

症状: 成功率 < 90%

排查:

  1. 检查网络连接
  2. 查看错误日志中的失败原因
  3. 检查账户状态 (是否被限制)

处理:

  • 暂停策略
  • 增加 minOrderInterval 参数
  • 降低 volumeTargetPerCycle

问题 2: Delta 频繁偏离

症状: exceedsTolerance 频繁为 true

排查:

  1. 检查对冲订单是否成功执行
  2. 查看两个账户的仓位

处理:

  • 手动平衡仓位
  • 调整 baseDeltaTolerance 参数
  • 检查 HedgingModule 逻辑

问题 3: 保证金不足

症状: MARGIN_WARNING 告警

排查:

  1. 查看当前保证金利用率
  2. 检查持仓大小

处理:

  • 策略会自动减仓
  • 确认减仓是否执行成功
  • 必要时手动平仓

问题 4: 程序崩溃

症状: 进程意外退出

排查:

  1. 查看最后的错误日志
  2. 检查系统资源 (内存/CPU)

处理:

  • 重启策略
  • 如频繁崩溃,降低交易频率
  • 升级服务器配置

📈 性能优化建议

初期运行 (第 1-3 天)

  • 小仓位运行 (volumeTargetPerCycle = 0.0001)
  • 较长交易间隔 (tradingInterval = 30000ms)
  • 密切监控所有指标

稳定期 (第 4-7 天)

如果一切正常:

  • 逐步增加仓位 (每天增加 50%)
  • 可以缩短交易间隔 (最低 15000ms)
  • 保持日常监控

长期运行 (第 8 天+)

  • 根据盈利情况调整仓位
  • 定期查看周报 (每周一次日志分析)
  • 每月备份审计日志

💾 数据备份

每日备份 (自动化)

# 添加到 crontab
0 2 * * * tar -czf ~/backups/logs_$(date +\%Y-\%m-\%d).tar.gz /path/to/pecifica/logs/

审计日志永久保存

# 上传到云存储
aws s3 sync logs/audit/ s3://your-bucket/trading-audit/

📞 支持联系

遇到无法解决的问题:

  1. 保存完整的日志文件
  2. 记录问题发生的时间和现象
  3. 运行 tsx scripts/analyze-logs.ts 生成分析报告

✅ 部署完成确认

  • 策略成功启动
  • 第一笔订单成功提交
  • 第一笔订单成功成交
  • Delta 保持中性
  • 日志文件正常写入
  • 监控系统正常运行
  • 应急流程已熟悉
  • 备份机制已设置

恭喜!策略已成功部署到生产环境 🎉


重要提示:

  • 永远不要投入超过你能承受损失的资金
  • 定期检查和优化策略参数
  • 保持对市场的关注,极端行情时考虑暂停策略
  • 所有操作都应基于日志数据做出决策