INNER CODE UNIT · Python
_result_view
simonlin1212/Vibe-Research · backtest/cli.py:110
def _result_view(r: Result) -> dict:
m = r.metrics
keep = ("total_return", "annual_return", "max_drawdown", "sharpe", "calmar", "sortino",
"win_rate", "profit_loss_ratio", "profit_factor", "trade_count",
"avg_holding_days", "benchmark_return", "benchmark_ticker",
"total_turnover", "max_consecutive_loss", "execution_fees", "fill_count")
benchmark_is_self = "benchmark_ticker" not in m
disclosures = [price_basis(r.plan.market.key),
"费率为固定假设,未建模历史费率调整及不同券商差异。",
"trade_count 是平仓记录数(含部分数量结算),不是买卖成交笔数;fill_count 才是实际执行的成交记录数。",
"夏普比率采用零无风险利率;平均持有期按交易 bar 计,不是自然日。无亏损或零回撤时,对应无定义比率显示为未定义,不是 0。"]
if "execution_fees" in m:
disclosures.append(
f"execution_fees 是引擎逐笔成交记录中实际扣除的费用合计,单位 {r.plan.market.currency};"
"包含期末强制平仓费用,不包含滑点损耗或独立资金费用;这些费用已计入净值,不应再次扣减收益。"
"滑点通过引擎成交价格模型反映在净值中,不属于 execution_fees,不代表回测未计滑点。"
)
if benchmark_is_self: