/** * 控制平面演示脚本 * 展示多交易所 Delta 中性控制平面的核心功能 */ import { ControlPlaneService } from '../src/services/ControlPlaneService.js' import { ExchangeAccountManager } from '../src/models/ExchangeAccount.js' import { RiskEnvelopeManager } from '../src/models/RiskEnvelope.js' import { MarketDataFeedManager } from '../src/models/MarketDataFeed.js' import { StrategyModuleManager } from '../src/models/StrategyModule.js' import { MonitoringEventManager } from '../src/models/MonitoringEvent.js' import { AccountManager } from '../src/modules/account/AccountManager.js' import { CacheManager } from '../src/modules/cache/CacheManager.js' import { logger } from '../src/utils/logger.js' async function main() { logger.info('🚀 启动控制平面演示') try { // 1. 初始化管理器 const exchangeAccountManager = new ExchangeAccountManager() const riskManager = new RiskEnvelopeManager() const marketDataFeedManager = new MarketDataFeedManager() const strategyModuleManager = new StrategyModuleManager() const monitoringManager = new MonitoringEventManager() const cacheManager = new CacheManager() const accountManager = new AccountManager(cacheManager) // 2. 创建控制平面服务 const controlPlane = new ControlPlaneService( accountManager, exchangeAccountManager, riskManager, marketDataFeedManager, strategyModuleManager, monitoringManager ) // 3. 初始化控制平面 await controlPlane.initialize() await controlPlane.start() logger.info('✅ 控制平面服务启动成功') // 4. 演示场景1: 账户同步 logger.info('📊 演示场景1: 账户同步') const syncResult = await controlPlane.syncAccounts() logger.info(`账户同步结果: ${syncResult.results?.length || 0} 个账户同步成功`) // 5. 演示场景2: 创建策略模块 logger.info('🎯 演示场景2: 创建策略模块') const strategyResult = await controlPlane.createStrategyModule({ name: '演示策略', type: 'market-making', configSchema: { type: 'object', properties: { spread: { type: 'number', default: 0.001 }, volume: { type: 'number', default: 0.01 } } } }) logger.info(`策略模块创建成功: ${strategyResult.moduleId}`) // 6. 演示场景3: 对冲执行 logger.info('⚖️ 演示场景3: 对冲执行') const hedgeResult = await controlPlane.executeHedge({ primaryAccountId: 'demo-account-1', hedgeAccountId: 'demo-account-2', deltaBefore: 0.005, targetDelta: 0.001, triggerReason: 'delta' }) logger.info(`对冲执行结果: ${hedgeResult.status}`) // 7. 获取系统状态 logger.info('📈 系统状态概览') const systemStatus = controlPlane.getSystemStatus() logger.info('系统状态:', { 控制平面: systemStatus.controlPlane.status, 账户数量: systemStatus.accounts.total, 活跃账户: systemStatus.accounts.active, 风险警报: systemStatus.risk.activeAlerts, 市场数据源: systemStatus.marketData.totalFeeds, 策略模块: systemStatus.strategies.length }) // 8. 健康检查 const healthMetrics = controlPlane.getHealthMetrics() logger.info('健康指标:', { 系统健康: healthMetrics.systemHealth, 活跃警报: healthMetrics.activeAlerts, 关键警报: healthMetrics.criticalAlerts, 运行时间: `${Math.round(healthMetrics.uptime / 1000)}秒` }) logger.info('🎉 控制平面演示完成') } catch (error: any) { logger.error(`演示失败: ${error.message}`) process.exit(1) } } // 运行演示 if (require.main === module) { main().catch(console.error) } export { main }