CONTROLLED RESEARCHNO TRADING仅工作区研究资产、策略参数、Sandbox 回测任务与报告可受控写入 · 不构成投资建议

VERSIONED METRICS / FAIL-CLOSED ATTRIBUTION

Phase 2.27 回测指标与风险归因

仅展示最小沙盒样例的独立复算结果;不是全市场、正式或实盘业绩。

PASS
研究沙盒 · 非正式结果历史回测不代表未来收益,不构成投资建议;本页不授权策略、模拟交易或实盘交易。
METRICS VERSIONrisk_attribution_v1.0
HISTORICAL RUNS14 PRESERVED
METRIC SNAPSHOTS1
OFFICIAL RESULTSFALSE
总收益率-12.74%NET / DECIMAL
年化收益率-23.38%252 TRADING DAYS
年化波动率21.46%POPULATION
Sharpe / Sortino-1.1323 / -1.4409RISK FREE 0.00%
最大回撤-21.10%95 PERIODS
VaR / CVaR 95%2.61% / 3.28%HISTORICAL ONE-DAY
Beta / Alpha0.7684 / -22.45%SINGLE FACTOR / ANNUALIZED ALPHA
跟踪误差 / 信息比率16.07% / -1.3623BENCHMARK ALIGNED

BENCHMARK ATTRIBUTION BRIDGE

基准与主动收益归因

BALANCED
基准贡献000300.SH-2.18%
主动贡献NET - BENCHMARK-10.57%
归因合计 / 目标净收益RECONCILIATION-12.74% / -12.74%
平衡误差TOLERANCE 1e-100

COST ATTRIBUTION BRIDGE

费用归因

BALANCED
费用前收益GROSS BEFORE COST-12.51%
佣金 / 滑点 / 税费NEGATIVE CONTRIBUTIONS-0.06% / -0.09% / -0.09%
归因合计 / 目标净收益RECONCILIATION-12.74% / -12.74%
平衡误差accounting bridge on initial cash; not timing-aware transaction attribution0

PRIMARY RETURN ATTRIBUTION

统一收益归因桥

BALANCED
基准贡献BENCHMARK CONTRIBUTION-2.18%
费用前主动贡献ACTIVE BEFORE COST-10.33%
佣金 / 滑点 / 税费COST CONTRIBUTIONS-0.06% / -0.09% / -0.09%
归因合计 / 目标净收益arithmetic horizon attribution; not holdings-based Brinson attribution-12.74% / -12.74%
平衡误差FAIL CLOSED IF OUTSIDE TOLERANCE0

QUALITY & PRICE CONTRACT

复算质量

PASS
对齐观测NO IMPUTATION129
缺失 / 非有限值FAIL CLOSED0 / 0
Raw price 字段使用version_locked_adjusted_values_only0
输入 / 结果指纹IMMUTABLE SNAPSHOT62862c06bfd7e6ead6…

GOVERNANCE GATES

业务门禁

ALL CLOSED
正式回测CLOSED
策略CLOSED
模拟交易CLOSED
实盘交易CLOSED

research_only=true · is_official=false · read_only=true

IMMUTABLE METRIC DEFINITIONS

指标口径字典

Checksum: c4de369d1ecc33b15e6df3eb540ca95da11b1d53c3f9423501fa43812ee037b5 · missing value: fail closed / no imputation

指标公式输入年化口径缺失处理适用限制
population_covariance(strategy, benchmark) / population_variance(benchmark)date-aligned daily strategy and benchmark returnsnonereject; null when benchmark variance is zerolinear historical sensitivity only
mean(strategy - daily_rf - beta * (benchmark - daily_rf)) * 252aligned daily returns, beta and declared risk-free ratearithmetic daily alpha times 252reject; null when beta is undefinedsingle-factor arithmetic attribution
count(daily_return > 0) / observationsdaily net returnsnonerejectdaily hit rate, not trade win rate
annualized_return / abs(max_drawdown)annualized return and max drawdownuses annualized returnnull when max drawdown is zerounstable on short samples
min(value / running_peak - 1)initial cash followed by daily net portfolio valuesnonerejectpath-dependent historical observation
mean(daily_return - daily_rf) / population_stddev(daily_return) * sqrt(252)daily net returns; declared annual risk-free raterisk-free rate divided by 252; ratio times sqrt(252)reject; null when volatility is zeroassumes stable independent return distribution
ending_portfolio_value / initial_cash - 1net portfolio values derived from adjusted pricesnonerejectsandbox result; not realized or promised return
mean(daily_return - daily_rf) / sqrt(mean(min(daily_return, 0)^2)) * sqrt(252)daily net returns; declared annual risk-free rateratio times sqrt(252)reject; null when downside deviation is zerosensitive to sample length and chosen target return
population_stddev(strategy_daily_return - benchmark_daily_return) * sqrt(252)aligned daily returnssqrt(252)rejecthistorical active-risk estimate
(1 + total_return) ** (252 / observations) - 1net total return and observed trading periods252 trading daysrejectnot meaningful for very short samples
max(0, -5th percentile daily_return)daily net returnsnone; one-day loss fractionrejecthistorical non-parametric estimate; tail loss can exceed VaR
mean(active_daily_return) / population_stddev(active_daily_return) * sqrt(252)aligned daily returnsratio times sqrt(252)null when tracking error is zerosensitive to benchmark and sample selection
max(0, -mean(returns at or below 5th percentile))daily net returnsnone; one-day expected tail loss fractionrejectespecially unstable in small samples
strategy_total_return - benchmark_total_returnnet strategy return and aligned benchmark returnnonerejectarithmetic horizon difference, not compounded daily active return
population_stddev(daily_return) * sqrt(252)daily net returnssqrt(252)rejecthistorical dispersion; does not predict future risk
maximum consecutive observations below the running peakinitial cash followed by daily net portfolio valuesnone; trading observationsrejectcounts observations rather than calendar days
ending_benchmark_close / initial_benchmark_close - 1date-aligned existing benchmark close seriesnonereject without imputationdepends on declared benchmark choice
gross_before_cost - commission - slippage - tax = net_total_returnnet return and mutually exclusive cost components divided by initial cashnonereject; imbalance fails closedaccounting bridge, not timing-aware transaction attribution
benchmark + active_before_cost - commission - slippage - tax = net_total_returnbenchmark return, net return and mutually exclusive costs divided by initial cashnonereject; imbalance fails closedarithmetic horizon attribution, not holdings-based Brinson attribution
benchmark_contribution + active_contribution = net_total_returnhorizon strategy and benchmark total returnsnonereject; imbalance fails closedtwo-component arithmetic attribution