{
  "version":"original-network-portfolio-concentration-v1-20261105",
  "purpose":"Evaluate whether original price/volume communities add information about loss of diversification beyond simple portfolio, index and dated sector-fund indicators. This is a fixed demonstration portfolio, not actual KIC/user holdings, a portfolio-selection strategy or a validated risk model.",
  "portfolio":"First 100 distinct stock identifiers in the original price/volume file's preserved source order, equal weight 1/100 on every observation. Selection uses identifiers/order only, not historical performance. The original fixed stock sample has unreconstructed membership/delisting limits.",
  "network":"All original 2000 nodes; primary raw levels, window=7, lag=5, upper 90th-percentile positive edges, original symbol-order lag orientation, Louvain seed=7, price and volume separately. Require at least 90% finite pairs for both network views; otherwise withhold network predictions.",
  "observation_positions":"Original 494-session calendar, zero-based positions 59,64,69,..., stopping when a complete next-20-session outcome is unavailable. Compute features through the observation close only.",
  "network_features":["price_community_gross_HHI","volume_community_gross_HHI","joint_price_volume_community_gross_HHI"],
  "HHI_definition":"Sum of squared fixed portfolio weight shares in each network community. Joint communities are ordered pairs of price and volume memberships, with label-invariant grouping. These are statistical allocations, not economic transmission or loss amounts.",
  "risk_price_input":"Original archived adj_close for the fixed 100 issuers. Require positive finite closes on the full needed trailing and forward calendars; no filling or missing-symbol omission. The field name does not certify corporate-action treatment or historical release vintages.",
  "diversification_loss_proxy":"For complete simple daily return rows, population variance of the equal-weight portfolio divided by square of the equal-weight average individual population standard deviation. A higher value means less realized diversification. Require a positive denominator. This normalized variance is a co-movement proxy, not a probability or absolute monetary loss.",
  "current_diagnostics":"Report trailing 20- and 60-session diversification loss and all community HHIs at each observation. Describe allocations and co-movement without claiming causation or superiority from correlation alone.",
  "future_target":"Diversification loss over the next 20 ORIGINAL trading sessions, excluding the observation day. This secondary forecasting task is separate from current market-anomaly detection.",
  "baseline_features":["trailing_20_session_portfolio_diversification_loss","maximum_KOSPI_KOSDAQ_trailing_20_population_return_volatility","seven_sector_fund_trailing_20_return_correlation"],
  "sector_input":"Use the already frozen sector_proxy_protocol.json and all seven verified 494-session ETF closes, with the same dated-input limitations. No retrospective constituent sector labels are used in primary features.",
  "models":{"simple_baseline":"Three baseline features","network_only":"Three community HHI features","price_added":"Baseline plus price-community HHI","volume_added":"Baseline plus volume-community HHI","primary_combined":"Baseline plus all three network features"},
  "fit":"Training-only population mean/standard deviation scaling, zero scale replaced by one. Fixed ridge least squares: sum of squared training residuals + 1.0 times sum of squared feature coefficients, intercept unpenalized. Clip all model predictions to [0,1]. Require at least 25 complete training observations for each model. No hyperparameter search.",
  "train_end":"2022-05-31",
  "training_label_purge":"Use a training observation only if its entire next-20-session target ends on or before train_end. Never fit to a training-date feature whose outcome crosses the split.",
  "test_start":"2022-06-01",
  "test_end":"2023-05-30",
  "comparisons":"Report MAE, MSE and covered/held dates for every model. Compare the fixed primary_combined with simple_baseline on exactly the same observable test dates; also report unrestricted baseline coverage. Do not select a secondary model by test results.",
  "uncertainty":{"paired_loss":"Baseline squared error minus primary squared error","resampling":"Circular blocks of four original scheduled five-session observations, retaining held slots; use jointly valid dates for losses without compressing the original schedule","resamples":1000,"seed":20261105},
  "exploratory_gate":"At least 10% lower common-date MSE for the fixed primary model and a paired mean squared-error improvement 95% block interval strictly above zero. A pass is exploratory only, not certification of operational risk value.",
  "source_requirements":["Verified original input hashes and canonical calendar","All 100 portfolio issuer identities retained without replacement","Historical-only matrix snapshots and prefix checks on at least two actual observation dates","Label-invariant concentration and split-purge semantic tests","Registered iMac execution, official collection and current-source verification"],
  "network_comparison_outcomes_inspected_before_freezing":false,
  "limitations":["Demonstration portfolio with fixed unreconstructed historical membership","Unverified original adjustment/release vintages","Previously seen retrospective period and overlapping future windows","Limited weekly sample, not an independent portfolio-risk gold standard","A higher community HHI alone does not prove greater economic risk","No automatic deployment or original-strategy return claim"]
}
