name: recipe-basis-trade-entry version: 1.0.0 description: "Enter a spot-futures basis trade when the premium exceeds a target threshold." metadata: openclaw: category: "recipe" domain: "strategy" requires: bins: ["kraken"] skills: ["kraken-basis-trading", "kraken-futures-risk"]
Basis Trade Entry
PREREQUISITE: Load the following skills to execute this recipe:
kraken-basis-trading,kraken-futures-risk
Enter a delta-neutral basis trade (long spot, short futures) when the basis premium is attractive.
CAUTION: Both legs must fill to be market-neutral. A single-leg fill is a directional bet.
Steps
- Get spot price:
SPOT=$(kraken ticker BTCUSD -o json 2>/dev/null | jq -r '.[].c[0]') - Get futures price:
FUTURES=$(kraken futures ticker PF_XBTUSD -o json 2>/dev/null | jq -r '.ticker.last') - Calculate basis:
BASIS=$(echo "scale=4; ($FUTURES - $SPOT) / $SPOT * 100" | bc) - If basis < target threshold (e.g., 0.5% annualized), skip
- Check spot balance for capital:
kraken balance -o json 2>/dev/null - Check futures margin availability:
kraken futures accounts -o json 2>/dev/null - Calculate matched position sizes
- Execute spot buy (requires human approval):
kraken order buy BTCUSD 0.01 --type limit --price $SPOT -o json 2>/dev/null - Execute futures short:
kraken futures order sell PF_XBTUSD 1 --type limit --price $FUTURES -o json 2>/dev/null - Verify both legs filled:
kraken open-orders -o json 2>/dev/null+kraken futures open-orders -o json 2>/dev/null - If one leg unfilled, cancel it to avoid directional exposure