Runway

Stats

1524 backtests, newest first
QLV90802 SPLV Train
BacktestsrejectQuant replicationSPLV2026-09-08 02:14
A frozen note, number 877, describes a training process for a trading system. The system was trained on market data from 2016 to 2020, and data from 2021 to 2025 was used to test the new rules, but the market period was also inspected historically. The system was completed with cohorts only in 2026. The system buys when the monthly first session open is greater than the previous month close and also greater than the 100-day moving average. The previous bar's average true range, or ATR, which is a measure of volatility, is used to set a stop loss at 1 ATR and a target at 1.5 ATR, with a time exit at the 10th session close. ATR is a way to measure how much an asset's price has moved. When the system reaches a profit of 1 ATR, it sells half of the position and then moves the stop loss to break even. If the system is losing, it uses the same bar ordering. The system also uses a gap stop, which is a stop loss that is triggered when the price gaps away from the previous price, and the target is capped. All adjustments are made daily using the Security Information Processor, or SIP, which is a system that processes and disseminates market data, and there is a 5 basis point fee and 5 basis point slippage for each fill. A basis point is a unit of measurement for interest rates and fees. The system uses fractional continuous sizing, which is a way of adjusting the size of the position, and starts with 100 units of cash, one position, and no leverage. Leverage is the use of borrowed money to increase the size of a position. The system's performance was reconstructed using vectorbt, which is a backtesting library, and the results agree with independent compounding within 4.80e-13 percentage points. The drawdown, which is the peak-to-trough decline in the system's performance, uses synthetic per day fill and close slots, not the actual 15-minute path. The positions are normalized for full allocation for comparison, but not for proposal. The system was tested using a bootstrap, which is a way of testing a system by resampling the data, with 10,000 iterations and a seed of 90802, and the results show a 95% mean interval of [-0.326320, 0.150311]%. The system uses historical profit and loss sizing only, and failures in training and holdout keep the actual profit and loss at 0, even if it is positive, as in the 2026 counterexample. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the author's paper is https://pages.stern.nyu.edu/~afrazzin/pdf/Betting%20Against%20Beta%20-%20Frazzini%20and%20Pedersen.pdf. The system is not an exact leveraged betting against beta, or BAB, strategy. The system has 252 metrics observations for QLV90802 metrics, and the study is deterministic, using a local ledger in the study.py file.
return-3.83
drawdown9.97
win rate52.5
sample40
average win0.58
average loss0.84
mean-0.09
mean CI low-0.33
mean CI high0.15
quarter Kelly0
slippage bp5
actual size0
QLV90802 SPLV Analysis
BacktestsrejectQuant replicationSPLV2026-09-08 02:14
A frozen note, number 877, contains information about the QLV90802 SPLV trading strategy. The strategy was trained on data from 2016 to 2020, and data from 2013 to 2015 is unavailable. The years 2021 to 2025 were used as a holdout period to test the new rules, but the market during this time was also historically inspected. The year 2026 was used to complete cohorts. The strategy buys on the first session open of each month if the previous month's close is above the 100-day moving average, which is a calculation of the average price of a stock over the past 100 days. The stop loss, which is the price at which the strategy sells a stock to limit losses, is set at one average true range, a measure of volatility, below the previous bar's close. The target price, which is the price at which the strategy sells a stock to make a profit, is set at 1.5 average true ranges above the previous bar's close. The strategy also has a time exit, which means it sells a stock at the close of the 10th session. The parent strategy is unmanaged, meaning it does not have any external management, and it is used for comparison with the swing exit strategy. The strategy does not take partial profits, meaning it does not sell a portion of a stock to lock in profits. The gap stop open and stop first rules are used to handle ambiguous situations, and the target price is capped. All adjustments are made daily, and a 5 basis point fee and 5 basis point slippage are applied to each fill, which is the execution of a trade. The strategy uses fractional continuous sizing, which means it allocates a fraction of the total cash to each trade, and it starts with an initial cash amount of 100. The strategy does not use leverage, which means it does not borrow money to make trades. The vectorbt exact fill reconstruction agrees with independent compounding within 5.64e-14 percentage points, which means the strategy's performance is consistent with the expected results. The drawdown, which is the peak-to-trough decline in the strategy's performance, uses synthetic per-day fill/close slots, not the actual 15-minute path. The positions are normalized to full allocation for comparison, but not as a proposal. The IID trade bootstrap, which is a statistical method used to estimate the strategy's performance, uses a seed of 90802 and has a 95% mean interval of [-1.016401, 1.068696]%. The historical profit/loss and win/loss sizing are only used for historical analysis, and failures in training and holdout keep the actual value at 0, even if there are positive counterexamples in 2026. The data source is https://runway.adityaperswal.workers.dev/data/stock-bars, and the author's paper is https://pages.stern.nyu.edu/~afrazzin/pdf/Betting%20Against%20Beta%20-%20Frazzini%20and%20Pedersen.pdf. The strategy is not an exact leveraged betting against beta strategy. The study has 252 metrics observations for QLV90802 metrics, and it is a deterministic study using the ledgers local in the study.py file.
return-0.03
drawdown2.32
win rate50
sample6
average win1.37
average loss1.36
mean0
mean CI low-1.02
mean CI high1.07
quarter Kelly0
slippage bp5
actual size0
QLV90802 Strategy
BacktestsrejectQuant replicationSPLV2026-09-08 02:14
This is a frozen note about the QLV90802 strategy, which is a type of automated trading system. The strategy was trained on data from 2016 to 2020, and then tested on new data from 2021 to 2025, as well as on completed data from 2026. The strategy buys a stock when the first session open of the month is higher than the 100-day moving average, which is a calculation of the average price of a stock over the past 100 days. The strategy then sets a stop loss, which is a price at which the stock will be sold to limit losses, at one average true range, which is a measure of the volatility of a stock. The target price, which is the price at which the stock will be sold for a profit, is set at 1.5 average true ranges. The strategy also has a time exit, which means that the stock will be sold after 10 sessions, regardless of whether the target price has been reached. The strategy does not allow for partial profits, which means that the entire position will be sold at once. The strategy also has a gap stop, which means that if the stock gaps up or down, the stop loss will be adjusted accordingly. All calculations are adjusted for dividends and splits, and a 5 basis point fee and 5 basis point slippage are added to each fill, which is a trade. The strategy uses fractional continuous sizing, which means that the position size will be adjusted based on the volatility of the stock, and starts with an initial cash position of $100. The strategy does not use leverage, which means that it does not borrow money to buy stocks. The results of the strategy were verified using a tool called Vectorbt, which reconstructs the exact fills, and the results were found to be accurate within 3.73e-13 percentage points. The drawdown, which is the maximum loss of the strategy, was calculated using synthetic per-day fill/close slots, rather than the actual 15-minute path. The positions were normalized to full allocation for comparison, but this is not a proposal for actual investment. The strategy was tested using a bootstrap, which is a statistical method, with 10,000 iterations and a seed of 90802, and the results showed a 95% mean interval of [-0.750248, -0.081568]%. The historical profit/loss and win/loss ratios were calculated, but failures in the training and holdout periods were kept at zero, even if the strategy had a positive return in 2026. The data used for this strategy was sourced from https://runway.adityaperswal.workers.dev/data/stock-bars, and the author's paper can be found at https://pages.stern.nyu.edu/~afrazzin/pdf/Betting%20Against%20Beta%20-%20Frazzini%20and%20Pedersen.pdf. This strategy is not an exact leveraged betting against beta strategy, and the metrics were calculated using a deterministic study and local ledgers.
return-16.43
drawdown19.41
win rate33.33
sample42
average win1.06
average loss1.16
mean-0.42
mean CI low-0.75
mean CI high-0.08
quarter Kelly0
slippage bp5
actual size0
QLV90802 SPLV Train
BacktestsrejectQuant replicationSPLV2026-09-08 02:14
This is a frozen note about the QLV90802 SPLV train. The training data is from 2016 to 2020, and the holdout period is from 2021 to 2025, but the market period from 2013 to 2015 was also historically inspected. The training was completed in 2026. The strategy is to buy on the first session open of each month if it is above the 100-day moving average, which is a calculation of the average price of a stock over the past 100 days. The stop loss is set at 1 average true range, which is a measure of the volatility of a stock, and the target is set at 1.5 average true ranges. The time exit is set at the 10th session close. There is an unmanaged parent strategy for comparison, which means it is not actively managed, and there is no partial profit taking. The gap stop open and stop first rules are used to handle ambiguous situations, and the target is capped. All adjustments are made daily, and there is a 5 basis point fee and 5 basis point slippage for each fill, which means a small cost is added to each trade. The sizing is fractional and continuous, and the initial cash is $100. There is only one position, and there is no leverage, which means no borrowed money is used. The vectorbt exact fill reconstruction agrees with independent compounding within 5.04e-13 percentage points, which is a very small difference. The drawdown uses synthetic per day fill and close slots, not the actual 15-minute path, and positions are normalized for full allocation for comparison, but not for proposal. The IID trade bootstrap with 10000 seed 90802 has a 95% mean interval of [-0.331797, 0.227813]%. The historical profit and loss sizing is only used for training, and failures in training and holdout keep the actual value at 0, even if there is a positive counterexample in 2026. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the author paper is https://pages.stern.nyu.edu/~afrazzin/pdf/Betting%20Against%20Beta%20-%20Frazzini%20and%20Pedersen.pdf. This strategy is not an exact leveraged betting against beta strategy. There are 252 metrics observations for QLV90802 metrics, and the study is deterministic, using the ledgers local in the study.py file.
return-2.38
drawdown8.94
win rate45
sample40
average win0.89
average loss0.83
mean-0.06
mean CI low-0.33
mean CI high0.23
quarter Kelly0
slippage bp5
actual size0
BTC/USD Trend
BacktestsrejectCrypto majorsBTC/USD2026-09-08 02:14
A news scan found the headline about a trading strategy for Bitcoin. The strategy was tested on historical data from January 1, 2023, to September 7, 2026. The strategy used a Simple Moving Average, or SMA, which is a way to smooth out price changes, and an Exponential Weighted Moving Average, or EWMA, RSI, which is a way to measure how fast prices are changing. The strategy also used a Relative Strength Index, or RSI, which is a way to measure if prices are too high or too low. The results showed that the strategy did not work well, with a negative expectancy, meaning that on average, the strategy would lose money. The strategy was tested with different parameters, such as a threshold of 5, 10, or 15, and a slippage of 0.001 or 0.003, which is a way to measure the cost of buying or selling. The results were similar in all cases, with a negative expectancy and a high drawdown, which is a measure of how much the strategy lost at its worst point. The strategy was also tested on a holdout set, which is a way to test the strategy on data it has not seen before, and the results were also negative. The conclusion is to reject the strategy, with a size of zero, meaning that no money should be invested in it. The sources of the data are https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The code used to test the strategy is in the files test_rule.py, results_1Hour.json, and audit.py.
return-48.8
drawdown48.8
win rate15
sample120
avg win0.39
avg loss0.72
expectancy-0.55
quarter Kelly0
PLAY Earnings Run-up Fails
BacktestsrejectCatalyst run-upsPLAY2026-09-08 02:13
A preregistered note, number 876, was written before returns were known, covering the period from the open on T-4 to the close on T-1, before the actual pending window from September 8 to 11, and before the issuer-confirmed aftermarket results on September 14. The results can be found at https://ir.daveandbusters.com/news-releases/news-release-details/dave-busters-entertainment-inc-report-second-quarter-2026. There were 22 quarterly dates from primary 8K bodies, with 16 used for training from 2021 to 2024, and 6 used for holdout from 2025 to 2026. Three Item 2.02 business updates were excluded, and two cover dates were corrected. The data used was from Yahoo, with 1425 daily bars, which is a type of financial data that includes open, high, low, and close prices. This data was used after a venue change on April 29. A long-only strategy was used, with fees of 5 basis points and slippage of 10 basis points on each side. A stop-loss of 1 ATR 14 and a target of 1.5 ATR 14 were used, based on the prior day's prices. The return was independently reconciled to compounded net trades. The training results showed a return of -13.155%, a drawdown of 25.154%, and a win rate of 37.5%. The holdout results showed a return of 6.879%, a drawdown of 12.737%, and a win rate of 66.667%, with a mean return of 1.383% per four-session opportunity. The mean bootstrap 20k 95% confidence interval was [-4.485, 7.251]%. A mechanical holdout quarter Kelly of 5.790% was not adopted, and the train Kelly was 0. A stress test with a 25 basis point slip showed a return of -17.225% for the training period and 4.972% for the holdout period, with a confidence interval of [-4.771, 6.930]%. A no-barrier baseline showed a return of 1.409% for the training period and 14.760% for the holdout period, but the training was negative under cost stress. The limits of the study include a selected small cohort, historical advance notices and preannouncements, daily bars that miss 15-minute and extended-session fills, and marked drawdowns that omit highs and lows. There was no trade, as the positive holdout cannot override the failed training, costs, and interval. A separate diagnostic using a simple moving average of 10 and 50 showed 11 trades, a return of -14.043%, a drawdown of 47.501%, and a win rate of 27.273%, but this was not an event strategy.
return6.88
drawdown12.74
win rate66.67
sample6
training_return-13.15
training_sample16
mean_pct1.38
average_win_pct5.97
average_loss_pct7.8
CI_low_pct-4.48
CI_high_pct7.25
adopted_Kelly0
XRP Trend
BacktestsinconclusiveCrypto majorsXRP/USD2026-09-08 02:11
A trading strategy for XRP/USD was tested. The strategy was to buy only when the prior close was above the 100-day Simple Moving Average, which is a calculation to find the average price of a stock over a certain period, and the Relative Strength Index 2, a measure of how quickly a stock is changing price, was below 10. The strategy would exit when the Relative Strength Index 2 was above 70 or after 10 bars. The strategy used an Exponential Weighted Moving Average, a type of moving average that gives more weight to recent prices, with an alpha of 0.5, which means it gave more weight to recent prices. The strategy also used a 100-bar warmup, which means it started using the Exponential Weighted Moving Average after 100 bars. A 25 basis point fee per side and a 10 basis point baseline plus 30 basis point stress slippage were used. The development period was from 2023 to 2025 after the last 3-day gap. The holdout period was from January 1, 2026, to September 7, 2026. The results showed insufficient evidence to hold out. The quality of the data was checked and found to be good, with 981 original and used data points, no duplicates, removed, or missing data points. The start date was January 1, 2024, and the end date was September 7, 2026. The holdout and stress results showed a return percentage of 0, a drawdown percentage of 0, and no trades. The development results showed different return percentages, drawdown percentages, and number of trades for different thresholds and slippages. The premises of the test were that it cannot estimate both wins and losses, daily gate fails irrespective of hourly outcome, and actual 15-minute stop/target/profit management is untested. The conclusion was to allocate zero to this strategy and not optimize targets to rescue it. The sources of the data were https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using test_rule.py and results_1Day.json, which uses close evaluation and open execution, and does not claim intrabar stop execution.
return0
drawdown0
win raten/a
sample0
stress return0
avg winn/a
avg lossn/a
allocation0
UNI/USD Trend
BacktestsrejectCrypto majorsUNI/USD2026-09-08 02:11
A trading strategy for UNI/USD was tested. The strategy is to buy when the prior day's close is above the 100-day Simple Moving Average and the Wilder-style Exponential Weighted Moving Average Relative Strength Index 2 is less than 10. The strategy sells when the Relative Strength Index 2 is greater than 70 or after 10 bars. The strategy uses a Pandas Exponential Weighted Moving Average with an alpha of 0.5 and does not adjust. There is a 100-bar warm-up period. The strategy includes a 25 basis point fee per side and a 10 basis point baseline, with a 30 basis point stress slippage. The strategy was developed from 2023 to 2025 after a 3-day gap and tested from January 1, 2023, to September 7, 2026. The test results show a return of -3.73% and a drawdown of 15.01% in the holdout period, and a return of -4.11% and a drawdown of 15.18% in the stress test. The development period results show returns ranging from 3.92% to 100.18% and drawdowns ranging from 19.23% to 46.42%. The strategy has several limitations, including the inability to estimate both wins and losses, daily gate fails, and untested stop and target management. The conclusion is to allocate zero to this strategy and not optimize targets to rescue it. The data source is https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using test_rule.py and results_1Day.json.
return-3.73
drawdown15.01
win rate0
sample1
stress return-4.11
avg winn/a
avg loss3.74
allocation0
LINK/USD Trend
BacktestsinconclusiveCrypto majorsLINK/USD2026-09-08 02:11
A trading strategy for LINK/USD was tested. The strategy is based on a long-only approach, where a position is opened when the prior close is above the 100-day Simple Moving Average and the Wilder-style Exponential Weighted Moving Average Relative Strength Index 2 is below 10. The position is exited when the RSI2 is above 70 or after 10 bars. The strategy uses a Pandas Exponential Weighted Moving Average with an alpha of 0.5 and no adjustment. A 100-bar warm-up period is used. The strategy also includes a 25 basis point fee per side and a 10 basis point baseline, with a 30 basis point stress slippage. The development period was from 2023 to 2025, after a 3-day gap. The holdout period was from January 1, 2026, to September 7, 2026. The results show a return of 1.29% and a drawdown of 1.68% during the holdout period. The stress test results show a return of 0.88% and a drawdown of 1.80%. The development period results show varying returns and drawdowns depending on the threshold and slippage used. The premises of the test include that it is not possible to estimate both wins and losses, and that the daily gate fails irrespective of the hourly outcome. The conclusion is to allocate zero funds to this strategy and not to optimize the targets to rescue it. The source of the data is https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using the test_rule.py script and the results_1Day.json file, which uses close evaluation and open execution, and does not claim intrabar stop execution.
return1.29
drawdown1.68
win rate100
sample1
stress return0.88
avg win1.29
avg lossn/a
allocation0
LTC/USD Trend
BacktestsinconclusiveCrypto majorsLTC/USD2026-09-08 02:11
A trading strategy for LTC/USD was tested. The strategy is to buy when the prior day's close is above the 100-day Simple Moving Average, which is a calculation to find the average price of a stock over a certain period, and the Relative Strength Index 2, a measure of how quickly a stock's price is changing, is less than 10. The strategy sells when the Relative Strength Index 2 is greater than 70 or after 10 days. The strategy uses a type of moving average called Exponential Weighted Moving Average, which gives more weight to recent prices. The test used data from 2023 to 2026. The test found that the strategy did not work well during the period from January 1, 2026, to September 7, 2026, which is called the holdout period, with a return of 0.4535% and a maximum loss of 2.4539%. The strategy also did not work well when stress-tested, with a return of 0.0525% and a maximum loss of 2.6485%. The strategy was developed using data from 2023 to 2025 and had a return of 21.1575% with a maximum loss of 1.1854% when the threshold was 5 and the slippage, which is the difference between the expected price and the actual price, was 0.001. However, the strategy had some limitations, such as not being able to estimate both wins and losses, and not being tested with actual 15-minute stop and target profit management. Therefore, the conclusion is to not allocate to this strategy and not to optimize its targets. The data used for the test can be found at https://runway.adityaperswal.workers.dev/data/crypto-bars and the fees for crypto trading can be found at https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using the test_rule.py script and the results_1Day.json file.
return0.45
drawdown2.45
win rate100
sample1
stress return0.05
avg win0.45
avg lossn/a
allocation0
SOL/USD Trend
BacktestsrejectCrypto majorsSOL/USD2026-09-08 02:11
A trading strategy for SOL/USD was tested. The strategy was to buy only if the previous close was higher than the 100-day Simple Moving Average, which is a calculation to find the average price of a stock over a certain period, and the Relative Strength Index 2, a measure of how quickly a stock's price is changing, was less than 10. The strategy would exit if the Relative Strength Index 2 was greater than 70 or after 10 bars. Each window of time started with no bias. The Exponential Weighted Moving Average, a type of moving average that gives more weight to recent prices, was used with an alpha of 0.5, which means it gave a lot of weight to recent prices. The strategy was tested on data from August 26, 2024, to September 7, 2026. The test found that the strategy did not work well, with a return of -0.0688% and a drawdown of 3.16% during the holdout period, which is a period of time used to test a strategy. The strategy also did not work well under stress, with a return of -0.4678% and a drawdown of 3.36%. The development period, which is a period of time used to develop a strategy, had a return of -16.56% and a drawdown of 26.77%. The strategy had several premises, including that it could not estimate both wins and losses, and that the daily gate fails regardless of the hourly outcome. The conclusion was to allocate zero funds to the strategy and not to optimize the targets to rescue it. The data used for the test came from https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using test_rule.py and results_1Day.json.
return-0.07
drawdown3.16
win rate0
sample1
stress return-0.47
avg winn/a
avg loss0.07
allocation0
ETH/USD Trend
BacktestsrejectCrypto majorsETH/USD2026-09-08 02:11
A trading strategy for ETH/USD was tested. The strategy is to buy when the prior day's close is above the 100-day Simple Moving Average and the Wilder-style Exponential Weighted Moving Average Relative Strength Index 2 is less than 10. The strategy sells when the Relative Strength Index 2 is greater than 70 or after 10 bars. The strategy uses a Pandas Exponential Weighted Moving Average with an alpha of 0.5 and a 100-bar warm-up period. A 25 basis point fee per side and a 10 basis point baseline plus 30 basis point stress slippage were applied. The strategy was developed from 2023 to 2025 after a 3-day gap and tested from January 1, 2026, to September 7, 2026. The test results showed a return of -5.67% and a drawdown of 5.71% during the test period. The stress test results showed a return of -6.05% and a drawdown of 6.05%. The development period results showed returns ranging from 3.97% to 15.08% and drawdowns ranging from 13.21% to 26.70%. The strategy had a win rate of 44.44% to 55.56% during the development period. The conclusion is to allocate zero to this strategy and not optimize it. The premises for this conclusion are that the strategy cannot estimate both wins and losses, the daily gate fails irrespective of hourly outcome, and the actual 15-minute stop/target/profit management is untested. The source of the data is https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using test_rule.py and results_1Day.json.
return-5.67
drawdown5.71
win rate0
sample1
stress return-6.05
avg winn/a
avg loss5.68
allocation0
BTC/USD Trend
BacktestsrejectCrypto majorsBTC/USD2026-09-08 02:11
A trading strategy for BTC/USD was tested. The strategy was to buy when the prior close was above the 100-day Simple Moving Average and the Wilder-style Exponential Weighted Moving Average Relative Strength Index 2 was below 10. The strategy would exit when the Relative Strength Index 2 was above 70 or after 10 bars. The next adjacent open would be used to adjust. The strategy used a Pandas Exponential Weighted Moving Average with an alpha of 0.5, and it did not adjust. There was a 100-bar warm-up period. The strategy was tested with a 25 basis point fee per side and a 10 basis point baseline, with 30 basis point stress slippage. The development period was from 2023 to 2025, after the last 3-day gap. The holdout period was from January 1, 2026, to September 7, 2026. The data quality was checked, and there were 1346 original and used data points, with no duplicates, removed, or missing points. The start date was January 1, 2023, and the end date was September 7, 2026. The holdout results showed a return of -18.93% and a drawdown of 19.28%. The stress results showed a return of -19.57% and a drawdown of 19.77%. The development results showed different returns and drawdowns for different thresholds and slippages. The premises of the test were that it is impossible to estimate both wins and losses, two daily gate fails regardless of hourly outcome, and actual 15-minute stop, target, and profit management were untested. The conclusion was to allocate zero to this strategy and not to optimize targets to rescue it. The source of the data was https://runway.adityaperswal.workers.dev/data/crypto-bars and https://docs.alpaca.markets/us/docs/crypto-fees. The test can be reproduced using test_rule.py and results_1Day.json, which uses close evaluation and open execution, and does not claim intrabar stop execution.
return-18.93
drawdown19.28
win rate0
sample2
stress return-19.57
avg winn/a
avg loss9.52
allocation0
IREN Breakout Rule
BacktestsrejectSupply chainIREN2026-09-08 02:07
This is a preregistered note, number 879, which analyzed 1002 daily stock price bars for the period from September 8, 2022, to September 4, 2026, using data from https://runway.adityaperswal.workers.dev/data/stock-bars. The analysis used a method called vectorbt, which executes trades at the next open price after the previous close price breaks out above the high price of the previous 20 days and the 50-day Simple Moving Average, or SMA, which is a calculation of the average price over a certain period. The trade is exited when the condition is lost or when a 5% stop loss or 8% target profit is reached, with a fee of 0.1% and a slip of 0.1% on each side. The training period ended on December 31, 2025, and the holdout period was in 2026. The full measurements are available in a companion observation. The training period showed a return of 363.2611% over 73 trades, but the holdout period showed a loss of 26.4354% over 9 trades, with a stress test showing a loss of 28.0341%. There is currently no signal to trade. All tested neighbors, which are similar trading rules, were rejected, and there was no retuning, or adjustment, of the rule. A diagnostic test was run without a filter or explicit costs, which showed the following results for the symbol ATI: a return of 32.14784989699413%, a buy and hold return of 576.3242375601926%, a maximum drawdown of 15.093386654757857%, a win rate of 39%, and an average trade return of 0.3234454560696176%. For the symbol IREN, the results were: a return of 57.103550067208594%, a buy and hold return of 868.9804772234273%, a maximum drawdown of 36.103355338559105%, a win rate of 42.04545454545455%, and an average trade return of 0.6986307433360928%. The tickers were selected after the fact, and the holdout dates were not a prospective, or future, population. The daily stops used in the analysis cannot validate the results of 15-minute exits, entry day ordering, partial profit-taking, or gap bounds. The rejection of the rule implementation does not mean that every future opportunity will be rejected.
return-26.44
drawdown30.02
win rate33.33
sample9
avgwin2.77
avgloss6.21
train_return363.26
train_sample73
stress_return-28.03
look10_return-7.21
look40_return-23.55
ATI Trading Rule
BacktestsrejectSupply chainATI2026-09-08 02:07
A preregistered note, number 879, analyzed 1002 daily stock bars for the period of September 8, 2022, to September 4, 2026, from the source https://runway.adityaperswal.workers.dev/data/stock-bars. The analysis used a trading rule based on the Simple Moving Average, or SMA, which is a calculation of the average price of a stock over a certain period. The rule executed a trade at the next open price if the prior close price broke out above the high price of the prior 20 closes and the SMA50, which is the average price over 50 days. The trade was exited if the next open price lost the breakout condition or reached a 5% stop loss or an 8% target profit, with a fee of 0.1% and a slip of 0.1% on each side. The training period ended on December 31, 2025, and the holdout period was in 2026. The training period resulted in a loss of 19.7981% over 73 trades, while the holdout period had a gain of 27.0245% over 21 trades, with a mean 95% bootstrap interval of -0.481668% to 3.058334%. However, the training failure and uncertainty, which includes zero, led to the rejection of the deployment despite the attractive holdout results. A diagnostic test without explicit costs was run for the ticker symbol ATI, which is a stock symbol, and resulted in a return percentage of 32.14784989699413% over 1001 bars, with a buy and hold percentage of 576.3242375601926%, a maximum drawdown percentage of 15.093386654757857%, a win rate of 39, and an average trade percentage of 0.3234454560696176. Another diagnostic test was run for the ticker symbol IREN, which is also a stock symbol, and resulted in a return percentage of 57.103550067208594% over 1001 bars, with a buy and hold percentage of 868.9804772234273%, a maximum drawdown percentage of 36.103355338559105%, a win rate of 42.04545454545455, and an average trade percentage of 0.6986307433360928. The tickers were selected retrospectively, and the holdout dates were not unseen prospective population. The daily stops used in the analysis cannot validate 15-minute exits, entry day ordering, partial profit-taking, or gap bounds. The rejection is of the rule implementation, not every future opportunity.
return27.02
drawdown9.37
win rate61.9
sample21
avgwin3.61
avgloss2.64
train_return-19.8
train_sample73
stress_return17.97
look10_return25.65
look40_return21.98
SOL/USD Test Fails
BacktestsrejectCrypto majorsSOL/USD2026-09-08 02:06
A test was run using the command line interface to evaluate the performance of a trading strategy on the cryptocurrencies BTC/USD, ETH/USD, and SOL/USD. The test, which was run on September 8 at 02:02 UTC, used a 365-day period and a simple strategy based on the Relative Strength Index, or RSI, which is a measure of how quickly a stock or currency price is changing. The RSI strategy used a 14-period RSI, which means it looked at the average gain or loss of the currency over 14 days, and it sold when the RSI was below 30, indicating that the currency was oversold. However, this strategy did not match a new custom strategy that uses a 100-day moving average and a type of RSI called Wilder RSI. The test found that the simple RSI strategy had a return of -17.50%, a maximum drawdown of 38.00%, and a win rate of 66.67%. The test also found that the strategy had an average daily return of -0.80% and a buy-and-hold return of -51.30%. Despite performing relatively well, the strategy was rejected because it resulted in an absolute loss before costs were considered. The data used for the test came from the website https://runway.adityaperswal.workers.dev/data/crypto-bars. A custom development project is pending, which will use a combination of daily and hourly data from 2023 to 2025, and a fixed holdout period in 2026.
return-17.5
drawdown38
win rate66.67
sample15
avg trade-0.8
buyhold-51.3
ETH/USD Test Fails
BacktestsrejectCrypto majorsETH/USD2026-09-08 02:06
A test was run using a computer program called node with the file backtest.js on September 8 at 02:02 UTC. The test used the symbols BTC/USD, ETH/USD, and SOL/USD with a strategy called RSI, which stands for Relative Strength Index, a way to measure stock or currency performance. The test used a 14-period RSI, which means it looked at 14 days of data, and a condition where the RSI was less than 30, and it exited when this condition was false. This was not the same as a new custom strategy that used a 100-day moving average and a type of RSI called Wilder RSI. The test looked at data from a source that reads one page of data at a time without looking at multiple pages, and it did not account for costs or hold out any data for validation. The test included the last incomplete day of data, which had 366 bars of data. This test was only for diagnostic purposes and not for actual execution. The results showed a return of -22.59%, a drawdown of 38.12%, a win rate of 41.67%, 12 trades, and an average return of -1.72%. The results also showed a buy and hold return of -41.93%. Despite performing relatively well, the test was rejected because it showed an absolute loss before costs were considered. The data source was https://runway.adityaperswal.workers.dev/data/crypto-bars. A custom development project using vectorbt is pending for 2023-2025 with a fixed holdout for 2026, and it will be kept separate.
return-22.59
drawdown38.12
win rate41.67
sample12
avg trade-1.72
buyhold-41.93
BTC/USD Test Fails
BacktestsrejectCrypto majorsBTC/USD2026-09-08 02:06
A test was run using a computer program called node to analyze the performance of a trading strategy on the BTC/USD currency pair, as well as ETH/USD and SOL/USD, from September 8 at 02:02 UTC. The test used a strategy called RSI, which stands for Relative Strength Index, a way to measure stock or currency performance. The test used a 14-period RSI, which means it looked at 14 days of data, and a threshold of 30, meaning it would make a trade when the RSI was below 30. The test also looked at when to exit a trade, which was when the RSI condition was no longer true. However, this test was not the same as a new custom strategy that uses a 100-day moving average and a type of RSI called Wilder RSI. The test looked at data from a source that reads one page of data at a time without looking at multiple pages, and did not account for costs or hold out any data for further testing. The test was only for diagnostic purposes and not for actual trading. The results showed a return of -23.90%, a drawdown of 35.49%, a win rate of 50%, 12 trades, and an average return of -2.02%. The test also compared the results to a benchmark, which had a return of -29.16%. Despite performing relatively well compared to the benchmark, the test was rejected because it resulted in an absolute loss before accounting for costs. The data used for the test came from the website https://runway.adityaperswal.workers.dev/data/crypto-bars. A custom development project using a tool called vectorbt is pending, which will look at daily and hourly data from 2023 to 2025 and hold out data from 2026 for further testing.
return-23.9
drawdown35.49
win rate50
sample12
avg trade-2.02
buyhold-29.16
QTM90800 Results
BacktestsrejectQuant replicationSPY, IWM, EFA, EEM2026-09-08 00:19
A news scan found the text of a report on automated trading fund manager notes. The report discusses the results of 156 tests of fixed variants, which include 108 adjusted tests and 36 raw tests, plus 12 delayed and 8 placebo tests. The tests were run on four ETFs, including SPY, IWM, EFA, and EEM, with three rules, three windows, and three costs. The results show that the primary SPY had a later parent return of -8.174497%, a delay of -1.724374%, and a swing of -11.189744%. The training results were +9.882733%, +10.919210%, and +0.298670% respectively. The cheapest 2bps swing was still -2.397594%, and the 20bp swing was -21.074686%. The report also notes that EEM was a strong counterexample, with a delay training return of +21.544615% and a swing later return of +14.690015%. However, the main swing training return was -0.720184%, and the recent return was -0.039239%. The report concludes that the results do not support the deployment of a frozen rule and do not make any universal claims about the original anomaly. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars.
return-11.19
drawdown15.54
win rate47.46
sample59
fixed variants156
SPY 2bp swing-2.4
SPY 20bp swing-21.07
EEM main swing14.69
EEM training swing-0.72
EEM 20bp swing1.92
EFA raw swing-10.08
actual allocation0
QTM90800 EEM
BacktestsinconclusiveQuant replicationEEM2026-09-08 00:17
A news scan found the headline 'QTM90800 EEM swing recent: frozen turn-of-month test'. This refers to a test of a trading strategy for the EEM ETF. The strategy has three main parts. First, it freezes the trading protocol before checking the results, from 2026 through September 4, with 8 completed groups of trades, and a recent check of the results. It buys at the open of the last monthly trading session and sets a stop loss at 1 average true range, or ATR, which is a measure of how much a stock's price has moved, and a target at 1.5 ATR. Half of the trade is closed when the price moves up by 1 ATR, and the rest is closed when it breaks even or at the fourth next-month open. The daily stop loss is triggered first if there is ambiguity, and if a bar hits the target and also the entry point, the remainder is closed conservatively at the entry point. The target gap may also close the remainder at the open. Second, the strategy uses a long-only cash-only order ledger with a 5 basis point fee and 5 basis point slippage, which is the difference between the expected price and the actual price. The cash is compounded independently and reconciles the final equity within 1e-5 USD on an initial cash of 10,000 USD, with non-negative cash. The sample counts include full entry groups, not partial fills. The drawdown includes open and close marks, but not all intrabar excursions, which are price movements within a bar. Third, historical adjusted ETF prices are used to approximate distributions, with a 10 basis point audit and 2/20 basis point sensitivity saved but not selected. The strategy does not verify 15-minute or extended-hours fills, whole-share profit management, or exact time execution. Positive recent samples cannot override training or later gates, and there is no current calendar entry. The sources of the information are https://business.purdue.edu/faculty/mcconnell/publications/Equity-Returns-at-the-Turn-of-the-Month.pdf and https://runway.adityaperswal.workers.dev/data/stock-bars. All inputs, code, and results are archived in 291 parts and exact readback verified. This is an ETF adaptation, not an exact CRSP replication, and it does not have deployable approval.
return-0.04
drawdown6.58
win rate62.5
sample8
average win1.02
average loss1.69
mean payoff0.01
quarter Kelly0
fee bp5
slippage bp5
actual allocation0
QTM90800 EEM Test
BacktestsrejectQuant replicationEEM2026-09-08 00:17
A news scan found the headline 'QTM90800 EEM swing later: frozen turn-of-month test'. This refers to a test of a trading strategy on the EEM ETF. The test has two main parts. First, it freezes the trading protocol before inspecting the results. From 2021 to 2025, the test completed 59 market years, which were previously used to test other rules. The strategy buys at the open of the last monthly session and sets a stop loss at one average true range, or ATR, which is a measure of price volatility. The target is 1.5 ATR. Half of the position is closed when the price reaches 1 ATR, and the remaining position is closed at the fourth next-month open. The test also includes daily stops and gap stops. Second, the test uses a long-only cash-only strategy with a 5 basis point fee and 5 basis point slippage, which is a small cost of buying or selling. The test reconciles the final equity within a small margin of error. The test uses historical adjusted ETF prices and includes drawdowns, which are losses from peak to trough. The sources of the data are from Purdue University and a stock bars website. All inputs, code, and results are archived and verified. This is an adaptation of a trading strategy, not an exact replication, and it is not approved for deployment.
return14.69
drawdown11.21
win rate59.32
sample59
average win1.43
average loss1.48
mean payoff0.25
quarter Kelly0.04
fee bp5
slippage bp5
actual allocation0
QTM90800 EEM
BacktestsinconclusiveQuant replicationEEM2026-09-08 00:17
A news scan found the text of a trading fund manager's notes. The manager froze a protocol called Protocol829 before inspecting its performance. From 2016 to 2020, the protocol completed 58 training sessions after a warm-up period. The manager then used a strategy to buy the EEM ETF at the opening price of the last monthly session. The manager set a stop loss at one average true range, or ATR, below the entry price, and a target at 1.5 times the ATR above the entry price. The manager would sell half of the position at a profit of one ATR and move the stop loss to the breakeven point. The remaining position would be sold at the fourth next-month open. If a trading day was ambiguous, the manager would set a daily stop loss. If a bar reached a profit of one risk unit, or R, and also hit the entry price, the manager would conservatively close the remaining position at the entry price. The manager also set a target gap that could close the remaining position at the open price. The manager used a long-only cash-only order ledger with a 5 basis point fee and 5 basis point slippage. The manager reconciled the final equity within 1e-5 USD on an initial cash amount of 10,000 USD, with nonnegative cash. The sample counts included full entry cohorts, not partial fills. The drawdown included open and close prices, as well as synthetic threshold marks, but not all intrabar excursions. The manager used historical adjusted ETF prices that approximated distributions, with a 10 basis point audit and 2/20 basis point sensitivity saved but not selected. The manager did not verify 15-minute or extended-hours fills, whole-share profit management, or exact time execution. Recent positive samples could not override the training or later gates, and there was no current calendar entry. The manager cited two sources: https://business.purdue.edu/faculty/mcconnell/publications/Equity-Returns-at-the-Turn-of-the-Month.pdf and https://runway.adityaperswal.workers.dev/data/stock-bars. All inputs, code, and results were archived in 291 parts and verified with exact readback. This was an ETF adaptation, not an exact CRSP replication, and did not have deployable approval.
return-0.72
drawdown19.03
win rate55.17
sample58
average win1.39
average loss1.7
mean payoff0
quarter Kelly0
fee bp5
slippage bp5
actual allocation0
QTM90800 Delay
BacktestsinconclusiveQuant replicationEEM2026-09-08 00:17
A news scan found the report of a frozen turn-of-month test for QTM90800 EEM. The test has 8 completed cohorts from 2026 through September 4. The protocol, called Protocol829, was frozen before a return inspection. It involves buying at the open of the last monthly session and selling at the open of the fourth next-month session. This is a change from the original method, which was based on closing prices. The test does not include stop or target prices. The orders are long-only, meaning they only buy, and cash-only, meaning they do not use borrowed money. The orders also include a 5 basis point fee and 5 basis point slippage, which is a measure of the difference between the expected price and the actual price of a trade. The test also includes cash compounding, which means that the interest earned on the cash is added to the principal. The drawdown, or loss, includes both open and close prices, as well as a synthetic threshold mark, but does not include all intrabar excursions, which are price movements within a single bar or period. The historical prices used are adjusted for distributions, such as dividends, and include a 10 basis point audit and 2/20 basis point sensitivity, which were saved but not selected. The test does not verify 15-minute or extended-hours fills, whole-share profit management, or exact time execution. The test also cannot override training or later gates, and there is no current calendar entry. The sources for this test include a paper on equity returns at the turn of the month and a dataset of stock bars. All inputs, code, and results are archived in 291 parts and have been verified. This is an adaptation of an ETF, not an exact replication of the CRSP, and it does not have deployable approval.
return-3.79
drawdown9.23
win rate37.5
sample8
average win3.27
average loss2.63
mean payoff-0.42
quarter Kelly0
fee bp5
slippage bp5
actual allocation0
QTM90800 Delay
BacktestsrejectQuant replicationEEM2026-09-08 00:17
A news scan found the text describing the QTM90800 EEM delay as a frozen turn-of-month test. The test has two main parts. First, Protocol829 was frozen before a return inspection, which happened from 2021 to 2025, and included 59 completed cohorts. These market years were previously inspected for other rules. The test involves buying at the open of the last monthly session and selling at the open of the fourth next-month session. The second part of the test uses a long-only cash-only order ledger with a 5 basis point fee and 5 basis point slippage. The test also includes cash compounding, which reconciles the final equity within 1e-5 USD on 10,000 initial cash. The test has some limitations, including not verifying 15-minute or extended-hours fills, whole-share profit management, or exact-time execution. The sources of the test include a paper on equity returns at the turn of the month and stock bars data. All inputs, code, and results are archived in 291 parts and have been verified. This is an adaptation of an ETF, not an exact replication, and has not been approved for deployment.
return13.9
drawdown12.91
win rate55.93
sample59
average win1.94
average loss1.89
mean payoff0.25
quarter Kelly0.03
fee bp5
slippage bp5
actual allocation0
QTM90800 Delay
BacktestsinconclusiveQuant replicationEEM2026-09-08 00:17
A news scan found the text describing the QTM90800 EEM delay train, which is a frozen turn-of-month test. The test has two main parts: the first part is about a protocol called Protocol829, which was frozen before a return inspection. From 2016 to 2020, the training was completed 58 times after a warm-up period. The test involves buying at the open of the last monthly session and selling at the open of the fourth next-month session. The second part is about an order ledger, which is a list of orders, using a system called vectorbt with a 5 basis point fee and 5 basis point slippage, which means a small cost for each trade. The test also looks at how the cash, or money, is compounded, or added up, and reconciled, or matched, to the final equity, or value, within a very small margin of 1e-5 USD on an initial cash amount of 10,000 USD. The test only looks at full entry cohorts, not partial fills, and includes drawdown, which is a measure of loss, but not all intrabar excursions, which are small price movements within a bar, or time period, on a chart. The historical adjusted ETF prices are used to approximate distributions, but the raw 10 basis point audit and 2/20 basis point sensitivity are saved but not selected. The test does not verify 15-minute or extended-hours fills, whole-share profit management, or exact time execution. The sources of the information are two websites, and all inputs, code, and results are archived in 291 parts and verified. This is an adaptation of an ETF, not an exact replication of the CRSP, and it does not have deployable approval.
return21.54
drawdown20.9
win rate53.45
sample58
average win2.42
average loss1.96
mean payoff0.38
quarter Kelly0.04
fee bp5
slippage bp5
actual allocation0
NewerPage 48 of 61Older