[Exchange] Create market-maker agent that provides liquidity and price discovery
Quest: Market Participants
Priority: P3
Status: in_progress
Goal
Create market-maker agent that provides liquidity and price discovery
Context
This task is part of the Market Participants quest (Exchange layer). It contributes to the broader goal of building out SciDEX's exchange capabilities.
Acceptance Criteria
☑ Implementation complete and tested
☐ All affected pages load (200 status)
☐ Work visible on the website frontend
☐ No broken links introduced
☑ Code follows existing patterns
Approach
Read relevant source files to understand current state
Plan implementation based on existing architecture
Implement changes
Test affected pages with curl
Commit with descriptive message and pushWork Log
2026-04-17
Action: Implemented MarketMakerAgent class in scidex/exchange/market_participants.py
Details:
- Added
MarketMakerAgent(MarketParticipant) class that provides liquidity via LMSR pricing
- Uses composite_score (for hypotheses) and quality_score (for artifacts) as fair value basis
- Signals BUY when market price < fair value, SELL when market price > fair value
- Configurable PRICE_DEVIATION_THRESHOLD (0.05 = 5% deviation triggers signal) and SPREAD_SENSITIVITY (0.15)
- Higher max_evaluations_per_day (200) to allow active market making
- Registered in
get_all_participants() alongside other evaluation agents
Files changed:
- scidex/exchange/market_participants.py: +144 lines (MarketMakerAgent class + registration)
Verification:
- Module imports successfully
- Agent registered in get_all_participants()
- Agent has correct participant_id="market_maker"
- Syntax validated via py_compile