27 2026-08-03
Restructured strawberry-labs from a single business-whitepaper README into a research-notebook shape: Vision → Literature Review → Research Questions → Methodology → Experiments → Publications → Research Journal → Code → Data Catalog → Academic References.
What moved and why:
- The original whitepaper content moved to whitepaper/README.md unchanged — it’s still the right document for a potential user of the platform, but it isn’t a research vision statement, so it no longer owns the top-level README.
phd/,research-platform/,platform/, andlibrary/were left in place — they’re already solid and heavily cross-linked, so the new top-level folders (methodology/,experiments/,data-catalog/,code/,references/,journal/) are thin indexes into them rather than copies.- Genuinely new: research-questions.md (extracted from
phd/proposal.mdso the current hypothesis doesn’t require reading the full proposal), this journal, and references/bibliography.md (DOI-normalized, distinct from the library’s prose summaries).
Open follow-ups, tracked so they don’t get lost:
library/research-map.mdis a stub — the actual paper-relationship graph hasn’t been generated yet (candidate: thegraphifyskill).data-catalog/licensing.mdanddata-catalog/refresh-schedules.mdare scaffolds — licensing terms per data vendor (FMP, FRED, FINRA) and refresh cadence aren’t documented centrally yet, even though the platform enforces them operationally.experiments/has no entries yet under the new per-experiment convention; existing results still live inresearch-platform/findings/.
27.1 Later the same day: first experiments/ entry — factor catalogue results
Added experiments/2026-08-03-factor-catalogue-empirical-results, the first entry under this morning’s new convention. Motivation: the canonical 13-factor catalogue in phd/factor-models-and-benchmarks.md §10 states economic justification and style but no empirical evidence — and these factors are literally the proposal’s multiplex Layer 1, so “does the platform’s own implementation of each one actually show a signal” isn’t optional context, it’s a prerequisite.
What happened:
- Re-projected the existing five-sidecar run
260526_6ddcd9(already synthesized inplatform/factors.md) onto the 13 catalogue rows, and pulledstyle/hypothesis_class/expected_signfromconfig/factors/*.yamlin SBFoundation directly rather than guessing. - Added two new columns per the operator’s request: a naive mean-return t-stat and a HAC (Newey–West) t-stat, computed the same way §3.3 of the factor-models note already computes CAPM/attribution alpha (
sbattribution.ols.ols_hac) — reusing the existing estimator on the factor-return panel (ops.risk_factor_return) instead of the strategy NAV streams it’s currently wired to. - Both t-stat columns are specified but not computed — no sidecar currently produces them, and I didn’t want to hand-wave numbers into a repo that otherwise polices this hard. Marked
PENDINGwith the exact method so a future pass (or a script) can fill them in mechanically. - Surfaced two things worth acting on before this table is trusted:
beta/market_beta_252dandmomentum_12_1/momentum_12m_1mare known-identical duplicates per the run synthesis — counting both sides would inflate the honest trial count (F-321) the platform otherwise tracks; (2)bb_lower_20and the atomicresidual_momentum_252d_eodhave real evidence (the cleanest MCPT pass, and the highest IC-IR in the run respectively) but aren’t in the §10 catalogue at all, while the deprecated compositeresidual_momentum_252doccupies conceptual space that could be confused with its atomic sibling.
Open follow-up: write the actual t_naive/t_HAC computation and rerun this once F-136/F-137/F-138 have all landed in a NIGHTLY_FULL run, so the MCPT column stops being pre-fix evidence.
27.2 Later still: merged the catalog into one self-contained, per-family document
Operator asked to restructure again: list each factor in its own section, grouped by family, list-style rather than wide tables, each factor self-contained (justification, source table/column, empirical results together) — and to stop splitting the catalog across phd/factor-models-and-benchmarks.md §10 and the experiments/ entry.
- Created phd/factor-catalog.md: 13 family sections, each factor as its own subsection with style, source
table.column, hypothesis class/expected sign, lifecycle status, IC-IR, MCPT, and the two pending t-stats — all pulled from the same config lookups and run synthesis as the earlier pass, just reshaped and consolidated. phd/factor-models-and-benchmarks.md§10 is now a short pointer to the new file instead of the table.- Slimmed
experiments/2026-08-03-factor-catalogue-empirical-results/README.mddown to a provenance record (what was run, the config-lookup correction, the pending-field method) rather than a duplicate of the data — the numbers live in one place now. - Added two factors the original 13-row table didn’t cover but the run data called for:
residual_momentum_252d_eod(highest IC-IR in the run) under Momentum, andbb_lower_20under Short-horizon reversal — kept specifically as a cautionary entry, since re-checking current config revealed it (andma_50d/ma_200d/vwap_20d) were deprecated for cause in July for a look-ahead defect, after being the run’s cleanest MCPT result. Good reminder that a clean permutation p-value is necessary, not sufficient.