/** * 交易执行模拟(纯函数、零依赖)—— dsh-execution 域(PET 映射)。 * * 兑现「提供 dsh 交易框架(不接实盘)」承诺:订单在信号后一根(可加 * 延迟)收盘成交,含双边手续费与滑点,资金曲线按收盘价盯市。仅多头 * 现货语义:卖出受持仓约束。 */ export interface SimOrder { /** 信号 K 线索引(成交在 index + 1 + latencyBars) */ index: number; side: 'buy' | 'sell'; /** 数量(与 valueFraction 二选一) */ quantity?: number; /** 按当前权益比例下单(0-1,与 quantity 二选一) */ valueFraction?: number; } export interface SimFill { orderIndex: number; side: 'buy' | 'sell'; /** 成交 K 线索引 */ fillIndex: number; fillPrice: number; quantity: number; value: number; fee: number; slippageCost: number; cashAfter: number; positionAfter: number; equityAfter: number; } export interface SimResult { fills: SimFill[]; /** 归一化权益曲线(与 close 等长,初始 1.0) */ equityCurve: number[]; finalEquity: number; totalReturnPct: number; totalFee: number; totalSlippageCost: number; tradeCount: number; /** 因越界/参数问题未成交的订单数 */ unfilledCount: number; cash: number; position: number; } export interface SimOptions { /** 初始资金(默认 1) */ initialCash?: number; /** 单边手续费率(默认 0.001) */ feeRate?: number; /** 滑点(基点,默认 0;买入按 +、卖出按 -) */ slippageBps?: number; /** 成交延迟根数(默认 0:信号后一根成交) */ latencyBars?: number; } /** * 执行模拟:按订单序列逐笔撮合,成交价 = close[fillIndex] × (1 ± 滑点), * 手续费按成交金额单边收取,权益按收盘价盯市。 */ export declare function executeSimulate(close: readonly number[], orders: readonly SimOrder[], options?: SimOptions): SimResult;