Skip to main content
Glama
jjsteffen23

CME Prediction Markets MCP Server

by jjsteffen23
create_sample_data.py4.13 kB
#!/usr/bin/env python3 """ Simple script to create sample contracts for testing. """ import asyncio from datetime import datetime import structlog from src.data.models import init_db, get_db from src.data.storage.repository import ContractRepository, TradeRepository from src.data.models import Contract, Trade, ContractType logger = structlog.get_logger() async def create_sample_data(): """Create sample contracts and trades for testing.""" await init_db() logger.info("Creating sample data...") contracts_data = [ { 'symbol': 'BTC_95000_YES', 'description': 'Bitcoin to reach $95,000 by year end', 'type': ContractType.CRYPTO, 'guid': '770113025863258064' }, { 'symbol': 'ETH_4000_YES', 'description': 'Ethereum to reach $4,000 this quarter', 'type': ContractType.CRYPTO, 'guid': '110649172785362650' }, { 'symbol': 'PROVIDENCE_BASKETBALL', 'description': 'Providence College Basketball Team', 'type': ContractType.SPORTS, 'guid': '770113025863258064' } ] contracts_created = 0 trades_created = 0 async with get_db() as session: # Create contracts for contract_data in contracts_data: try: existing = await ContractRepository.get_by_symbol(session, contract_data['symbol']) if existing: logger.info("contract_exists", symbol=contract_data['symbol']) contract = existing else: contract = Contract( symbol=contract_data['symbol'], description=contract_data['description'], contract_type=contract_data['type'], settlement_date=datetime(2026, 12, 19), is_active=True, is_settled=False, instrument_guid_long=contract_data['guid'], instrument_long_name=contract_data['description'] ) session.add(contract) await session.flush() contracts_created += 1 logger.info("contract_created", symbol=contract.symbol, id=contract.id) # Create sample trades for this contract base_time = datetime(2025, 12, 19, 12, 0, 0) sample_prices = [0.45, 0.47, 0.52, 0.48, 0.51] for i, price in enumerate(sample_prices): trade_time = datetime(2025, 12, 19, 12 + i, 0, 0) trade_id = f"{contract.symbol}_trade_{i+1}" # Check if trade already exists existing_trades = await session.execute( f"SELECT id FROM trades WHERE trade_id = '{trade_id}'" ) if existing_trades.first(): continue trade = Trade( trade_id=trade_id, contract_id=contract.id, instrument_guid_long=contract_data['guid'], count_clr_trade_id=i + 1, trade_date=trade_time.date(), timestamp=trade_time, price=price, volume=100 + i * 50, side="BUY", trade_type="MARKET" ) session.add(trade) trades_created += 1 except Exception as e: logger.error("creation_error", error=str(e), contract=contract_data['symbol']) await session.commit() print(f"✅ Created {contracts_created} contracts and {trades_created} trades") if __name__ == "__main__": asyncio.run(create_sample_data())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jjsteffen23/dk_mcp_2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server