TL;DR
Test the exact rules you selected on later dates that did not influence development. In the completed April to June 2024 NVDA example, the genetic winner returned 22.06%, versus NVDA holding's 36.00%, but never sold and failed four of five original requirements. Strategy fees and cash dividends differed from the benchmark's conventions. Save those failures before revising; any dates used for a repair become development dates for the new version.
Follow the recorded NVDA experiment
Freeze the rules and separate the dates
Development used January 2 to March 28, 2024. The unchanged seed and selected version were each tested on April 1 to June 28. Since these records are public, their dates are not unseen for your new experiment.
- Development
- Jan 2 to Mar 28, 2024
- Later tests
- Apr 1 to Jun 28, 2024
- Recorded versions
- Original seed and genetic winner
- For a new experiment
- Reserve unexamined dates first
Two complete frozen configurations and separate date windows. Reserve new dates before tuning your own rules.
- Genetic winner 2024-06-28, 20:00:00 EDT
- 12,205.98
- Original morning strategy 2024-06-28, 20:00:00 EDT
- 8,980.94
- NVDA buy and hold 2024-06-28, 20:00:00 EDT
- 13,600.01
- SPY buy and hold 2024-06-28, 20:00:00 EDT
- 10,371.61
Read the later result and the failed goal
On April 1 to June 28, the winner bought once, never sold and stayed invested across sessions. Its return was positive, but four of five requirements failed. The original morning rules also weakened on these later dates.
- Genetic winner / NVDA
- 22.06% / 36.00%
- Original later return
- -10.19%
- Winner drawdown / limit
- 12.73% / 10%
- Closed round trips / minimum
- 0 / 10
- Winner fees paid
- $2.98
- Acceptance
- 1 passed; 4 failed
Keep the failed result. Inspect the full selected exit before calling this an intraday strategy.
Start with the actual morning rules
NVDA enters from 30 to fewer than 60 minutes after open, above SMA20, with an empty holding. A separate midday exit sells the full position. Read the complete draft before searching.
Two rules with explicit entry, exit and sizing. Reviewing this draft does not save it or submit a test.
Open the fully configured request
Aurora receives the complete seed, search settings, costs, later dates and acceptance rules. Review and edit the request. Ask for a plan and cost before deciding whether to run your own reproduction.
- Capital / observations
- $10,000 / Minute
- Shares / dividends
- Fractional / cash
- Stock fee per fill
- 0.05%
- Current task
- Review and plan; do not launch
A review of the supplied rules and a research plan. Engine validation requires a later approved authoring step; this request stops before saving or starting research.
This completed genetic experiment is intentionally selected to teach the workflow. Its profitable winner missed the original intraday requirements. Published historical dates are available for reproduction; they are not an untouched test for a new reader.
Plan a later test of your own frozen strategy
Choose one saved strategy version and reserve later dates that have not influenced its rules or selection. Keep its complete entry, exit, size and execution settings unchanged for the test. Decide what would count as a pass before opening the result.
The NVDA example below is a completed case study. Its public April-to-June 2024 dates demonstrate the procedure; they are reproduction dates for a reader, not a new unseen test.
Freeze what you selected
Save the complete entry and exit conditions, asset universe, allocation and execution settings. Record starting capital, fees, dividend policy, interval, benchmark and your selection objective. The unseen test evaluates that same candidate after development has finished.
Choose the periods before comparing variants
Show the table · 4 rows, 3 columns
Scroll sideways to compare all columns. Select a heading to sort.
| Development | 2022-01-01 through 2023-12-31 | Create variants, inspect trades and revise rules here. |
| Unseen test | 2024-01-01 through 2024-12-31 | Evaluate the frozen candidate once after choosing the objective. |
| Optional final lockbox | 2025-01-01 through 2025-12-31 | Reserve an additional untouched window before all selection. |
| Paper observation | Later dates after the design is frozen | Observe signals, scheduling, orders and positions as they occur. |
No matching rows. Clear the filter to see all records.
This calendar illustrates a research plan. Use dates suited to your data and record any periods already inspected through corpus research, charts or earlier experiments.
Run the frozen test in Aurora
Open Aurora in the app with your selected draft. Expect an unchanged saved configuration, the planned later dates and a completed result with a matching benchmark. You can finish this workflow in the app.
Read back my selected inactive research draft and the development ledger. Freeze its full rules, universe, allocation, capital, costs, interval, dividends, benchmark and objective. Ask for the later date range I kept outside all selection, including prior corpus searches and chart reviews. Show the planned test and cost, then backtest the frozen rules on those dates unchanged. When complete, show the result, benchmark, drawdown, fees and the signals behind the strongest and weakest periods. Preserve this result before changing anything.Run the later period with the same functions
Run the later period with the same functions
Using the downloaded technical.py example, save this as run_unseen.py beside the functions. The dates illustrate a later window. Choose dates your own research has left untouched; reviewing the completed 2024 examples already exposes that year. Use a new key for the new period.
from technical import test_period
unseen_result = test_period(
"2024-01-01", "2024-12-31", "technical-unseen-v1"
)
print(unseen_result)Execute the Python unseen-test runner
Execute the Python unseen-test runner
python3 run_unseen.pyRun the same unseen test with TypeScript
Run the same unseen test with TypeScript
Save as run-unseen.ts beside technical.ts, and set the same dates you selected for the unseen test.
import { testPeriod } from "./technical";
async function main() {
const unseenResult = await testPeriod(
"2024-01-01", "2024-12-31", "technical-unseen-v1"
);
console.log(unseenResult);
}
main().catch((error: unknown) => {
console.error(error);
process.exitCode = 1;
});Execute the TypeScript unseen-test runner
Execute the TypeScript unseen-test runner
npm install --save-dev tsx
npx tsx run-unseen.tsKeep warmup and starting holdings explicit
A 200-observation average needs earlier observations to calculate its first test value. Decide which earlier dates supply indicator warmup and which dates permit scored trading. Inspect the first evaluated signals and recorded trades.
Choose whether the experiment restarts with cash or continues an existing portfolio. The example uses a fresh $10,000 start for each test. Preserve that choice when comparing candidates, and describe independent restarts separately from a continuous capital history.
Interpret the result before revising the rule
Review the preselected objective alongside drawdown, fees, time invested and the benchmark. Inspect the strongest and weakest periods, including signals that did not lead to an order. Save the result before making changes.
Once you inspect a period to revise the rule, that period becomes part of development for the revised candidate. Keep its result and reserve a later untouched period for the next assessment. Record corpus searches and prior chart reviews that exposed the test dates.
Reserve a final lockbox if you want another assessment
Reserve a final lockbox if you want another assessment
The lockbox is optional. Choose it before comparing candidates and leave it out of development and unseen-test-driven revisions. Test the final selection once when its configuration is fixed. Paper trading can then provide later observations of the frozen design.
Ask Aurora for the unseen-test review
Ask Aurora for the unseen-test review
Read back my frozen portfolio and research ledger. Show development dates, candidate selection, objective, costs and the planned unseen dates. Run that exact configuration on the unseen period without optimizing there. Compare the completed outcome with the original objective and matching benchmark, and explain trades using recorded backtest events. Preserve the result. If I request a revision, create a separate research cycle and reserve later untouched dates. Include a final lockbox only if I chose one.
No comments yet.