tests done
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
arm,composite,weight,window,sharpe,sharpe_se,dsr,cagr_pct,max_drawdown_pct,calmar,trades,overlap_pct,top5_pnl_share_pct,avg_r_ex_top5
|
||||
control_w00,,0.0,train,1.26,0.764,0.5133,32.5,18.5,1.76,195,,67.83,0.2729
|
||||
control_w00,,0.0,validation,2.52,0.938,0.8618,71.3,14.8,4.82,106,,69.13,0.357
|
||||
control_w00,,0.0,test,1.99,0.81,0.8122,54.4,19.2,2.83,188,,62.82,0.1591
|
||||
control_w00,,0.0,full,1.86,0.49,0.986,52.1,22.3,2.34,483,,38.74,0.4132
|
||||
quality_w05,quality,0.05,train,1.5,0.767,0.6354,40.3,16.7,2.42,192,72.0,69.73,0.2241
|
||||
quality_w05,quality,0.05,validation,2.43,0.939,0.8392,67.4,17.3,3.89,106,73.77,71.95,0.3914
|
||||
quality_w05,quality,0.05,test,1.67,0.807,0.6889,43.1,19.2,2.24,191,64.78,71.88,0.1701
|
||||
quality_w05,quality,0.05,full,1.81,0.492,0.9816,49.7,22.0,2.26,482,68.12,40.52,0.3944
|
||||
quality_w10,quality,0.1,train,1.68,0.768,0.7191,46.1,16.7,2.75,195,64.56,63.19,0.1846
|
||||
quality_w10,quality,0.1,validation,1.95,0.948,0.6828,47.9,17.8,2.69,112,61.48,74.11,0.3579
|
||||
quality_w10,quality,0.1,test,1.57,0.809,0.6436,39.7,18.8,2.12,193,56.79,76.49,0.131
|
||||
quality_w10,quality,0.1,full,1.72,0.493,0.9714,46.0,19.3,2.39,491,59.67,39.37,0.3583
|
||||
quality_w15,quality,0.15,train,1.4,0.773,0.5848,35.8,15.3,2.33,189,47.69,67.32,0.2364
|
||||
quality_w15,quality,0.15,validation,1.85,0.932,0.6467,45.0,18.4,2.44,111,57.25,79.6,0.3738
|
||||
quality_w15,quality,0.15,test,1.78,0.804,0.7361,46.3,18.8,2.47,195,49.61,66.98,0.1186
|
||||
quality_w15,quality,0.15,full,1.66,0.491,0.963,43.4,19.7,2.2,484,48.31,38.77,0.3822
|
||||
growth_w05,growth,0.05,train,1.31,0.768,0.5392,32.7,17.9,1.83,192,72.0,69.9,0.3036
|
||||
growth_w05,growth,0.05,validation,2.64,0.918,0.893,73.6,11.6,6.33,103,75.63,68.23,0.447
|
||||
growth_w05,growth,0.05,test,1.99,0.8,0.8152,56.1,18.9,2.96,190,64.35,67.21,0.1646
|
||||
growth_w05,growth,0.05,full,1.87,0.489,0.9869,51.5,21.3,2.41,481,68.53,42.14,0.4654
|
||||
growth_w10,growth,0.1,train,1.11,0.775,0.4362,26.3,17.8,1.47,197,53.73,86.35,0.218
|
||||
growth_w10,growth,0.1,validation,2.64,0.918,0.893,73.6,11.6,6.33,103,75.63,68.23,0.447
|
||||
growth_w10,growth,0.1,test,1.92,0.808,0.7886,54.1,17.3,3.13,192,55.1,68.64,0.2284
|
||||
growth_w10,growth,0.1,full,1.77,0.492,0.9776,48.9,20.2,2.42,490,56.94,42.63,0.4153
|
||||
growth_w15,growth,0.15,train,1.07,0.772,0.4156,24.6,18.0,1.37,194,52.55,88.03,0.2015
|
||||
growth_w15,growth,0.15,validation,2.02,0.93,0.7123,52.6,19.1,2.76,100,58.46,70.05,0.3237
|
||||
growth_w15,growth,0.15,test,1.61,0.809,0.6618,42.3,17.3,2.45,191,55.97,78.59,0.2064
|
||||
growth_w15,growth,0.15,full,1.39,0.492,0.8915,34.7,20.6,1.69,487,54.95,47.05,0.3551
|
||||
balanced_w05,balanced,0.05,train,1.2,0.771,0.4822,30.2,20.9,1.45,198,73.13,74.32,0.2634
|
||||
balanced_w05,balanced,0.05,validation,2.25,0.947,0.7861,62.1,20.0,3.11,106,70.97,76.48,0.3761
|
||||
balanced_w05,balanced,0.05,test,2.02,0.802,0.8244,55.6,18.9,2.94,185,78.47,66.73,0.1759
|
||||
balanced_w05,balanced,0.05,full,1.76,0.492,0.9765,48.3,21.9,2.2,481,73.69,42.66,0.412
|
||||
balanced_w10,balanced,0.1,train,1.34,0.77,0.5545,34.1,17.0,2.01,189,68.42,66.41,0.2941
|
||||
balanced_w10,balanced,0.1,validation,1.82,0.93,0.6349,43.1,19.3,2.23,110,58.82,83.18,0.4047
|
||||
balanced_w10,balanced,0.1,test,2.0,0.811,0.8152,55.9,18.5,3.03,187,57.56,66.25,0.2341
|
||||
balanced_w10,balanced,0.1,full,1.71,0.492,0.9703,46.0,19.9,2.31,476,59.57,41.92,0.46
|
||||
balanced_w15,balanced,0.15,train,1.35,0.766,0.5599,34.3,15.5,2.21,182,56.43,65.25,0.276
|
||||
balanced_w15,balanced,0.15,validation,1.89,0.931,0.6627,45.3,17.8,2.54,111,55.0,79.37,0.3649
|
||||
balanced_w15,balanced,0.15,test,1.83,0.808,0.755,48.7,18.5,2.64,190,50.0,65.58,0.1869
|
||||
balanced_w15,balanced,0.15,full,1.59,0.49,0.9503,41.0,19.9,2.06,474,52.88,39.94,0.4303
|
||||
|
@@ -0,0 +1,29 @@
|
||||
window,signal,mean_ic,ic_t_stat,ic_positive_pct,mean_quintile_spread,weeks,avg_cross_section,reliable
|
||||
train,net_debt_to_ebitda,0.0141,0.46,61.9,0.0098,21,183.9,True
|
||||
train,growth,0.0006,0.02,47.6,0.0044,21,406.8,True
|
||||
train,revenue_growth_yoy,0.0006,0.02,47.6,0.0044,21,406.8,True
|
||||
train,fcf_margin,-0.006,-0.29,38.1,-0.0044,21,365.3,True
|
||||
train,balanced,-0.0075,-0.2,47.6,-0.003,21,305.9,True
|
||||
train,quality,-0.0185,-0.72,47.6,-0.0092,21,318.2,True
|
||||
train,operating_margin,-0.0288,-1.36,28.6,-0.0131,21,333.3,True
|
||||
validation,balanced,0.0597,1.18,55.6,0.013,9,312.9,False
|
||||
validation,growth,0.0485,0.95,55.6,0.0205,9,416.7,False
|
||||
validation,revenue_growth_yoy,0.0485,0.95,55.6,0.0205,9,416.7,False
|
||||
validation,fcf_margin,0.0268,0.84,66.7,0.0003,9,368.0,False
|
||||
validation,quality,0.0144,0.6,44.4,-0.0019,9,323.1,False
|
||||
validation,net_debt_to_ebitda,0.0066,0.12,55.6,0.0104,9,184.6,False
|
||||
validation,operating_margin,-0.0056,-0.18,44.4,-0.0058,9,338.3,False
|
||||
test,growth,0.0053,0.14,46.2,0.0046,13,429.3,True
|
||||
test,revenue_growth_yoy,0.0053,0.14,46.2,0.0046,13,429.3,True
|
||||
test,net_debt_to_ebitda,-0.0082,-0.19,61.5,-0.0043,13,195.5,True
|
||||
test,balanced,-0.0318,-0.67,46.2,-0.0123,13,318.9,True
|
||||
test,operating_margin,-0.0436,-1.52,38.5,-0.0279,13,349.5,True
|
||||
test,fcf_margin,-0.0535,-1.99,30.8,-0.0307,13,380.4,True
|
||||
test,quality,-0.055,-1.63,30.8,-0.0288,13,332.2,True
|
||||
full,growth,0.0116,0.55,47.6,0.0069,42,415.5,True
|
||||
full,revenue_growth_yoy,0.0116,0.55,47.6,0.0069,42,415.5,True
|
||||
full,net_debt_to_ebitda,0.006,0.29,54.8,0.0037,42,187.9,True
|
||||
full,balanced,-0.0042,-0.18,47.6,-0.0032,42,311.2,True
|
||||
full,fcf_margin,-0.0161,-1.04,35.7,-0.0123,42,370.5,True
|
||||
full,quality,-0.0242,-1.45,38.1,-0.014,42,323.6,True
|
||||
full,operating_margin,-0.0252,-1.74,33.3,-0.017,42,339.2,True
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,105 @@
|
||||
# Split-safe fundamentals overlay sensitivity
|
||||
|
||||
Generated: 2026-07-23T15:36:07.807809+00:00
|
||||
|
||||
## Protocol
|
||||
|
||||
- Research protocol: **split-safe**.
|
||||
- Train ends before **2024-01-01**.
|
||||
- Validation runs until **2025-01-01**.
|
||||
- Test starts at that date and is not used to select the arm.
|
||||
- Qualification is unchanged; fundamentals only reorder qualified longs.
|
||||
- SEC filings become visible at midnight New York time after acceptance.
|
||||
- Pre-registered portfolio trials for DSR: **10**.
|
||||
|
||||
## Data warnings
|
||||
|
||||
- Current tracked universe only: historical constituent membership and delisted names are unavailable, so absolute results have survivorship bias.
|
||||
- Diluted-EPS growth and share-count change are excluded because filing-time values are not split-comparable without point-in-time split factors.
|
||||
- Earnings surprise is excluded because the completed SUE study already failed its promotion bar for this strategy.
|
||||
- The test window has already been observed; this follow-up is sensitivity evidence and live paper performance remains the final out-of-sample check.
|
||||
|
||||
## Factor IC
|
||||
|
||||
| window | signal | IC | t | positive | quintile spread | weeks | N |
|
||||
|---|---|---:|---:|---:|---:|---:|---:|
|
||||
| train | net_debt_to_ebitda | 0.0141 | 0.46 | 61.9 | 0.0098 | 21 | 183.9 |
|
||||
| train | growth | 0.0006 | 0.02 | 47.6 | 0.0044 | 21 | 406.8 |
|
||||
| train | revenue_growth_yoy | 0.0006 | 0.02 | 47.6 | 0.0044 | 21 | 406.8 |
|
||||
| train | fcf_margin | -0.006 | -0.29 | 38.1 | -0.0044 | 21 | 365.3 |
|
||||
| train | balanced | -0.0075 | -0.2 | 47.6 | -0.003 | 21 | 305.9 |
|
||||
| train | quality | -0.0185 | -0.72 | 47.6 | -0.0092 | 21 | 318.2 |
|
||||
| train | operating_margin | -0.0288 | -1.36 | 28.6 | -0.0131 | 21 | 333.3 |
|
||||
| validation | balanced | 0.0597 | 1.18 | 55.6 | 0.013 | 9 | 312.9 |
|
||||
| validation | growth | 0.0485 | 0.95 | 55.6 | 0.0205 | 9 | 416.7 |
|
||||
| validation | revenue_growth_yoy | 0.0485 | 0.95 | 55.6 | 0.0205 | 9 | 416.7 |
|
||||
| validation | fcf_margin | 0.0268 | 0.84 | 66.7 | 0.0003 | 9 | 368 |
|
||||
| validation | quality | 0.0144 | 0.6 | 44.4 | -0.0019 | 9 | 323.1 |
|
||||
| validation | net_debt_to_ebitda | 0.0066 | 0.12 | 55.6 | 0.0104 | 9 | 184.6 |
|
||||
| validation | operating_margin | -0.0056 | -0.18 | 44.4 | -0.0058 | 9 | 338.3 |
|
||||
| test | growth | 0.0053 | 0.14 | 46.2 | 0.0046 | 13 | 429.3 |
|
||||
| test | revenue_growth_yoy | 0.0053 | 0.14 | 46.2 | 0.0046 | 13 | 429.3 |
|
||||
| test | net_debt_to_ebitda | -0.0082 | -0.19 | 61.5 | -0.0043 | 13 | 195.5 |
|
||||
| test | balanced | -0.0318 | -0.67 | 46.2 | -0.0123 | 13 | 318.9 |
|
||||
| test | operating_margin | -0.0436 | -1.52 | 38.5 | -0.0279 | 13 | 349.5 |
|
||||
| test | fcf_margin | -0.0535 | -1.99 | 30.8 | -0.0307 | 13 | 380.4 |
|
||||
| test | quality | -0.055 | -1.63 | 30.8 | -0.0288 | 13 | 332.2 |
|
||||
| full | growth | 0.0116 | 0.55 | 47.6 | 0.0069 | 42 | 415.5 |
|
||||
| full | revenue_growth_yoy | 0.0116 | 0.55 | 47.6 | 0.0069 | 42 | 415.5 |
|
||||
| full | net_debt_to_ebitda | 0.006 | 0.29 | 54.8 | 0.0037 | 42 | 187.9 |
|
||||
| full | balanced | -0.0042 | -0.18 | 47.6 | -0.0032 | 42 | 311.2 |
|
||||
| full | fcf_margin | -0.0161 | -1.04 | 35.7 | -0.0123 | 42 | 370.5 |
|
||||
| full | quality | -0.0242 | -1.45 | 38.1 | -0.014 | 42 | 323.6 |
|
||||
| full | operating_margin | -0.0252 | -1.74 | 33.3 | -0.017 | 42 | 339.2 |
|
||||
|
||||
## Portfolio arms
|
||||
|
||||
| arm | window | Sharpe | SE | DSR | CAGR | MaxDD | Calmar | trades | overlap |
|
||||
|---|---|---:|---:|---:|---:|---:|---:|---:|---:|
|
||||
| control_w00 | train | 1.26 | 0.764 | 0.5133 | 32.5 | 18.5 | 1.76 | 195 | — |
|
||||
| control_w00 | validation | 2.52 | 0.938 | 0.8618 | 71.3 | 14.8 | 4.82 | 106 | — |
|
||||
| control_w00 | test | 1.99 | 0.81 | 0.8122 | 54.4 | 19.2 | 2.83 | 188 | — |
|
||||
| control_w00 | full | 1.86 | 0.49 | 0.986 | 52.1 | 22.3 | 2.34 | 483 | — |
|
||||
| quality_w05 | train | 1.5 | 0.767 | 0.6354 | 40.3 | 16.7 | 2.42 | 192 | 72 |
|
||||
| quality_w05 | validation | 2.43 | 0.939 | 0.8392 | 67.4 | 17.3 | 3.89 | 106 | 73.77 |
|
||||
| quality_w05 | test | 1.67 | 0.807 | 0.6889 | 43.1 | 19.2 | 2.24 | 191 | 64.78 |
|
||||
| quality_w05 | full | 1.81 | 0.492 | 0.9816 | 49.7 | 22 | 2.26 | 482 | 68.12 |
|
||||
| quality_w10 | train | 1.68 | 0.768 | 0.7191 | 46.1 | 16.7 | 2.75 | 195 | 64.56 |
|
||||
| quality_w10 | validation | 1.95 | 0.948 | 0.6828 | 47.9 | 17.8 | 2.69 | 112 | 61.48 |
|
||||
| quality_w10 | test | 1.57 | 0.809 | 0.6436 | 39.7 | 18.8 | 2.12 | 193 | 56.79 |
|
||||
| quality_w10 | full | 1.72 | 0.493 | 0.9714 | 46 | 19.3 | 2.39 | 491 | 59.67 |
|
||||
| quality_w15 | train | 1.4 | 0.773 | 0.5848 | 35.8 | 15.3 | 2.33 | 189 | 47.69 |
|
||||
| quality_w15 | validation | 1.85 | 0.932 | 0.6467 | 45 | 18.4 | 2.44 | 111 | 57.25 |
|
||||
| quality_w15 | test | 1.78 | 0.804 | 0.7361 | 46.3 | 18.8 | 2.47 | 195 | 49.61 |
|
||||
| quality_w15 | full | 1.66 | 0.491 | 0.963 | 43.4 | 19.7 | 2.2 | 484 | 48.31 |
|
||||
| growth_w05 | train | 1.31 | 0.768 | 0.5392 | 32.7 | 17.9 | 1.83 | 192 | 72 |
|
||||
| growth_w05 | validation | 2.64 | 0.918 | 0.893 | 73.6 | 11.6 | 6.33 | 103 | 75.63 |
|
||||
| growth_w05 | test | 1.99 | 0.8 | 0.8152 | 56.1 | 18.9 | 2.96 | 190 | 64.35 |
|
||||
| growth_w05 | full | 1.87 | 0.489 | 0.9869 | 51.5 | 21.3 | 2.41 | 481 | 68.53 |
|
||||
| growth_w10 | train | 1.11 | 0.775 | 0.4362 | 26.3 | 17.8 | 1.47 | 197 | 53.73 |
|
||||
| growth_w10 | validation | 2.64 | 0.918 | 0.893 | 73.6 | 11.6 | 6.33 | 103 | 75.63 |
|
||||
| growth_w10 | test | 1.92 | 0.808 | 0.7886 | 54.1 | 17.3 | 3.13 | 192 | 55.1 |
|
||||
| growth_w10 | full | 1.77 | 0.492 | 0.9776 | 48.9 | 20.2 | 2.42 | 490 | 56.94 |
|
||||
| growth_w15 | train | 1.07 | 0.772 | 0.4156 | 24.6 | 18 | 1.37 | 194 | 52.55 |
|
||||
| growth_w15 | validation | 2.02 | 0.93 | 0.7123 | 52.6 | 19.1 | 2.76 | 100 | 58.46 |
|
||||
| growth_w15 | test | 1.61 | 0.809 | 0.6618 | 42.3 | 17.3 | 2.45 | 191 | 55.97 |
|
||||
| growth_w15 | full | 1.39 | 0.492 | 0.8915 | 34.7 | 20.6 | 1.69 | 487 | 54.95 |
|
||||
| balanced_w05 | train | 1.2 | 0.771 | 0.4822 | 30.2 | 20.9 | 1.45 | 198 | 73.13 |
|
||||
| balanced_w05 | validation | 2.25 | 0.947 | 0.7861 | 62.1 | 20 | 3.11 | 106 | 70.97 |
|
||||
| balanced_w05 | test | 2.02 | 0.802 | 0.8244 | 55.6 | 18.9 | 2.94 | 185 | 78.47 |
|
||||
| balanced_w05 | full | 1.76 | 0.492 | 0.9765 | 48.3 | 21.9 | 2.2 | 481 | 73.69 |
|
||||
| balanced_w10 | train | 1.34 | 0.77 | 0.5545 | 34.1 | 17 | 2.01 | 189 | 68.42 |
|
||||
| balanced_w10 | validation | 1.82 | 0.93 | 0.6349 | 43.1 | 19.3 | 2.23 | 110 | 58.82 |
|
||||
| balanced_w10 | test | 2 | 0.811 | 0.8152 | 55.9 | 18.5 | 3.03 | 187 | 57.56 |
|
||||
| balanced_w10 | full | 1.71 | 0.492 | 0.9703 | 46 | 19.9 | 2.31 | 476 | 59.57 |
|
||||
| balanced_w15 | train | 1.35 | 0.766 | 0.5599 | 34.3 | 15.5 | 2.21 | 182 | 56.43 |
|
||||
| balanced_w15 | validation | 1.89 | 0.931 | 0.6627 | 45.3 | 17.8 | 2.54 | 111 | 55 |
|
||||
| balanced_w15 | test | 1.83 | 0.808 | 0.755 | 48.7 | 18.5 | 2.64 | 190 | 50 |
|
||||
| balanced_w15 | full | 1.59 | 0.49 | 0.9503 | 41 | 19.9 | 2.06 | 474 | 52.88 |
|
||||
|
||||
## Mechanical selection
|
||||
|
||||
- Development-selected arm: **growth_w05**. The test result is reported only as a final check.
|
||||
- Final check: `{'arm_id': 'growth_w05', 'pass': True, 'checks': {'test_sharpe_not_worse': True, 'test_drawdown_within_2pp': True}, 'test_sharpe_delta': 0.0, 'note': 'Research evidence only; passing does not change production.'}`
|
||||
|
||||
Production remains unchanged pending human review.
|
||||
Binary file not shown.
Reference in New Issue
Block a user