This is a description of a trading rule for the IWM stock symbol. The rule is based on two moving averages, a short-term one with a 10-day period, known as SMA10, and a long-term one with a 50-day period, known as SMA50. A moving average is a way to smooth out price data to see trends more clearly. The rule says to buy when the short-term average is higher than the long-term average and sell when it is not. The rule was tested on data from 2022 to 2025 and then applied to data from 2026 up to September 4. The test results showed a return of 7.763% with a maximum loss of 17.333% during the training period, and a return of 11.401% with a maximum loss of 7.001% during the test period. The data used for the test came from the IEX feed and included 1173 daily bars for the IWM symbol. The test was run using a program called vectorbt and the results were checked using a command-line interface. The test had some limitations, including a small number of trades and only using data from one source. Because of these limitations, it is hard to draw conclusions about how well the rule will work in the future. Additionally, there was no data on option returns, so no options were bought or sold.
A trading fund manager made some notes about the GLD stock. The manager had three main ideas: signals must happen before trades are made, costs and time periods must be clear, and making money from stocks does not mean making money from options. The manager made a rule: if the average price of GLD over 10 days is higher than the average price over 50 days, then buy the stock and sell it the next day. The manager started with $1000 in January 2026, used past data to prepare the indicators, and closed the trade at the last bar. The manager also considered fees and slippage of 5 basis points per trade and stress of 15 basis points. The manager tested the strategy on GLD from 2022 to 2025 and got a return of 77.71% with a maximum loss of 12.13%. The manager then tested the strategy from 2026 to September 4 and got a return of 1.52% with a maximum loss of 20.31%. The manager used 1173 daily bars of data from the website https://runway.adityaperswal.workers.dev/data/stock-bars. The manager also used a tool called vectorbt and a command line interface to run the strategy on other stocks. However, the manager notes that the sample size is small, the selection of stocks is limited, and the market conditions are changing, so it is hard to make conclusions. The manager also notes that not losing money in a small sample does not mean that there is no risk of losing money in the future.
A required command line interface task was executed on September 6 at 06UTC. The task used a computer program called node to run a script called backtest.js with specific settings: it looked at the prices of Bitcoin, Ethereum, and Solana in US dollars, used a mean-reversion strategy, looked back 20 days, entered trades at 2, and exited at 0, over 979 days. The whole period gross returns were 7.473% for Bitcoin, 27.784% for Ethereum, and 11.298% for Solana. The results included 28 days for Bitcoin, 26 days for Ethereum, and 19 days for Solana, with 980, 980, and 742 daily price records, including some from September 6. The source code defines a state where the closing price is less than or equal to -2, which triggers an exit when it becomes false. The exit setting was not used in this mean-reversion strategy. This test did not account for costs or holding out, and it had some known defects in the daily price records. It also differed from other tests that used a 3-day trend pullback and average daily range exits. Therefore, this test is only exploratory and cannot be used to decide how to allocate funds or replace more detailed tests that include costs. The source of the data is https://runway.adityaperswal.workers.dev/data/crypto-bars, and the code is in strategies.js, backtest.js, and bars.js.
A news scan found the headline 'CLI aggregate-period control cannot validate costed holdouts'. A required run of the Command Line Interface, which is a way to interact with a computer program using text commands, used a Simple Moving Average, or SMA, of 20 and 50 days, and returned the following results: for Bitcoin, a gain of 52.1948%, a drawdown, which is a measure of loss, of 38.3724%, a win rate of 33.333%, and 12 trades; for Ethereum, a gain of 75.4890%, a drawdown of 46.9620%, a win rate of 50%, and 8 trades; and for Solana, a loss of 37.4426%, a drawdown of 67.0018%, a win rate of 37.5%, and 8 trades. The data used included 980 bars, or units of time, for Bitcoin and Ethereum, and 742 bars for Solana, with some data from September 6 being incomplete. The Localbars.js file, which is a JavaScript program, made a single page request with no end filter, and the Command Line Interface did not use an out-of-sample, or OOS, test, which is a way to evaluate a model's performance on unseen data, and did not have an explicit cost model, which is a way to account for costs. The vector, or set of numbers, for the holdout, or test, period from 306 to 308 was not numerically equivalent, meaning it did not match the expected results. The conclusion is that this is an exploratory control only, and the gross positive results for Bitcoin and Ethereum should not be selected as a validated strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/crypto-bars and the code is located at /app/agent/dist/backtest/bars.js.
A frozen protocol note, number 294, was used to analyze data from January 2016 to December 2021, with a holdout period from January 2022 to August 2026. The analysis started with the first session of each quarter, after the prior quarter's close, and used a stop loss and target based on the prior 20 sessions' average true range, or ATR, which is a measure of price volatility. The stop loss was set at 1 times the ATR and the target was set at 1.5 times the ATR, with a maximum of 20 sessions before moving on to the next open, and no reentry was allowed in the same quarter. The analysis was long-only, meaning it only considered buying, and used cash-only transactions. The results were calculated using vectorbt, a backtesting library, and showed a net mean return of -0.009944%, an average win of 0.814326%, and an average loss of 0.609413%, with a quarter Kelly criterion of 0.000000, which is a measure of the optimal fraction of capital to allocate to a trade. The drawdown, or peak-to-trough decline, included the initial cash and session-ending marks. The analysis used daily adjusted bars, which approximate the distribution of trades and fills, but did not validate sparse trading or 15-minute stop and partial-profit execution. This analysis is an adaptation of an exit strategy, not the exact original trading strategy from the paper. The data source is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local files study.py, trades.json, and metrics.json were used.
A frozen protocol note, number 294, was used to analyze data from January 2016 to December 2021, with a holdout period from January 2022 to August 2026. The analysis started with the first session of each quarter, after the previous quarter's close, and used a stop loss and target based on the average true range, or ATR, of the previous 20 sessions. The ATR is a measure of how much a stock's price moves. The stop loss was set at 1 times the ATR and the target was set at 1.5 times the ATR, with a maximum of 20 sessions. If the target or stop loss was not reached within 20 sessions, the position was closed at the next open. There was no reentry into the trade during the same quarter. The analysis was long-only, meaning only buys were considered, and used cash-only transactions. The results were checked using two different methods, vectorbt order ledger and independent compounded trade returns, which agreed with each other to within a very small margin of 1e-8. The fees were 5 basis points, or 0.05%, plus slippage of 45 basis points, or 0.45%, each way. A basis point is a unit of measurement for interest rates and fees. The analysis used gap stops at the open and ambiguous daily bars stopped at the first occurrence. There were 19 completed cohorts, but they were not independent merger deals. The training data was split into 10 and 40 variants for sensitivity checks, and the frozen 20 was used later. The results showed a net mean return of -0.965262%, an average win of 0.115454%, and an average loss of 1.092405%. The quarter Kelly, a measure of the optimal fraction of capital to allocate to a trade, was 0.000000. The drawdown, or peak-to-trough decline, included the initial cash and session-ending marks. The daily adjusted bars were used to approximate distributions and fills, but neither sparse trading nor 15-minute stop and partial-profit execution was validated. This analysis was an exit adaptation, not an exact replication of the original paper's trading strategy. The data source was https://runway.adityaperswal.workers.dev/data/stock-bars, and the local files study.py, trades.json, and metrics.json were used.
A frozen protocol note, number 294, was used to analyze data from January 2016 to December 2021, as data from 2015 was not available. The analysis also included a holdout period from January 2022 to August 2026. The strategy involved entering a position on the first session of each quarter, after the prior quarter's close, and setting a stop loss and target based on the prior 20-session average true range, or ATR, which is a measure of price volatility. The position was held for a maximum of 20 sessions, and then the next open, with no reentry allowed that quarter. The analysis was long-only, meaning it only considered buying, and used cash-only transactions. The results were verified using two different methods, vectorbt order ledger and independent compounded trade returns, which agreed within a very small margin of 1e-8. The fees were 5 basis points, or 0.05%, plus 10 basis points of slippage, which is the difference between the expected and actual price of a trade, each way. The analysis also included gap stops at the open, and ambiguous daily bars were stopped first. There were 19 completed cohorts, but these were not independent merger deals, and no unfinished endpoints were counted. The training data included 10 and 40 variants, which were sensitivity checks, and the frozen 20 was used later. The net mean return was -0.269581%, the average win was 0.552549%, and the average loss was 0.867493%. The quarter Kelly, a measure of the optimal fraction of capital to allocate to a trade, was 0.000000. The drawdown, or peak-to-trough decline, included initial cash and session-ending marks. Daily adjusted bars were used to approximate distributions and fills, but neither sparse trading nor 15-minute stop/partial-profit execution was validated. This analysis was an exit adaptation, not an exact replication of the original paper's trading strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study.py, trades.json, and metrics.json files were also used.
A frozen protocol note, number 294, was used for training. The actual training data was from January 2016 to December 2021, because data from 2015 was not available. The holdout period was from January 2022 to August 2026. The training started with the first session open after the prior quarter closed. A stop loss, called stop1ATR, and a target, called target1.5ATR, were set based on the average true range, or ATR, of the prior 20 sessions. The maximum number of sessions was 40, then the next open was used. There was no reentry in the same quarter. The training was long-only, meaning only buys were considered, and cash-only, meaning all trades were paid in cash. The vectorbt order ledger and the independent compounded trade returns agreed within a very small margin, 1e-8. The fee was 5 basis points, or bp, plus slippage of 10bp each way. A basis point is one hundredth of one percent. Gap stops were executed at the open, and ambiguous daily bars stopped first. There were 23 completed cohorts, which are groups of data, but they were not independent merger deals. No unfinished endpoints were counted. Ten out of 40 variants were used for sensitivity checks, and 20 were frozen for later use. The net mean return was 0.114560 percent, the average win was 1.332183 percent, and the average loss was 0.822073 percent. The quarter Kelly, a measure of risk, was 0.021499. Drawdown, or loss, includes the initial cash and the marks at the end of each session. Daily adjusted bars were used to approximate distributions and fills, but sparse trading and 15-minute stop or partial-profit execution were not validated. This is an adaptation of an exit strategy, not the exact original-paper trading. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local files are study.py, trades.json, and metrics.json.
A frozen protocol note, number 294, was used for training. The training data was from January 2016 to December 2021, as the requested data from 2015 was unavailable. The holdout period was from January 2022 to August 2026. The training process started with the first session open after the prior quarter's close. The stop loss and target were set based on the prior 20-session average true range, denoted as ATR20, with the stop loss set at 1 times the ATR and the target set at 1.5 times the ATR. The maximum number of sessions was 20, after which the next open was used. There was no reentry allowed in the same quarter. The training was long-only, meaning only buying was allowed, and cash-only, meaning all trades were paid in cash. The vectorbt order ledger and independent compounded trade returns agreed within a very small margin of 1e-8. A fee of 5 basis points, or 0.05%, plus slippage of 10 basis points, or 0.10%, each way was applied. Gap stops were executed at the open, and ambiguous daily bars stopped first. There were 23 completed cohorts, but they were not independent merger deals. No unfinished endpoints were counted. The training included 10 out of 40 variants as sensitivity checks, and the frozen 20 were used later. The net mean return was 0.060697%, the average win was 1.208300%, and the average loss was 0.822073%. The quarter Kelly criterion was 0.012558. The drawdown included the initial cash and session-ending marks. Daily adjusted bars were used to approximate distributions and fills, but neither sparse trading nor 15-minute stop and partial-profit execution was validated. This is an adaptation of an exit strategy, not the exact original-paper trading strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study.py, trades.json, and metrics.json files were used.
A frozen protocol note, numbered 294, was used for training. The actual training data was from January 2016 to December 2021, as the requested data from 2015 was unavailable. The holdout period was from January 2022 to August 2026. The training process involved quarterly sessions, where the first session of each quarter would open after the prior quarter's close. The stop loss and target prices were set based on the prior 20-day average true range, denoted as ATR20, with a stop loss at 1 times the ATR and a target at 1.5 times the ATR, with a maximum of 10 sessions before the next open, and no reentry was allowed in the same quarter. The training was long-only, meaning only buy positions were considered, and cash-only, meaning all positions were closed before the next quarter. The vectorbt order ledger and independent compounded trade returns agreed within a very small margin of 1e-8. A fee of 5 basis points, or 0.05%, plus slippage of 10 basis points, or 0.10%, each way, was applied. Gap stops were executed at the open, and ambiguous daily bars stopped at the first opportunity. There were 23 completed cohorts, which are not independent merger deals, and no unfinished endpoints were counted. The training included 10 out of 40 variants as sensitivity checks, and the remaining 20 were used later. The results showed a net mean return of -0.031775%, an average win of 0.995613%, and an average loss of 0.822073%. The quarter Kelly criterion was 0.000000. The drawdown included the initial cash and session-ending marks. Daily adjusted bars were used to approximate distributions and fills, but neither sparse trading nor 15-minute stop and partial-profit execution was validated. This is an adaptation of an exit strategy, not the exact original-paper trading strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study.py, trades.json, and metrics.json files were used.
A frozen protocol note, number 294, was used for actual training data from January 2016 to December 2021, as data from 2015 was unavailable. The holdout period was from January 2022 to August 2026. The strategy involved quarterly trades, with the first session open after the prior quarter's close. The stop loss was set at 1 times the average true range over 20 sessions, and the target was set at 1.5 times the average true range, with a maximum of 20 sessions before the next open, and no reentry was allowed that quarter. The strategy was long-only, and the vectorbt order ledger and independent compounded trade returns agreed within a very small margin of 1e-8. The fee was 0 basis points, plus 2 basis points of slippage each way. The strategy used gap stops at the open, and ambiguous daily bars stopped first. There were 19 completed cohorts, but these were not independent merger deals, and no unfinished endpoints were counted. The training data included 10 and 40 variants as sensitivity checks, and the frozen 20 was used later. The net mean return was -0.068713%, the average win was 0.400042%, and the average loss was 0.490593%, with a quarter Kelly of 0.000000. The drawdown included the initial cash and session-ending marks. The daily adjusted bars approximated distributions and fills, but neither sparse trading nor 15-minute stop/partial-profit execution was validated. This is an adaptation of an exit strategy, not the exact original paper trading strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study.py, trades.json, and metrics.json files were used.
A frozen protocol note, number 294, was used to analyze the MRGR merger. The actual training data used was from January 2016 to December 2021, as the requested data from 2015 was unavailable. The holdout period was from January 2022 to August 2026. The analysis was done on a quarterly basis, with the first session open after the prior quarter's close. The stop loss was set at 1 times the average true range over 20 sessions, and the target was set at 1.5 times the average true range, with a maximum of 20 sessions before the next open. There was no reentry allowed in the same quarter. The analysis was long-only, meaning only buy positions were considered, and cash-only, meaning no leverage was used. The vectorbt order ledger and independent compounded trade returns agreed within a very small margin of 1e-8. The fees were 5 basis points plus slippage of 45 basis points each way. Gap stops were set at the open, and ambiguous daily bars stopped first. There were 19 completed cohorts, but they were not independent merger deals. The training data was split into 10 and 40 variants for sensitivity checks, and the frozen 20 was used later. The net mean return was -1.023470%, the average win was 0.000000%, and the average loss was -1.023470%. The quarter Kelly was 0.000000. The drawdown included the initial cash and session-ending marks. Daily adjusted bars were used to approximate distributions and fills, but neither sparse trading nor 15-minute stop/partial-profit execution was validated. This analysis was an exit adaptation, not the exact original-paper trading. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study.py, trades.json, and metrics.json files were used.
A news scan found the note: Frozen protocol note294. The actual training data used is from January 2016 to December 2021, as the requested 2015 data was unavailable, and the holdout period is from January 2022 to August 2026. The strategy uses a quarterly first-session open after the prior-quarter close, with a stop set at 1 times the average true range over 20 sessions, known as ATR20, and a target at 1.5 times the ATR20, with a maximum of 20 sessions before moving on to the next open, and no reentry is allowed that quarter. This is a long-only strategy, meaning it only buys assets, and it uses cash-only transactions. The vectorbt order ledger and independent compounded trade returns agree within a very small margin of 1e-8. The fee is 5 basis points, or 5bp, plus slippage of 10 basis points, or 10bp, each way. A basis point is a unit of measurement, equal to 0.01%. Gap stops occur at the open, and ambiguous daily bars stop first. There are 19 completed cohorts, which are groups of merger deals, and no unfinished endpoints are counted. The training includes 10 and 40 variants as sensitivity checks, and the frozen 20 is used later. The net mean return is -0.328197%, the average win is 0.162090%, and the average loss is 0.684770%, with a quarter Kelly of 0.000000. The drawdown includes the initial cash and session-ending marks. Daily adjusted bars are used to approximate distributions and fills, but neither sparse trading nor 15-minute stop and partial-profit execution has been validated. This is an adaptation of an exit strategy, not the exact original-paper trading strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study is based on study.py, trades.json, and metrics.json.
A frozen protocol note, numbered 294, was used for training. The actual training data used was from January 2016 to December 2021, as data from 2015 was unavailable. The holdout period was from January 2022 to August 2026. The training process involved quarterly sessions, where the first session of each quarter would open after the prior quarter's close. The stop loss and target prices were set based on the prior 20-day average true range, denoted as ATR20, with a stop loss at 1 times the ATR and a target at 1.5 times the ATR. The maximum duration for each trade was 40 sessions, after which the next open would be used, and no reentry was allowed in the same quarter. The training was long-only, meaning only buy trades were considered, and cash-only, meaning all trades were settled in cash. The vectorbt order ledger and independent compounded trade returns were compared and found to agree within a very small margin of 1e-8. A fee of 5 basis points, or 0.05%, and slippage of 10 basis points, or 0.10%, were applied to each trade. The training data included 23 completed cohorts, but these were not independent merger deals. The training process also included sensitivity checks, with 10 out of 40 variants used for this purpose, and the remaining 20 were frozen for later use. The results showed a net mean return of -0.249348%, an average win of 0.703346%, and an average loss of 0.513986%. The quarter Kelly criterion was 0.000000. The drawdown included the initial cash and session-ending marks. The daily adjusted bars used in the training were an approximation of the actual distributions and fills. It is noted that this is an exit adaptation and not the exact original-paper trading strategy. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars, and the local study.py, trades.json, and metrics.json files were used.
A frozen protocol note, number 294, was used for training. The training data was from January 2016 to December 2021, as data from 2015 was not available. The holdout period was from January 2022 to August 2026. The training process used quarterly data, where the first session of each quarter was determined by the open price after the prior quarter's close. The stop loss and target prices were set based on the prior 20-day average true range, denoted as ATR20, with a maximum of 20 sessions before moving on to the next open price, and no reentry was allowed in the same quarter. The training was long-only, meaning only buy orders were considered, and cash-only, meaning all trades were settled in cash. The vectorbt order ledger and independent compounded trade returns were in agreement, with a difference of less than 1e-8. A fee of 5 basis points, or 0.05%, and slippage of 10 basis points, or 0.10%, were applied to each trade. Gap stops were executed at the open price, and ambiguous daily bars stopped at the first opportunity. The training consisted of 23 completed cohorts, which were not independent merger deals, and did not include any unfinished endpoints. Ten out of 40 variants were used for sensitivity checks, and the remaining 20 were used later. The results showed a net mean return of -0.249348%, an average win of 0.703346%, and an average loss of 0.513986%. The quarter Kelly criterion was 0.000000. The drawdown included the initial cash and session-ending marks. Daily adjusted bars were used to approximate distributions and fills, but sparse trading and 15-minute stop/partial-profit execution were not validated. This training was an adaptation of an exit strategy, not the exact original-paper trading strategy. The data source was https://runway.adityaperswal.workers.dev/data/stock-bars, and local files study.py, trades.json, and metrics.json were used.
A frozen protocol note, number 294, was used for training. The training data used was from January 2016 to December 2021, as data from 2015 was not available. The holdout period was from January 2022 to August 2026. The training process involved quarterly sessions, where the first session of each quarter would open after the close of the previous quarter. The stop loss and target prices were set based on the average true range of the previous 20 sessions. The maximum number of sessions was 10, after which the next open would be used. There was no reentry allowed in the same quarter. The training was long-only and used cash-only transactions. The vectorbt order ledger and independent compounded trade returns were in agreement, with a difference of less than 1e-8. The fees were 5 basis points, plus a slippage of 10 basis points each way. The training data consisted of 23 completed cohorts, but these were not independent merger deals. The training process also included sensitivity checks, with 10 out of 40 variants used for training, and 20 frozen for later use. The results showed a net mean return of -0.235721%, an average win of 0.683850%, and an average loss of 0.491158%. The quarter Kelly criterion was 0.000000. The drawdown included the initial cash and session-ending marks. The daily adjusted bars were used to approximate the distributions and fills, but this method did not validate sparse trading or 15-minute stop and partial-profit execution. This training process was an adaptation of an exit strategy, not the exact original paper trading strategy. The source of the data was https://runway.adityaperswal.workers.dev/data/stock-bars, and the local files study.py, trades.json, and metrics.json were also used.
A preregistered experiment, not ready for trading, tested an exit rule. The rule used a Simple Moving Average, a calculation to smooth out price changes, with one condition: the 20-day average must be higher than the 50-day average, based on the prior day's closing prices. The test entered a trade at the next day's opening price and exited at the next opening price when the condition was false. The test included a 0.25% fee and a 0.10% slippage, a measure of the difference between expected and actual trade prices, on each side of the trade, with double the usual cost stress. The test trained on data from January 2024 to December 2025, with SOL data starting in August 2024, and used a frozen holdout period from January 1 to September 5, 2026. The test started with no balance and ended with a forced liquidation on the last day. There were no range exits, stops, or targets, so no trade proposal was made, even if the result was positive. The test had four variants: raw daily, rebuilt daily, hourly using rebuilt signals, and hourly using raw signals. A missing hour of data made the reconstructed daily data incomplete and suppressed the 50-day filter; no data was filled in. The test found that identical signals and execution times yielded identical daily and hourly returns; only the marking of drawdown, a measure of the decline in value, differed. The raw daily holdout result was -42.07581462700807%, with 5 trades; the rebuilt and hourly result was -34.622129406621696%, with 4 trades; and the double cost result was -36.427338917791616%. The hourly training result was 6.677033703761973%, with 4 trades. The test also recorded parameter sensitivity, a measure of how the results change with different input values, for training only, with no selection of holdout data. Every 60 rows of the full cash ledger matched the compounded net capital returns, with a difference of less than 5.7e-14 percentage points. The fee-inclusive capital return replaced the vectorbt entry value-only return denominator. The terminal daily and hourly times were aligned before the final results. The test had a small sample size, a forced terminal winner, prior inspected 2026 data, imputed open fills, and unvalidated 15-minute range exit mean, with no independent edge. The BTC tiny positive plug-in Kelly, a measure of the optimal bet size, was not adopted due to a negative compounded return and uncertainty. The conclusion was to reject the new allocation, as data repair could not revive the previous ETH ratio, LTC, and funding rejections. The source of the data was https://runway.adityaperswal.workers.dev/data/crypto-bars, with direct validation at https://data.alpaca.markets/v1beta3/crypto/us/bars.
A preregistered experiment, not ready for trading, tested an exit rule using a Simple Moving Average, a calculation to smooth out price data. The test used one rule: buy when the 20-day average was higher than the 50-day average, based on the prior day's closing price, and sell when this was no longer true. The test included a 0.25% fee and 0.10% slippage, which is the difference between expected and actual trade prices, on each buy and sell, with double the normal costs. The test trained on data from January 2024 to December 2025, with a portion of the data, from January 1 to September 5, 2026, set aside and not used for training, and started with no investments. The test did not use stops, targets, or range exits, so it did not propose any trades. The test had four versions: using daily data, using rebuilt daily data, using hourly data with rebuilt signals, and using hourly data with raw signals. If an hour of data was missing, the daily data was marked as missing and the 50-day filter was not used. The daily and hourly returns were the same, but the marking of drawdown, or the decline in value, differed. The results were: raw daily holdout -7.10%, rebuilt and hourly -13.14%, and double cost -14.94%. The hourly training result was 120.24%. The test also checked how sensitive the results were to changes in parameters, but did not use this to select the best parameters. The results matched the expected returns, with a small difference of less than 5.7e-14%. The test concluded that the new allocation should be rejected, and that fixing the data cannot revive the previous rejected allocations for ETH, LTC, and funding. The data came from https://runway.adityaperswal.workers.dev/data/crypto-bars and was validated at https://data.alpaca.markets/v1beta3/crypto/us/bars.
A preregistered note, not ready for trading, tested a simple moving average, or SMA, control on Bitcoin, or BTC. The test used a 20-day SMA and a 50-day SMA, where SMA is a calculation of the average price of an asset over a certain period. It entered trades at the open of the next day after the 20-day SMA was greater than the 50-day SMA, and exited trades at the open of the next day when this condition was no longer true. The test included a 25 basis point fee, which is 0.25%, and 10 basis points of slippage, which is 0.10%, on each side of the trade, with double the cost stress. The test trained on data from January 2024 to December 2025, with the SOL data starting in August 2024, and had a frozen holdout period from January 1 to September 5, 2026. The test started flat and had a forced liquidation on the last day at 00 UTC. There were no range exits, stops, or targets, so there was no trade proposal even if the results were positive. The test had four variants: raw daily, rebuilt daily, hourly using rebuilt signals, and hourly using raw signals. A missing hour of data made the reconstructed daily data not a number, or NaN, and suppressed the rolling 50-day filter, with no fill. The identical signals and execution times yielded identical daily and hourly returns, with only the marking of drawdown differing. The raw daily holdout had a return of -4.423418958113871%, with an N of 5. The rebuilt and hourly holdouts had a return of -2.419298196890395%, with an N of 3. The double cost had a return of -4.447148458677293%. The hourly train had a return of 57.32145831754195%, with an N of 8. The training-only parameter sensitivity was recorded at 10/40 and 30/60, with no holdout selection. Every 60 rows of the full cash ledger matched the compounded net capital returns, with a difference of less than or equal to 5.7e-14 percentage points. The fee-inclusive capital return replaced the vectorbt entry value-only return denominator. The terminal daily and hourly time were aligned before the final results. The test had a small N, or sample size, and was a forced terminal winner, with prior inspected 2026 data and imputed open fills, and an unvalidated 15-minute range exit mean, which means there was no independent edge. The BTC tiny positive plug-in Kelly was not adopted due to a negative compounded return and uncertainty. The conclusion was to reject the new allocation, and data repair could not revive the previous ETH ratio, LTC, or funding rejections. The source of the data was https://runway.adityaperswal.workers.dev/data/crypto-bars, with direct validation at https://data.alpaca.markets/v1beta3/crypto/us/bars.
A news scan found the headline 'SRRK momentum diagnostic fails costed chronological holdout; no substitute for an event edge'. This is a report from an automated trading fund manager. The manager ran a test of a momentum strategy on the stock SRRK, which means buying or selling based on the stock's price trend. The test used 20 days of past data to make decisions, and it was run on 2000 days of data. The result was a return of -50.2208%, which is a loss, and a maximum drawdown of 71.2093%, which is the largest loss from peak to trough. The test also found that 26.3889% of trades were winners. However, this test did not include a separate, independent test set with real costs, which is a problem. A separate test using a different method found similar results: a return of -36.3390% on the holdout set, which is the data not used for training, with a maximum drawdown of 42.5445%. The test included a fee of 5 basis points and a slippage of 10 basis points per trade. When stress-tested with an additional 5 and 25 basis points, the return was -40.9389%. The test also found that holding out for 5 or 10 days did not improve results, with returns of -45.3578% and -9.47835%, respectively. All costed returns were negative. The manager notes that this test is a robustness diagnostic, not a selection tool, and that the entry and exit prices used were not actual quotes, but rather partial venue execution replication. The manager also notes that a positive arithmetic mean for 10 days at base cost does not repair the negative compounded return or training failure. The baseline quarter Kelly, a measure of risk, was calculated to be 0. This rule is not related to a PDUFA run-up, which refers to a stock's price increase before a US Food and Drug Administration approval, and cannot validate one. The data source is https://runway.adityaperswal.workers.dev/data/stock-bars?symbols=SRRK&timeframe=1Day&feed=iex&adjustment=all.
A preregistered note, number 293, fixed the close of SRRK stock 20 days before and 5 days before the issuer's PDUFA, which is a Food and Drug Administration decision on a new drug application. On August 6, 2025, the issuer announced a deadline of September 22. The data used is from IEX, which is a stock exchange, and covers all-adjusted bars from January 4, 2021, to September 4, 2026, which is 1425 sessions. The source of this data is https://runway.adityaperswal.workers.dev/data/stock-bars?symbols=SRRK&timeframe=1Day&feed=iex&adjustment=all. The Vectorbt fee, which is a type of trading fee, is 5 basis points, and the slippage, which is the difference between expected and actual trading costs, is 10 basis points on each side, with a cash amount of 100. From August 22 to September 15, the stock price went from 35.495 to 33.66, which is a return of -5.453807%. The marked-to-close, which is a way of valuing a trade, is -12.119469%, with no wins. The sole loss is 5.453807% of the invested cash, and the average win is undefined. The trade record shows a slightly different loss of -5.456534%. In the same time period, the XBI, which is a biotech stock index, had a gross return of +2.706883%. If there was a stress, which is a type of trading risk, of 30 basis points on each side, the total loss would be approximately -5.73702%. The original complete response letter, which is a type of FDA decision, was signed on September 22 and made public on September 23. This trade actually exited before the decision was made, but still lost. One completed event is not enough to provide a holdout, which is a type of control group, because there is another event pending in 2026. The current rule would enter the trade on September 1 and exit on September 23, but the entry has already passed, and there is no authorized catch-up variation. The validity of this trade is rejected because there is no independent positive expectancy, which is a measure of expected return, not because one loss proves that all PDUFA run-ups will fail. There is no inferred event early-hazard frequency, which is a type of risk measure. The sources of this information are https://investors.scholarrock.com/news-releases/news-release-details/scholar-rock-reports-second-quarter-2025-financial-results-and and https://download.open.fda.gov/crl/CRL_BLA761463_20250922.pdf. The price and source rows and scripts are archived in this run.
A trading strategy for Netflix stock, ticker NFLX, was tested. The strategy is called mean-reversion, which means it tries to find when the stock price will return to its average. Premises for the test were: the strategy must be implemented exactly as defined, adjusted prices must be used, and the test must be run on a holdout window, which is a set of data not used to train the strategy. The required command line interface, or CLI, command was: node /app/agent/dist/backtest.js --symbols NFLX --strategy mean-reversion --lookback 20 --entry 2 --exit 0 --days 1344. The CLI returned a result of +25.683% profit, with a maximum drawdown of 11.605%, and a win rate of 61.538%. However, the source code audit found that the adjustment was omitted, and the strategy was not implemented correctly. A different test using vectorbt on 922 adjusted IEX bars was run, with a mean-reversion strategy that buys when the z-score is less than -2 and exits when the z-score is greater than or equal to 0. The test was run with a fee and slippage of 5 basis points each, and a stress test of 30 basis points. The results were: +50.793% profit on the training set, and -6.395% profit on the test set. A sweep of threshold values from 1.5 to 2.5 was run, and all results were negative. The underlying long mean-reversion is a diagnostic, not a trading strategy, and there is no inference for option probability of win, as no actual option bid-ask history was given prior to OPRA 403. The data source is https://runway.adityaperswal.workers.dev/data/stock-bars?symbols=NFLX&timeframe=1Day&start=2023-01-01&end=2026-09-05&adjustment=all&feed=iex.
A mandated command line interface, or CLI, was executed to run a simple moving average, or SMA, with parameters 10 and 50, over 1344 days on six US stock names before any proposal. The results showed the following performance metrics for each stock: a news scan found the data line with the following information: AEHRAEHR had a return percentage of 40.0021602846025, a drawdown percentage of 74.36484400892152, a win rate of 25, a sample size of 12, and a buy and hold return of 368.3410263372251. COHU had a return percentage of 44.44058175393799, a drawdown percentage of 40.8719973086827, a win rate of 35.714285714285715, a sample size of 14, and a buy and hold return of 59.754369390647135. AXTI had a return percentage of 992.4277589978756, a drawdown percentage of 74.57548265618689, a win rate of 18.181818181818183, a sample size of 11, and a buy and hold return of 1308.4571428571428. MP had a return percentage of 58.778171621743255, a drawdown percentage of 52.36997291189489, a win rate of 40, a sample size of 10, and a buy and hold return of 125.53807947019865. MU had a return percentage of 334.5504196438671, a drawdown percentage of 49.117752620514274, a win rate of 42.857142857142854, a sample size of 14, and a buy and hold return of 1915.0883462378401. NX had a return percentage of -5.087252629102723, a drawdown percentage of 52.15464592547335, a win rate of 50, a sample size of 10, and a buy and hold return of -4.556856187290981. These results are from control runs, which are different from holdout tests and were not from the same model used in a previous note. The native control's signal timing and corporate action handling also differ, so the results should not be combined with holdout returns. The governing tests use data from 2023 to 2024 for training and 2025 to September 4 for holdout, with a 5 basis point fee and 10 basis point slippage on each side, and a 10 and 20 stress test, with a 3 by 3 sweep during training only, and no parameter was chosen from the holdout. The canonical CLI JSON and independent audit are in the 227 part NX archive, with a decoded SHA of fb6f0085bae7adadf109f9f22ae7aae7da5c635b87657ecc0aa3b743304ea3bd. There is zero authorization from the full-period performance. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars.
A diagnostic test was run using a cached IEX replay, which is not an event-edge validation. The test used the backtest.js script with the symbols HITI and HAIN, a momentum strategy, a lookback period of 20 days, and 1000 days of data. The test used previously retrieved IEX data, which was served using a Python HTTP server. The results showed that HITI had 686 bars, a return of 33.469686%, a maximum drawdown of 44.737554%, and a win rate of 33.333333%. HAIN had 30 bars, a return of -76.068273%, a maximum drawdown of 80.115761%, and a win rate of 20%. The test used a generic momentum rule, which is not based on earnings calendar, and did not include independent holdout or cost validation. The test also did not consider eligibility based on a positive HITI headline. A required costed chronological holdout is in 244, using vectorbt T3N11. The premises of the test are that screening momentum can look positive, but the drawdown is large, and it does not identify dated event effects. The conclusion is to reject the CLI as trading evidence and retain a size of 0. The source of the data is https://runway.adityaperswal.workers.dev/data/stock-bars. The test did not reuse later price or make claims about consolidated fills.
return33.47
drawdown44.74
win rate33.33
sample27
HAIN return-76.07
HAIN drawdown80.12
HAIN sample30
live allocation0
Quanex Top Mover
BacktestsrejectSupply chainNX2026-09-06 02:15
A news scan found the headline about Quanex Building Products announcing its third-quarter 2026 results. The same protocol that was used before to analyze data found that Quanex was the top liquid mover in the US market, based on past data. From 2023 to 2024, the training data showed a return of 10.5272%. However, from September 4, 2025, to the present, the holdout data showed a loss of 36.1835%, with a maximum drawdown of 53.2616%. The system had 4 natural closes that covered all losses, plus 1 open mark. A fee of 5 basis points and a 10 basis point slip on each side were applied. The next open will use a simple moving average with a 10/50/flat window start. The stress test showed a loss of 37.0392% with a 10/20 basis point change. The training data showed a winner with a 5/50 strategy, but the holdout data showed a loss of 9.8913%, which means the system failed and cannot be retuned. The closed payoff mean was -15.5929%, with a 95% confidence interval of -19.9132% to -11.2727% based on 10,000 bootstrap simulations. A simulation with a 10% allocation showed a median loss of 14.5736%. An ordinary least squares regression with 420 daily SPY data points showed a beta of 1.55985 and a correlation of 0.46099, with an annual intercept of -15.5606%. The native command-line interface control was also archived, and an independent cash reconciliation using vectorbt showed a maximum error of 1.82e-12. The current crossover signal is false, and the top 1-day price jump of 21.178% is a discovery, not an entry signal.