自动交易 & 自动做市策略调研
基于 standx-cli 现有技术能力,调研可支持的策略类型。
一、standx-cli 现有能力
1.1 命令行接口
| 模块 |
命令 |
功能 |
| 市场数据 |
standx market |
ticker, depth, trades, kline, funding |
| 账户数据 |
standx account |
balances, positions, orders, history |
| 订单管理 |
standx order |
create, cancel, cancel-all |
| 杠杆/保证金 |
standx leverage/margin |
调整杠杆和保证金模式 |
| 实时流 |
standx stream |
price, depth, trade, order, position, balance, fills |
| 视图 |
standx dashboard/portfolio |
账户全景视图 |
1.2 WebSocket 实时数据
- Public: price, depth, trade (无需认证)
- Private: order, position, balance, fills (需认证)
1.3 数据模型
OrderSide: Buy/Sell
OrderType: Limit/Market
TimeInForce: GTC/IOC/FOK
Position: 持仓信息 (qty, entry_price, mark_price, upnl, liq_price, roe)
OrderBook: 深度数据 (bids, asks, spread)
Kline: K线数据 (open, high, low, close, volume)
二、可支持的自动交易策略
2.1 趋势跟踪策略
| 策略 |
说明 |
支持程度 |
| 均线交叉 |
MA/EMA 金叉买入,死叉卖出 |
✅ 已有 kline 数据支持 |
| 突破策略 |
价格突破关键位开仓 |
✅ 已有 price/depth 支持 |
| ** RSI 背离** |
RSI 超买超卖信号 |
✅ 已有 kline 可计算 |
实现方式:
# 获取 K 线数据
standx market kline --symbol BTCUSDT --interval 1m --limit 100
# 计算策略信号后执行
standx order create --symbol BTCUSDT --side buy --type limit --qty 0.1 --price 67000
2.2 网格策略 (Grid Trading)
| 策略 |
说明 |
支持程度 |
| 现货网格 |
震荡行情中低买高卖 |
✅ 限价单 + 取消单 |
| 合约网格 |
合约市场网格套利 |
✅ 合约订单支持 |
| 无限网格 |
智能追踪价格调整网格 |
✅ 可通过脚本实现 |
实现方式:
# 伪代码示例
price = get_price()
grid_levels = [price * (1 - i*0.01) for i in range(1, 10)]
for level in grid_levels:
# 在每个网格价位挂限价单
standx order create --symbol BTCUSDT --side buy --type limit --qty 0.1 --price {level}
2.3 现货成本平均 (DCA)
| 策略 |
说明 |
支持程度 |
| 定投 |
定期定额买入 |
✅ 限价单 + cron 定时执行 |
| 智能加仓 |
价格下跌时加倍买入 |
✅ 条件判断 + 订单执行 |
| 减仓策略 |
价格上涨时分批卖出 |
✅ 分批限价单 |
实现方式:
# Cron 定时执行
0 8 * * * standx order create --symbol BTCUSDT --side buy --type limit --qty 0.01 --price 67000
2.4 止盈止损策略
| 策略 |
说明 |
支持程度 |
| 固定止盈止损 |
开仓时设置固定比例 |
✅ 需外部脚本监控 |
| 追踪止损 |
价格向有利方向移动后更新止损 |
✅ WebSocket 监控 + 订单修改 |
| 条件单 |
触发条件时执行订单 |
✅ 限价单 + 外部逻辑 |
实现方式:
# 监控持仓,自动止损
position = get_position()
if position.upnl < -100: # 亏损 100 USDT
standx order create --symbol BTCUSDT --side sell --type market --qty {position.qty}
三、可支持的自动做市策略
3.1 基础做市 (Market Making)
| 策略 |
说明 |
支持程度 |
| 双边做市 |
同时挂买卖单获取价差 |
✅ 限价单 + 订单簿数据 |
| 区间做市 |
只在指定价格区间挂单 |
✅ 限价单 + 条件判断 |
| 市商价差 |
紧跟盘口价差 |
✅ WebSocket depth 实时更新 |
实现方式:
# 获取订单簿数据
depth = standx market depth --symbol BTCUSDT --json
best_bid = depth.bids[0].price
best_ask = depth.asks[0].price
# 在买卖盘口各挂一单
spread = best_ask - best_bid
if spread > 10: # 价差大于 10 USDT
standx order create --symbol BTCUSDT --side buy --type limit --qty 0.1 --price {best_bid + 1}
standx order create --symbol BTCUSDT --side sell --type limit --qty 0.1 --price {best_ask - 1}
3.2 资金费率套利 (Funding Arbitrage)
| 策略 |
说明 |
支持程度 |
| 跨所套利 |
低价买入,高价卖出 |
✅ 市场数据支持 |
| 期现套利 |
合约与现货价差套利 |
✅ funding rate 数据 |
| 资金费率套利 |
收取资金费率同时对冲 |
✅ funding 数据 |
实现方式:
# 获取资金费率
standx market funding --symbol BTCUSDT
# 正资金费率时做多,负资金费率时做空
# 同时在现货市场对冲
3.3 动态做市
| 策略 |
说明 |
支持程度 |
| 自适应价差 |
根据波动率调整买卖价差 |
✅ K 线计算波动率 |
| 成交量加权 |
根据成交量调整挂单量 |
✅ 实时交易数据 |
| 冰山订单 |
隐藏真实订单量 |
⚠️ 需 API 支持 |
四、策略实现架构
┌─────────────────────────────────────────────────────────┐
│ 策略引擎 (Python/JS) │
├─────────────────────────────────────────────────────────┤
│ 1. 数据采集 │
│ standx stream price --symbol BTCUSDT │
│ standx market depth --symbol BTCUSDT │
│ standx account positions │
├─────────────────────────────────────────────────────────┤
│ 2. 信号计算 │
│ - 技术指标 (MA, RSI, Bollinger) │
│ - 策略逻辑 (网格、套利、条件) │
│ - 风险管理 (止损、仓位) │
├─────────────────────────────────────────────────────────┤
│ 3. 执行层 │
│ standx order create ... │
│ standx order cancel ... │
│ standx order cancel-all ... │
└─────────────────────────────────────────────────────────┘
五、推荐实现的 MVP 策略
| 优先级 |
策略 |
复杂度 |
风险 |
| ⭐⭐⭐ |
网格交易 |
低 |
中 |
| ⭐⭐⭐ |
趋势跟踪 (均线交叉) |
低 |
中 |
| ⭐⭐ |
止盈止损机器人 |
低 |
低 |
| ⭐⭐ |
DCA 定投 |
极低 |
低 |
| ⭐ |
双边做市 |
中 |
中高 |
| ⭐ |
资金费率套利 |
高 |
高 |
六、后续扩展
- 策略配置文件:
standx bot run --config strategy.yaml
- 内置策略库: 提供常用策略模板
- 回测功能:
standx backtest --strategy grid --symbol BTCUSDT
- 模拟交易:
standx bot paper trade
总结
standx-cli 现有的命令和 WebSocket 能力可以支持:
- ✅ 限价单/市价单创建和取消
- ✅ 实时价格和订单簿监控
- ✅ 持仓和账户余额查询
- ✅ K 线数据分析
核心限制:
- 目前没有内置策略引擎,需要外部脚本调用 CLI
- 订单执行延迟依赖 CLI 调用速度
- 建议使用 Python/Node.js 脚本作为策略引擎
自动交易 & 自动做市策略调研
基于 standx-cli 现有技术能力,调研可支持的策略类型。
一、standx-cli 现有能力
1.1 命令行接口
standx marketstandx accountstandx orderstandx leverage/marginstandx streamstandx dashboard/portfolio1.2 WebSocket 实时数据
1.3 数据模型
OrderSide: Buy/SellOrderType: Limit/MarketTimeInForce: GTC/IOC/FOKPosition: 持仓信息 (qty, entry_price, mark_price, upnl, liq_price, roe)OrderBook: 深度数据 (bids, asks, spread)Kline: K线数据 (open, high, low, close, volume)二、可支持的自动交易策略
2.1 趋势跟踪策略
实现方式:
2.2 网格策略 (Grid Trading)
实现方式:
2.3 现货成本平均 (DCA)
实现方式:
2.4 止盈止损策略
实现方式:
三、可支持的自动做市策略
3.1 基础做市 (Market Making)
实现方式:
3.2 资金费率套利 (Funding Arbitrage)
实现方式:
3.3 动态做市
四、策略实现架构
五、推荐实现的 MVP 策略
六、后续扩展
standx bot run --config strategy.yamlstandx backtest --strategy grid --symbol BTCUSDTstandx bot paper trade总结
standx-cli 现有的命令和 WebSocket 能力可以支持:
核心限制: