kodiak-strategy
KODIAK v1.0 — SOL Alpha Hunter with Position Lifecycle
One asset. Every signal. Maximum conviction. Reload-on-dip.
KODIAK stares at SOL and nothing else. Every signal source available — smart money positioning, funding rate, open interest, 4-timeframe trend structure, volume, BTC correlation — feeds into a single thesis: is there a high-conviction SOL trade right now?
Based on GRIZZLY v2.0's three-mode lifecycle, adapted for SOL's volatility profile.
The Three-Mode Lifecycle
MODE 1 — HUNTING (default)
Scan SOL every 3 minutes. All signals must align (4h trend, 1h momentum, SM, funding, OI, volume). Score 10+ to enter. When a position opens, switch to MODE 2.
MODE 2 — RIDING
Active position. DSL High Water trails it. Thesis re-evaluation every scan. If thesis breaks (4h trend flips, SM flips, funding extreme, volume dies, BTC diverges) -> thesis exit and reset to MODE 1. If DSL closes the position -> switch to MODE 3.
MODE 3 — STALKING
DSL locked profits. The trend may not be over. Watch for a reload opportunity. Every scan checks:
Reload conditions (ALL must pass):
- At least one completed 1h candle since exit (~30 min minimum)
- Fresh 5m momentum impulse in the exit direction
- OI stable or growing
- Volume at least 50% of original entry
- Funding not spiked into crowded territory
- SM still aligned in the exit direction
- 4h trend structure still intact
If ALL pass -> RELOAD. Re-enter same direction, same leverage. Switch to MODE 2.
Kill conditions (ANY triggers reset to MODE 1):
- 4h trend reversed
- SM flipped against exit direction
- OI collapsed 20%+
- Stalking for more than 6 hours with no reload
- Funding spiked above 100% annualized
maxPositions: 1. KODIAK holds one SOL position at a time.
MANDATORY: DSL High Water Mode
KODIAK MUST use DSL High Water Mode. This is not optional.
DSL tiers in kodiak-config.json. Arm DSL immediately after every entry fill. Zero naked positions.
Why SOL-Only at 7-12x Leverage
- High volatility — SOL moves 5-10% in hours, amplifying conviction trades
- Growing liquidity on Hyperliquid — increasingly tradeable at size
- Ecosystem momentum — SOL trends driven by DeFi/NFT/memecoin cycles
- BTC as regime filter — SOL trends rarely sustain against a BTC reversal
- Lower leverage compensates for volatility — 10x on SOL ≈ 15x on BTC in terms of realized move
How KODIAK Trades
Entry (score >= 10 required)
Every 3 minutes, the scanner evaluates SOL across all signal sources:
| Signal | Points | Required? |
|---|---|---|
| 4h trend structure (higher lows / lower highs) | 3 | Yes |
| 1h trend agrees with 4h | 2 | Yes |
| 15m momentum confirms direction | 0-1 | Yes |
| 5m alignment (all 4 timeframes agree) | 1 | No |
| SM aligned with direction | 2-3 | Hard block if opposing |
| Funding pays to hold the direction | 2 | No |
| Volume above average | 1-2 | No |
| OI growing | 1 | No |
| BTC confirms move | 1 | No |
| RSI has room | 1 | No (blocks overbought/oversold) |
| 4h momentum strength | 1 | No |
Maximum score: ~18. Minimum to enter: 10.
Conviction-Scaled Leverage
| Score | Leverage |
|---|---|
| 10-11 | 10x |
| 12-13 | 11x |
| 14+ | 12x |
Conviction-Scaled Margin
| Score | Margin |
|---|---|
| 10-11 | 20% of account |
| 12-13 | 25% |
| 14+ | 30% |
Risk Management
| Rule | Value |
|---|---|
| Max positions | 1 |
| Phase 1 floor | 2.5% notional (~25% ROE at 10x) |
| Drawdown halt | 25% from peak |
| Daily loss limit | 10% |
| Cooldown | 120 min after 3 consecutive losses |
| Stagnation TP | 10% ROE stale 75 min |
Cron Architecture
| Cron | Interval | Session | Purpose |
|---|---|---|---|
| Scanner | 3 min | isolated | Thesis builder + re-evaluator + stalk/reload |
| DSL v5 | 3 min | isolated | High Water Mode trailing stops |
Both MUST be isolated sessions with agentTurn. Use NO_REPLY for idle cycles.
Notification Policy
ONLY alert: Position OPENED (direction, leverage, score, reasons), position CLOSED (DSL or thesis exit), risk guardian triggered, critical error. NEVER alert: Scanner found no thesis, thesis re-eval passed, DSL routine, any reasoning.
Bootstrap Gate
On EVERY session, check config/bootstrap-complete.json. If missing:
- Verify Senpi MCP
- Create scanner cron (3 min, isolated) and DSL cron (3 min, isolated)
- Write
config/bootstrap-complete.json - Send: "🐻 KODIAK is online. Watching SOL. DSL High Water Mode active. Silence = no conviction."
Expected Behavior
| Metric | Expected |
|---|---|
| Trades/day | 1-3 |
| Avg hold time | 1-12 hours |
| Win rate | ~45-55% |
| Avg winner | 20-50%+ ROE |
| Avg loser | -20 to -40% ROE |
Files
| File | Purpose |
|---|---|
scripts/kodiak-scanner.py |
SOL thesis builder + re-evaluator + stalk/reload |
scripts/kodiak_config.py |
Shared config, MCP helpers, state I/O |
config/kodiak-config.json |
All configurable variables with DSL High Water tiers |
License
MIT — Built by Senpi (https://senpi.ai). Source: https://github.com/Senpi-ai/senpi-skills