mm

Automated two-sided quoting on prediction markets with inventory skew, volatility-adjusted spreads, and risk controls.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mm" with this command: npx skills add alsk1992/cloddsbot/alsk1992-cloddsbot-mm

Market Making Skill

Automated two-sided quoting on prediction markets with inventory skew, volatility-adjusted spreads, and risk controls.

Supported Platforms

  • Polymarket (post-only maker orders, zero taker fees)

  • Kalshi

Chat Commands

Lifecycle

/mm start <platform> <marketId> <tokenId> [flags] Start market making /mm stop <id> Stop and cancel all orders /mm list List active market makers

Monitoring

/mm status Overview of all active MMs /mm status <id> Detailed state for one MM

Configuration

/mm config <id> View current config as JSON /mm config <id> --spread 3 Update config (takes effect next requote)

Start Flags

Flag Default Description

--spread N

2 Base half-spread in cents

--min-spread N

1 Minimum spread floor (cents)

--max-spread N

10 Maximum spread cap (cents)

--size N

50 Order size per side (shares)

--max-inventory N

500 Max inventory before aggressive skew

--skew N

0.5 Inventory skew factor (0-1)

--vol-mult N

10 Volatility multiplier for spread widening

--alpha N

0.3 EMA alpha for fair value smoothing (0-1)

--fv-method M

weighted_mid Fair value method: mid_price, weighted_mid, vwap, ema

--interval N

5000 Requote interval in ms

--threshold N

1 Min price change (cents) to trigger requote

--max-pos N

1000 Max position value in USD

--max-loss N

100 Max loss before auto-halt (USD)

--max-orders N

1 Orders per side (levels)

--level-spacing N

(=spread) Cents between price levels

--level-decay N

0.5 Size decay per level (0-1, e.g. 0.5 = each level half of previous)

--neg-risk true

false Enable negative risk mode (Polymarket crypto)

--name "Name"

auto Display name for the outcome

Examples

Start with defaults

/mm start polymarket 0xabc123 98765

Custom spread and sizing

/mm start polymarket 0xabc123 98765 --spread 3 --size 100 --max-inventory 1000

Tight spread for liquid market

/mm start polymarket 0xabc123 98765 --spread 1 --min-spread 1 --max-spread 5 --interval 2000

3-level quoting: L1=50 shares, L2=25, L3=12 — spaced 2c apart

/mm start polymarket 0xabc123 98765 --max-orders 3 --level-spacing 2 --level-decay 0.5 --size 50

Check all running MMs

/mm status

Widen spread on the fly

/mm config polymarket_98765678 --spread 4

Shut down

/mm stop polymarket_98765678

How It Works

  • Fair value computed from orderbook (weighted mid, VWAP, or EMA)

  • Spread adjusted by recent volatility (wider in volatile markets)

  • Skew shifts quotes away from overweight side to manage inventory

  • Quotes placed as post-only maker orders (bid and ask)

  • Requote cycle: cancel all, recalculate, place new orders

  • Auto-halt if realized P&L exceeds max loss threshold

API Usage

import { createMMStrategy, type MMConfig } from '../trading/market-making';

const config: MMConfig = { id: 'btc-yes', platform: 'polymarket', marketId: '0x...', tokenId: '12345', outcomeName: 'BTC > 100k', baseSpreadCents: 2, minSpreadCents: 1, maxSpreadCents: 10, orderSize: 50, maxInventory: 500, skewFactor: 0.5, volatilityMultiplier: 10, fairValueAlpha: 0.3, fairValueMethod: 'weighted_mid', requoteIntervalMs: 5000, requoteThresholdCents: 1, maxPositionValueUsd: 1000, maxLossUsd: 100, maxOrdersPerSide: 1, };

const strategy = createMMStrategy(config, { execution, feeds }); botManager.registerStrategy(strategy); await botManager.startBot(strategy.config.id);

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

binance-futures

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

trading-futures

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tts

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

auto-reply

No summary provided by upstream source.

Repository SourceNeeds Review