OPTIMIZATION_GUIDE.md 5.0 KB

Pacifica Delta中性交易系统 - 优化集成指南

🚀 已实施的优化

1. 保证金管理优化 ✅

  • 阈值调整: 75% (原85%),更早介入防止爆仓
  • 减仓比例: 30% (原20%),更快释放保证金
  • 检查间隔: 5秒 (原10秒),更快响应市场变化

配置文件: config/trading-strategy.json

"dynamicPositionAdjustment": {
  "maxMarginUsageThreshold": 0.75,
  "targetMarginRelease": 0.3,
  "checkInterval": 5000
}

2. WebSocket错误恢复机制 ✅

  • 指数退避重连: 避免频繁重试造成资源浪费
  • 致命错误处理: 502/503错误自动退出进程,等待外部重启
  • 连续失败保护: 连续5次失败后退出进程

实现文件: src/services/PacificaWebSocket.ts

  • 最大重连次数: 100次
  • 基础延迟: 5秒,指数增长至最大60秒
  • 添加随机抖动防止同时重连

3. 余额不足检测和暂停机制 ✅

  • 预先检查: 下单前检查账户余额
  • 智能暂停: 连续5次余额不足自动暂停60秒
  • 缓冲保护: 保留10%余额缓冲

实现文件: scripts/run-delta-neutral-simple.ts

checkAccountBalance() // 余额检查
handleInsufficientBalance() // 处理余额不足

4. 自动重启脚本 ✅

方式1: Shell脚本

# 启动自动重启监控
yarn trade:auto

# 功能特性:
- 进程崩溃自动重启
- 无输出超时检测(5分钟)
- 连续失败延长等待时间
- 最大重启100次

方式2: PM2进程管理(推荐)

# 安装PM2
npm install -g pm2

# 启动交易程序
yarn trade:pm2

# 停止程序
yarn trade:pm2:stop

# 查看日志
yarn trade:pm2:logs

# 监控面板
yarn trade:pm2:monitor

PM2优势:

  • 内存超过2G自动重启
  • 指数退避重启策略
  • 完整的日志管理
  • Web监控面板
  • 集群模式支持

5. 健康检查系统 ✅

# 运行健康检查
yarn health

# PM2定时健康检查(每分钟)
# 自动配置在ecosystem.config.js中

检查项目:

  • 日志文件活动状态
  • 交易统计和错误率
  • 内存使用情况
  • 自动告警通知(需配置Webhook)

📊 运维命令汇总

基础命令

# 正常启动交易
yarn trade

# 自动重启模式
yarn trade:auto

# PM2管理模式
yarn trade:pm2

# 检查仓位
yarn positions

# 紧急减仓
yarn reduce

# 清理订单
yarn cleanup-orders

# 健康检查
yarn health

PM2管理命令

# 启动所有服务
pm2 start ecosystem.config.js

# 重启服务
pm2 restart delta-neutral-trading

# 查看状态
pm2 status

# 查看日志
pm2 logs

# 监控CPU/内存
pm2 monit

# 保存进程列表
pm2 save

# 设置开机自启
pm2 startup

🔧 配置优化建议

1. 生产环境配置

// config/trading-strategy.json
{
  "orderStrategy": {
    "preferredOrderType": "market", // 市价单保证成交
    "checkInterval": 10
  },
  "positions": {
    "balanceUsageRatio": 0.8, // 使用80%余额
    "basePositionRatio": 0.2,  // 20%基础仓位
    "volumePositionRatio": 0.8 // 80%刷量仓位
  },
  "dynamicPositionAdjustment": {
    "enabled": true,
    "maxMarginUsageThreshold": 0.75,
    "targetMarginRelease": 0.3,
    "checkInterval": 5000
  },
  "retry": {
    "maxAttempts": 3,
    "delayMs": 10000,
    "apiCallInterval": 2000
  }
}

2. 监控配置

# 设置告警Webhook(Slack/Discord)
export ALERT_WEBHOOK_URL="https://hooks.slack.com/services/xxx"

# 启动监控
yarn trade:pm2

🚨 故障处理

WebSocket 502错误

  • 自动处理: 系统会自动重连,超过限制后退出
  • 手动处理: 重启服务 yarn trade:pm2:stop && yarn trade:pm2

余额不足错误

  • 自动处理: 暂停60秒后自动恢复
  • 手动处理: 充值账户或运行 yarn reduce 减仓

保证金告警

  • 自动处理: 自动减仓30%释放保证金
  • 手动处理: 运行 yarn reduce 紧急减仓

进程崩溃

  • PM2模式: 自动重启,最多100次
  • Shell模式: 运行 yarn trade:auto

📈 性能监控

查看实时状态

# PM2监控面板
yarn trade:pm2:monitor

# 查看日志
tail -f logs/trading.log

# 查看统计
cat logs/stats.json | jq '.'

# 查看健康状态
cat logs/health.json | jq '.'

关键指标

  • 保证金使用率: < 75%
  • 错误率: < 10%
  • 内存使用: < 2GB
  • 日志更新: < 5分钟

🔄 更新和维护

更新配置

  1. 编辑 config/trading-strategy.json
  2. 重启服务: pm2 restart delta-neutral-trading

更新代码

# 拉取最新代码
git pull

# 重新构建
yarn build

# 重启服务
pm2 restart ecosystem.config.js

备份数据

# 备份日志
cp -r logs/ logs_backup_$(date +%Y%m%d)/

# 备份配置
cp -r config/ config_backup_$(date +%Y%m%d)/

📞 支持

遇到问题请检查:

  1. 日志文件: logs/trading.log
  2. 健康状态: logs/health.json
  3. PM2状态: pm2 status
  4. 系统资源: tophtop

最后更新: 2025-10-01 版本: 1.0.0-optimized