Raw-intercept alphas absorbed the T-bill yield on uninvested/levered portions (582 well-fitted funds >2%/yr off; sum-of-betas polluted by level-matching). Now fund AND sleeves are netted against BIL daily total return before every regression; a cash position contributes exactly zero. - decompose: rf_series()/excess(); shv+bil dropped from regressors (~0 columns in excess space); FULL_WINDOW -> 2007-06-01 (BIL inception; mixing raw pre-2007 with excess breaks the fit). - factors: same excess treatment; shv out of DRIVERS. - CASH axis redefined: alpha/cash_yield -> net cash position = 1 - sum(betas) (label 'cash (net posn)'). - CANDIDATE list 250 -> 11: the old list was mostly under-invested funds whose 'alpha' was cash yield, not skill. - refback.py: per-fund fitted reference (forward-selected sleeves) stored as ref_5y/ref_full in search_all.json; app alpha-search table gains a 'reference (5y)' column - the answer to 'what is alpha computed against' (the fund's OWN fitted sleeve mix, not one index). - App captions updated; raw-alpha-era results backed up as *_rawalpha.json (not deleted).
37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
15:09:56 === stage screen ===
|
|
15:09:56 screen: 2384 funds, 2384 to do
|
|
15:10:29 screen: 100/2384
|
|
15:11:01 screen: 200/2384
|
|
15:11:33 screen: 300/2384
|
|
15:12:04 screen: 400/2384
|
|
15:12:36 screen: 500/2384
|
|
15:13:09 screen: 600/2384
|
|
15:13:42 screen: 700/2384
|
|
15:14:15 screen: 800/2384
|
|
15:14:45 screen: 900/2384
|
|
15:15:20 screen: 1000/2384
|
|
15:15:56 screen: 1100/2384
|
|
15:16:31 screen: 1200/2384
|
|
15:17:07 screen: 1300/2384
|
|
15:17:38 screen: 1400/2384
|
|
15:18:14 screen: 1500/2384
|
|
15:18:45 screen: 1600/2384
|
|
15:19:16 screen: 1700/2384
|
|
15:19:47 screen: 1800/2384
|
|
15:20:19 screen: 1900/2384
|
|
15:20:51 screen: 2000/2384
|
|
15:21:23 screen: 2100/2384
|
|
15:21:54 screen: 2200/2384
|
|
15:22:26 screen: 2300/2384
|
|
15:22:53 screen done: 2384 funds
|
|
15:22:53 === stage finalize ===
|
|
15:22:53 finalize: 2384 funds screened
|
|
15:22:53 1339 sleeve mix
|
|
15:22:53 1001 weak/unstable alpha
|
|
15:22:53 17 no 5y window
|
|
15:22:53 11 CANDIDATE
|
|
15:22:53 10 alpha, but correlated with current portfolio
|
|
15:22:53 6 alpha in 5y window, but not persistent
|
|
15:22:53 candidates v1 name-filter would have missed: ['aguax', 'etsix', 'femdx', 'hicox', 'prfrx', 'puls', 'rctix', 'rpifx', 'scfzx']
|
|
15:22:53 === overnight run finished in 0.2h ===
|