No. of Recommendations: 6
*** 4. Implausible one-day returns ***
Backtest results (10-year) show a problem with P123 {UnivZero}. The CAGR is implausible:
Screen GTR1 P123 diff CorMER
UnivZero 14.8% 29.1% 14.2% 0.69
UnivOne 10.4% 10.5% 0.0% 1.00
BaseAlt 10.2% 10.8% 0.7% 1.00
Base 10.3% 11.1% 0.8% 1.00
{UnivZero} is affected by data outliers (for example, 20210928 GFAI). Liquidity requirements are needed. {UnivOne} filters out penny stocks and nano caps, and shows very good agreement between GTR1 and P123. The CAGRs are close and there is very high correlation of monthly excess returns (CorMER). {BaseAlt} and {Base} add a few more liquidity criteria, and also show good agreement between GTR1 and P123.
The P123 {UnivZero} problem can be investigated using one-day returns. One-day total returns of RSP and QQQE using yahoo adjusted prices:
yRSP yQQQE
avg 0.05% 0.06%
sd 1.15% 1.29%
min -12.04% -11.72%
max 10.68% 10.64%
The maximum QQQE one-day return was 10.6% April 9-10, 2025. RSP also had a good day with a 8.0% return. The dates for the 5 largest excess one-day total returns (relative to yahoo RSP adjusted prices):
yQQQE gRSP pRSP gUnivZero pUnivZero gUnivOne pUnivOne gBase pBase gBaseAlt pBaseAlt gSP1500ew pSP1500ew
11/3/2020 3/18/2020 4/16/2020 12/21/2022 12/21/2022 3/18/2020 3/18/2020 3/18/2020 3/18/2020 3/18/2020 3/18/2020 3/18/2020 3/18/2020
3/20/2020 12/16/2021 4/7/2020 3/18/2020 9/28/2021 3/19/2020 3/19/2020 4/8/2020 4/8/2020 4/8/2020 4/8/2020 11/5/2024 4/28/2020
3/8/2021 4/16/2020 4/3/2020 3/19/2020 8/17/2018 1/28/2022 1/28/2022 11/13/2023 11/13/2023 11/13/2023 11/13/2023 4/8/2020 6/5/2020
6/9/2020 3/19/2020 4/6/2020 3/8/2021 3/6/2019 4/8/2020 3/8/2021 12/16/2021 4/28/2020 7/10/2024 7/10/2024 4/28/2020 11/5/2024
4/8/2025 3/25/2020 4/22/2020 12/31/2018 4/16/2021 12/16/2021 12/16/2021 4/28/2020 7/10/2024 12/16/2021 12/16/2021 1/5/2021 4/8/2020
3.7% 0.6% 0.7% 38.0% 38.3% 7.1% 7.1% 5.7% 5.2% 5.8% 5.3% 4.1% 3.7%
3.6% 0.3% 0.5% 7.1% 27.5% 2.2% 2.2% 2.1% 2.1% 2.1% 2.1% 2.0% 2.1%
3.3% 0.3% 0.5% 3.3% 27.4% 2.1% 2.1% 2.1% 2.0% 2.0% 2.0% 1.7% 2.1%
2.7% 0.3% 0.4% 2.5% 25.6% 2.0% 2.0% 1.9% 2.0% 2.0% 2.0% 1.6% 2.0%
2.6% 0.3% 0.4% 2.2% 18.2% 2.0% 1.9% 1.9% 2.0% 1.9% 1.9% 1.6% 2.0%
This data shows suspect {UnivZero} data December 21-22, 2022 on both GTR1 and P123, and suspect P123 {UnivZero} data on several other dates. The P123 {UnivZero} problem is related to either penny stocks or nano-caps, but this ends my {UnivZero} testing. {UnivOne} and the other screens' one-day returns look plausible, and I continue testing those.
With a few steps added to a screen, the number of stocks with unusual price action can be counted. The number of {UnivOne} outliers over the 10-year backtest was:
UnivOne UnivOne
trm GTR1 P123
3x 127 120
6x 23 22
11x 5 5
21x 1 1
51x 0 0
Where trm is the total return multiplier over one day. About 120 {UnivOne} stocks saw a one-day tripling of the price (for example, 20250908 ORBS, 20240206 HOLO).
As an example, consider a monthly 10-deep screen that manages to find three outliers per year, with each outlier having a one-day trm of 5x. The outliers would increase CAGR by roughly:
3 * 400% / 120 = 10% increase in CAGR from the outliers.
For example, the price of ORBS (nasdaq, yahoo, and barchart agree) jumped 40x on September 8th, 2025:
Date Open High Low Close Volume
25-Feb-26 1.22 1.33 1.16 1.19 5,076,700
15-Oct-25 10.00 10.00 8.90 9.43 2,339,300
19-Sep-25 13.79 14.03 12.61 12.79 4,041,200
15-Sep-25 15.13 15.23 11.76 12.02 3,889,500
8-Sep-25 18.86 83.12 15.52 45.08 204,842,400
5-Sep-25 1.50 1.50 1.41 1.45 13,500
The extra liquidity steps in {Base} reduce the number of outliers, but there are still some implausible one-day returns, with a similar number in GTR1 and P123:
Base Base
trm GTR1 P123
3x 49 45
6x 6 6
11x 2 2
21x 1 1
51x 0 0
The price changes could possibly be real (some sort of flash crash in reverse). There are a similar number in GTR1 and P123. Breakdown by year of the trm=3 data:
UnivOne UnivOne Base Base
GTR1 P123 GTR1 P123
2016 2 1 0 0
2017 2 0 0 0
2018 10 7 1 0
2019 8 7 3 3
2020 23 22 10 8
2021 19 23 10 9
2022 8 9 7 6
2023 15 13 5 5
2024 19 18 6 6
2025 21 20 7 8
total 127 120 49 45
GTR1 can look back about 100 years. Define a new screen:
Define {OutliersLT}
step0: Ordinary or Foreign stock
step1: [Mkt Days Since Security Opened] >= 300
step2: [Average dollar-volume over 63 days] > 0
step3: [Average dollar-volume over 63 days] Top 50%
step4: [Actual closing Price; lag=2 days] > 1
step5: [[Closing g-price; lag=1 days]/[Closing g-price; lag=2 days]] > 3
http://gtr1.net/2013/?~OutliersLT:h1::styp.a:et10!...Number of 3x outliers (step5) by year for {OutliersLT}, only listing years with at least one outlier:
step4 step5
Year adv50p_Pgt1 Outliers
1937 346 1
1938 367 1
1988 2806 1
1991 2694 1
1996 3203 1
1998 3414 13
1999 3271 21
2000 3079 6
2003 2570 2
2004 2446 1
2005 2385 1
2007 2315 2
2009 2196 5
2010 2091 1
2011 2022 1
2014 1908 3
2015 1944 1
2016 1954 4
2017 1921 4
2018 1899 4
2019 1908 7
2020 1910 22
2021 1947 23
2022 2123 8
2023 2253 16
2024 2214 41
2025 2151 46
There are only a few outliers, but the number is increasing. In 2024, there were 41 outliers out of about 560,000 stock-days (252*2214).
=== screen definitions ===
GTR1 {OutlierScreen} add the following steps to any screen:
aprc(2) > 1
ratio(gprc(1),gprc(2)) > 3
ratio(gprc(1),gprc(2)) > 6
ratio(gprc(1),gprc(2)) > 11
ratio(gprc(1),gprc(2)) > 21
ratio(gprc(1),gprc(2)) > 51
P123 {OutlierScreen} add the following steps to any screen:
Ret%Chg(1) > param0
Close(1) > 1
where param0 = 200, 500, 1000, 2000, or 5000.