回测结果

{#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.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}