回测结果
{#if run}
Run {run.id.slice(0, 8)}…
{runStatusLabel[run.status]}
{/if}
{#if busy}
{:else if error}
{#snippet errorCta()}
{/snippet}
{/if}
{#if !busy && !error && !run}
{#snippet emptyCta()}
{/snippet}
{/if}
{#if run && !busy && !error}
{#if history.length > 1}
查看其他回测:
switchToRun(v)}
>
{#snippet children()}
{history.find((h) => h.id === run?.id)?.created_at && fmtDateTime(history.find((h) => h.id === run?.id)!.created_at)} · {history.find((h) => h.id === run?.id) && runStatusLabel[history.find((h) => h.id === run?.id)!.status]}
{/snippet}
{#each history as h (h.id)}
{fmtDateTime(h.created_at)} · {runStatusLabel[h.status]}
{/each}
{/if}
{#if run.error}
✕{run.error}
{/if}
{#if !result}
{:else}
{#if result.warnings?.length}
⚠
{#each result.warnings as w, i (i)}- {w}
{/each}
{/if}
{#if result.assumptions && Object.keys(result.assumptions).length}
技术口径
{#each Object.entries(result.assumptions) as [k, v] (k)}
- {k}
- {v}
{/each}
{/if}
{#if result.metrics}
{@const mrow = result.metrics}
总收益率
{fmtPct(mrow.total_return)}
年化收益率
{fmtPct(mrow.annual_return)}
最大回撤
{fmtPct(mrow.max_drawdown)}
夏普比率
{fmtNum(mrow.sharpe)}
平仓回合数
{mrow.trade_count ?? "—"}
期末权益
{formatMoney(mrow.final_equity)}
{/if}
{#if cap}
累计投入
{formatMoney(cap.invested)}
最终持仓估值
{formatMoney(cap.holdingValue)}
投入回报率
{cap.returnPct ?? '—'}
投入口径不含初始账户闲置现金:累计投入 = 首日现金 − 末日现金;持仓估值 = 末日持仓 × 最新收盘价。
{/if}
平仓回合数为已完成的开仓并全部平仓的完整回合(1 个回合 = 1 次平仓),不含撤单与未平仓的单笔成交;成交记录中的“金额”为真实成交额(数量 × 成交价),非持仓成本。结果非投资建议;未完全模拟流动性/涨跌停等限制。
引擎 {result.engine?.name} {result.engine?.version}
{#if result.elapsed_ms} · 耗时 {(result.elapsed_ms / 1000).toFixed(1)}s{/if}
{#if result.peak_rss_kb} · 峰值内存 {fmtNum(result.peak_rss_kb / 1024)} MB{/if}
(chartMode = v as 'equity' | 'drawdown')} class="w-fit">
权益曲线({result.equity.length} 点)
回撤曲线
{#if chartMode === "equity"}
{:else}
(typeof v === 'number' ? `${v.toFixed(2)}%` : String(v))} />
{/if}
订单与持仓记录
成交记录 ({result.trades.length})
{#if result.trades.length > 0}
日期
标的
方向
数量
价格
金额
佣金
{#each tradePageRows as t, i (tradePage * TRADE_PER_PAGE + i)}
{t.date}
{t.symbol}
{t.side === "buy" ? "买入" : "卖出"}
{t.quantity}
{fmtNum(t.price, 3)}
{fmtNum(t.value)}
{fmtNum(t.commission, 4)}
{/each}
{#if result.trades.length > TRADE_PER_PAGE}
第 {tradePage + 1} / {tradePageCount} 页 · 共 {result.trades.length} 条
{/if}
{:else}
本区间未发生成交
{/if}
策略日志
{#if logsOpen}
{result.logs.join("\n")}
{/if}
数据与引擎
本轮使用的引擎版本、耗时与消耗内存均在上方备注。
结果由对应策略代码、配置、数据清单(数据哈希 {result.data_manifest_hash?.slice(0, 12)})以及当时引擎共同决定。
{/if}
{/if}
{#if !busy && !error && history.length === 0 && run === null}
{/if}