Generating a trading bot is getting easier. Deciding whether that bot deserves to trade is not.
That distinction is becoming the central focus of my work.
Over the past several months, I’ve been building a growing collection of Python trading strategies with the help of AI. The collection spans cryptocurrencies, commodities, equity index futures, currencies, and Treasury futures. It includes different strategy generations, different market assumptions, and different approaches to identifying opportunities.
But once you have hundreds—or thousands—of strategy files, you run into a problem that another code generator will not solve:
Which strategy should you investigate, test, and potentially deploy under the conditions in front of you?
That is why I built Signal Lab, the latest addition to my trading research system.
It brings strategy discovery, historical performance, market-condition assessments, and deployment controls into one interface. More importantly, it helps me ask a better question.
Instead of asking, “Can AI create a trading strategy?” I can ask:
“What evidence suggests that this particular strategy belongs in this particular market environment?”
This article walks through what I demonstrated, what the results suggest, and where I still see substantial work ahead.
The numbers discussed below are development-stage outputs and observations from the demonstration—not independently verified performance or promises of future returns.
1. The Bottleneck Has Moved From Creation to Selection
When I started this process, much of the effort went into generating strategies and getting them expressed in Python.
That remains important. A trading idea needs explicit rules before it can be evaluated systematically. An interesting market narrative is not enough. The system needs to know what constitutes an entry, what invalidates the position, and how the trade should end.
AI has accelerated that translation process considerably in my workflow.
However, the more strategies I generated, the clearer another limitation became: a large collection is not automatically a useful collection.
During the demonstration, I initially estimated that I had around 2,000 bots. When I checked the historical directory through PowerShell, the count came back at 3,681 files, with additional material elsewhere.
That is a file count, not a verified count of unique, independently functioning strategies. Variations, supporting files, and different versions can complicate the relationship between files and actual trading systems.
Still, it illustrates the scale of the organizational problem.
Opening individual scripts and manually comparing reports does not work well at that size. Neither does assuming that the newest strategy is the most relevant one.
My rough observation has been that only a minority—around 10%—look profitable enough under the system’s tests to merit further consideration. That is an internal screening estimate, not a demonstrated live success rate.
The objective is not to celebrate the size of the archive.
It is to make the archive useful.
2. What Signal Lab Actually Does
Signal Lab is the interface I built to make that selection process more manageable.
The dashboard lets me filter the collection by asset class, search for individual strategies, and review bots according to when they were created. I can inspect recent additions, look at the highest-ranked candidates, and distinguish them from strategies associated with live trading.
This matters because I am not dealing with a static research library.
Each news-processing run can generate additional trading ideas and Python implementations. I can repeat the process, add newer-generation strategies, and then evaluate the expanding collection.
Without a central dashboard, that quickly becomes a directory-management exercise rather than a research workflow.
With Signal Lab, I can start with a practical question:
What does the system currently find interesting in gold?
Which Bitcoin strategies deserve another test?
Are any Treasury strategies passing the screening criteria?
Does an attractive historical performer still look suitable for an intraday trade?
The dashboard also gives me a route from the broader strategy universe to an individual candidate.
That connection is important. A spreadsheet can tell me that something ranks well, but I still need to find the underlying strategy, examine its assumptions, and rerun the relevant analysis.
Signal Lab is intended to connect those steps.
It is not a finished institutional platform. In the walkthrough, parts of the interface were newly coded and had not been heavily debugged. Searches, delayed results, and occasional typos were visible.
That is the honest stage of the project: functional enough to investigate, but still under development.
3. The Most Important Distinction: Backtest Results Versus Current Scores
Before discussing individual markets, there is a distinction worth making explicit.
The system presents historical performance metrics alongside AI-generated assessments of current opportunity. Those are not interchangeable.
A backtest asks how a defined strategy would have behaved over a historical dataset, subject to the assumptions used in that test.
A current-condition assessment attempts to judge whether the strategy appears relevant to the market environment being evaluated.
Neither, by itself, establishes what will happen next.
During the demonstration, I referred to several percentages as profit potential or profit probability. A more careful way to interpret those figures is as internal model scores, unless and until their probability calibration has been demonstrated.
A score of 70% should not automatically be read as a verified 70% chance that the next trade will make money.
That distinction changes how I want to use the dashboard.
A high score should move a strategy up the investigation queue. It should not end the investigation.
Similarly, an attractive historical Sharpe ratio should encourage a closer look at the underlying returns, trade count, and test assumptions. It should not become a substitute for that work.
The useful question is whether the different pieces of evidence agree.
Does the historical record support the strategy’s basic premise? Does recent behavior resemble the environment in which it performed well? Does the current assessment make sense when compared with the actual rules?
Signal Lab becomes more valuable when it exposes disagreements between those layers—not when it hides them behind one attractive number.
4. Gold: A Good Example of the Screening Process
Gold provided one of the clearest demonstrations of the asset-level search.
The gold filter showed 214 entries at that point in the collection. These included strategies associated with gold futures and options, with different underlying economic ideas.
Two examples were a real-yield correlation strategy and a Federal Reserve pause strategy. Their displayed assessment scores were approximately 70% and 75%.
One gold candidate also showed a reported Sharpe ratio of 2.79, a win rate of 67%, and a profit factor of 8.41.
Those figures are attention-grabbing. They are also exactly the kind of figures that deserve additional scrutiny.
For my purposes, the first takeaway was not that gold had become an automatic trade. It was that the dashboard had narrowed a large collection into a smaller set of candidates worth examining.
The next questions would concern the evidence behind those numbers.
How many trades produced the result? What dates were included? How were trading costs represented? Was the performance spread across the sample, or concentrated in a few favorable events?
I also want the economic explanation and the coded behavior to match.
A strategy labeled around real yields should be inspected to see how that relationship actually enters its decisions. A compelling name is not enough.
This is where the dashboard earns its place in the workflow: it accelerates discovery while preserving the need for investigation.
The score tells me where to look.
The underlying test determines whether there is something worth looking at.
5. Bitcoin Produced an Interesting Result—but Not a Final Verdict
Bitcoin has been one of the more interesting markets in this process.
During the walkthrough, I mentioned a recent strategy run that produced roughly six profitable trades for every losing trade.
That stood out compared with what I had been seeing elsewhere in the project. It is the kind of result I want to examine in detail through The Order Book Edge.
But the ratio alone does not describe the whole outcome.
The demonstration did not establish the complete sample size, average winning trade, average losing trade, or the full execution assumptions behind that observation.
Those details matter to my interpretation.
Six winners against one loser can describe very different strategies depending on the size and timing of those outcomes. I do not want a striking win-loss relationship to do more explanatory work than it can support.
What interests me most is the opportunity to reconstruct the session.
What market behavior triggered the entries? Did the strategy repeatedly exploit the same type of move? Were the profitable trades clustered into one favorable interval? How did it respond when the pattern stopped working?
The Bitcoin result is useful because it gives me a specific case to investigate—not because it proves that Bitcoin is permanently the best market for the system.
In the dashboard itself, some Bitcoin candidates looked stronger than others, and fresh evaluations could take time to return.
That variation is part of the point.
I am not trying to approve an entire asset class. I am trying to identify particular strategies that may fit particular conditions.
6. A Dashboard Should Be Allowed to Say “Nothing Compelling”
One of the more useful aspects of the demonstration was that not every market looked attractive.
Ethereum included scores around 55%, below the stronger readings I was looking for in that walkthrough.
Nasdaq strategies were mixed. Currency searches, including the euro and Japanese yen, did not produce the same level of enthusiasm as some of the commodity candidates.
I do not interpret those observations as permanent judgments about those markets.
They describe what this collection, this dataset, and this scoring process were showing at that moment.
That is an important limitation—and a useful discipline.
A research system should not have to manufacture a compelling trade in every category just because the category appears in a dropdown menu.
If the available evidence is weak, I would rather see that weakness than have it smoothed away.
In practical terms, that means keeping three possibilities separate:
The market may not suit the available strategies.
The strategy collection may be inadequate for that market.
The evaluation process may need improvement.
A weak score does not tell me which explanation is correct.
It tells me that I have not yet established a strong reason to proceed.
This is also why I want repeated evaluations rather than permanent rankings. A candidate that looks uninteresting in one environment may deserve attention later.
The value is in maintaining a searchable collection and revisiting it intelligently—not in declaring a winner once and assuming the decision remains valid.
7. Copper and Oil: Moving From Market Stories to Testable Rules
Copper offered another example of how market narratives enter the collection.
The walkthrough surfaced a copper-aluminum spread strategy with a displayed score around 70%, along with a demand-momentum idea connected to industrial activity and themes such as data-center construction.
These are interesting starting points.
But I want to distinguish the story behind a strategy from the evidence supporting its implementation.
“Demand is increasing” is a thesis. A bot needs a measurable condition, a timing rule, an instrument, and a risk framework.
For a spread strategy, I would also want to inspect how both legs are represented and whether the historical test reflects the trade the implementation would actually attempt.
Oil occupied a particularly prominent place in the report shown during the demonstration.
Several crude-oil strategies appeared near the top of the spreadsheet. The collection included different concepts, including volatility-oriented and geopolitical-event strategies.
That diversity matters because “an oil strategy” is not a sufficiently precise description.
Two strategies associated with the same commodity can respond to very different conditions and carry very different exposures.
The initial oil search in the interface also illustrated a mundane but important point: an empty or delayed result is not always a market conclusion. Sometimes the query needs correcting, or the relevant evaluation has not recently been run.
The broader spreadsheet helped provide context when the dashboard view was incomplete.
That is one reason I want multiple ways to inspect the research rather than relying on a single screen.
8. News Is an Idea Generator, Not an Automatic Trading Signal
A substantial portion of the strategy collection originates in my news-processing workflow.
The system produces trading reports, identifies possible market implications, and uses AI to turn those ideas into Python strategies.
That creates a repeatable path from narrative to testable rules:
News → hypothesis → strategy implementation → historical evaluation → further screening.
One of the most useful lessons so far is that the shortest version of that path did not work especially well.
I experimented with generating bots from the latest news and focusing only on those newly created strategies for the day.
The results were generally disappointing, with occasional exceptions.
That pushed me toward a different use for the collection.
Instead of assuming a strategy must work immediately because its inspiration is recent, I can retain it and evaluate whether it becomes relevant under another set of conditions.
This changes the role of news.
News remains an input for research, but recency is no longer enough to justify selection.
The idea needs to survive testing, and its current relevance needs to be examined separately.
It also raises questions I want the research process to answer more clearly. Was the information genuinely available at the historical decision point? Does the coded rule represent the original thesis? Is the test evaluating the strategy, or inadvertently rewarding knowledge acquired afterward?
Those are not details I want buried beneath a polished report.
The collection becomes more useful when each strategy is treated as a hypothesis with a history—not simply as code generated from a headline.
9. The Spreadsheet Is Where the Bigger Picture Emerges
Alongside Signal Lab, the workflow generates a large spreadsheet of strategy results.
The dashboard is useful for navigation and focused inspection. The spreadsheet is useful for comparing the broader collection.
During the demonstration, it highlighted crude oil, gold, and Treasury-related candidates. It also provided performance metrics, composite scores, and information about which strategies met the system’s screening thresholds.
At one point, I referred loosely to around 300 profitable strategies before identifying 239 entries in the relevant report.
The more precise way to describe that is 239 candidates classified favorably by that particular run—not 239 independently verified profitable live systems.
The distinction matters because those totals can change as the collection expands and the evaluations are rerun.
The spreadsheet also lets me investigate whether a ranking reflects something broad or narrow.
Are many strategies expressing essentially the same idea? Is one market dominating because several variants benefited from the same period? Does a high-ranked candidate remain attractive when viewed outside the composite score?
During the walkthrough, the top two strategies were described as profitable over the preceding three months.
That is useful context, but it is still one window within a larger evaluation.
My goal is to make the spreadsheet a map of the research, not a scoreboard that ends the discussion.
It should help me find patterns, inconsistencies, and questions that deserve a closer look in Signal Lab.
10. Screening Thresholds Are Useful Only When Their Meaning Is Clear
The system uses several familiar performance measures, including Sharpe, Sortino, and Calmar ratios, win rate, profit factor, and maximum drawdown.
It also combines information into a composite score.
During the demonstration, I referred to a drawdown tolerance around 15%. That should be understood as a threshold discussed within my own screening process—not a universal industry standard.
Similarly, I described a second-generation framework incorporating roughly 400 rules informed by institutional-style trading considerations.
The existence of that ruleset should not be confused with institutional validation of the resulting strategies.
A large rule count is a description of the framework. It is not, by itself, evidence that the framework works.
What I want from these thresholds is consistency.
If a candidate fails an important requirement, it should not receive special treatment simply because its headline return looks exciting.
At the same time, I do not want composite scoring to obscure the underlying information.
Two strategies can reach similar overall scores through very different combinations of performance and risk. One might have steadier results, while another depends on a small number of exceptional trades.
The report should make those differences visible.
I was also skeptical in the demonstration of a Sortino reading around 11. That skepticism is worth preserving. An unusually impressive number should prompt inspection of its calculation and sample, rather than immediate confidence.
Screening is valuable when it disciplines the research.
It becomes less useful when the score itself starts replacing judgment.
11. A Strong Historical Candidate Can Still Be a Weak Intraday Candidate
One individual strategy made the distinction between historical performance and current suitability particularly clear.
I copied a geopolitical-event strategy name from the spreadsheet into Signal Lab and ran the corresponding assessment.
The historical figures discussed included a Sortino ratio around 1.32 and a profit factor around 1.56.
Those were enough to justify a closer look within the context of the demonstration.
However, the subsequent AI-generated profitability assessment came back at only 20%.
Again, that should be treated as an internal assessment score, not an established probability of a profitable trade.
Even with that limitation, the disagreement was useful.
A strategy can have an acceptable historical record and still look poorly matched to the environment being evaluated. Conversely, a favorable current score does not erase a weak historical foundation.
My immediate focus is intraday trading, so timing and current relevance are central to the selection process.
If I were considering the same strategy over a different holding period, I would need to evaluate it for that purpose rather than assume the intraday assessment settles the question.
This example captured what I want Signal Lab to do.
It should stop me from treating a favorable row in a spreadsheet as an automatic deployment decision.
The historical report answers one set of questions. The current assessment attempts to answer another.
When they disagree, I want to investigate the disagreement—not choose whichever number looks better.
12. Treasury Strategies Deserve More Than a Quick Glance
Treasury-related strategies were among the more interesting candidates in the reports.
The walkthrough included a 10-year Treasury futures strategy described around a flattener or volatility-oriented concept. One report showed approximately:
3.0 Sharpe ratio
61.5% win rate
2.8 profit factor
Those were reported outputs, not audited results.
What made the example useful was the additional detail available in the strategy report: descriptive information, condition labels, composite scoring, and a portfolio-style tear sheet.
There were also references to simulated implied volatility.
That is an important qualification. If part of a strategy depends on a modeled input rather than an observed historical series, I want that distinction made explicit throughout the evaluation.
I also want the instrument and the strategy construction to be clear.
A Treasury futures trade should not be described casually as though it were equivalent to holding a Treasury security for income. The intended exposure, position sizing, and implementation need their own examination.
One report column was labeled “realistic.” I used it as a point of comparison during the walkthrough, but the label alone cannot establish that the assumptions are realistic.
The underlying calculation still needs to be inspected.
This is a recurring theme in the project: AI can generate descriptions, labels, and tables very efficiently.
My responsibility is to ensure that those descriptions correspond to what the strategy actually does and what the test actually measures.
13. Monthly Returns Reveal What Headline Metrics Can Conceal
The portfolio tear sheets are where the strategy comparisons became especially informative.
I pay close attention to the monthly return tables because they let me examine the path behind the summary statistics.
In the Treasury example, the displayed history appeared comparatively steady, with several favorable monthly results.
Another geopolitical strategy looked much more uneven. Its report showed losses across May, June, and July, followed by a better-looking September period in the dataset being discussed.
That contrast helped explain why I was less enthusiastic about the second candidate’s current assessment.
However, I would not treat a green month—or a sequence of green months—as proof that a strategy has entered a durable new phase.
The monthly table is a diagnostic view, not a forecasting guarantee.
What it does provide is a better basis for questions.
Was the weakness concentrated in one identifiable environment? Did the strategy stop behaving as its original premise suggested? Was the recovery broad-based, or driven by one trade?
The same scrutiny applies to consistency.
A smooth-looking history is worth investigating, but it should not exempt a strategy from questions about sample construction, assumptions, or concentration.
What I want is agreement between the story, the rules, and the observed pattern of returns.
A headline metric can summarize that pattern. It cannot replace the work of understanding it.
The tear sheets help move the discussion from “this number looks good” to “this is how the strategy actually behaved.”
14. The Multimillion-Dollar Projection Is a Reason to Investigate
The PDF report included some dramatic aggregate figures: a value around $4.79 million and a profit figure around $2.3 million over the illustrated period.
I said during the demonstration that those results looked overly optimistic and were probably not realistic.
That qualification is essential.
These were report outputs—not a statement that I earned those amounts, and not a credible return expectation for readers.
An aggregate result raises questions that individual strategy rankings do not answer.
What starting capital was assumed? Could the strategies have operated simultaneously? Were overlapping exposures recognized? Did each strategy effectively receive its own allocation of capital in the calculation?
I also want to know how the report treats costs, position sizes, and strategies competing for the same resources.
Until those assumptions are reconciled, adding attractive standalone results together is not enough to establish a plausible portfolio outcome.
The report remains useful as a way to identify which components are driving the projection.
If most of the apparent profit comes from a few strategies, those strategies deserve particular attention. If the curve changes dramatically during one period, I want to understand why.
But the visual polish of a PDF should never determine how much confidence I place in its contents.
AI-generated reports need to be audited as research artifacts, not admired as proof.
In this case, the extraordinary projection made me more cautious, not less.
15. Deployment Is a Separate Engineering Problem
Signal Lab includes controls associated with launching strategies, and I described a pre-launch process that “sanitizes” a bot before execution.
That wording needs careful interpretation.
Preparing a script for launch is not the same as proving that it is safe, robust, or profitable. I would not want the presence of a launch button—or a preprocessing step—to imply otherwise.
The broader project also includes AI watchdogs: monitoring agents intended to observe running trading bots and their behavior as conditions change.
That is a useful direction for the system, but it introduces another layer that needs testing.
For deployment, I am interested in a clear progression from research code to a controlled executable strategy.
The work ahead includes inspecting order behavior, confirming position state, handling disconnections, and making sure risk controls behave as intended.
Broker integration is part of that effort.
In the demonstration, I discussed Interactive Brokers and Trader Workstation as the intended route for making some Python strategies accessible. I also described simpler strategy products designed around that connection, including use with paper-trading accounts.
Those implementation details will need to be documented for each release rather than assumed to apply identically to every bot.
Paper trading is part of the evaluation path I want to support, not a label that resolves every execution question.
The larger point is straightforward:
Research selection and live operation are different problems.
Signal Lab helps with the first and provides a connection to the second. It does not remove the need to engineer and test that second stage carefully.
16. Where the Project Goes From Here
The next phase is about deeper evidence, clearer reporting, and making selected parts of the work available.
I see three complementary roles across the project.
QuantLabsNet remains the broader home for development updates, research, and educational material.
The Order Book Edge is where I intend to publish more detailed strategy analysis, including a closer examination of the Bitcoin run discussed here. The useful version of that analysis will reconstruct what happened—not simply repeat the strongest metric.
HFT Code is the planned distribution channel for selected Python trading bots, with initial pricing and subscription options still part of the development process.
For any released strategy, I want the surrounding explanation to matter as much as the code.
Readers should be able to understand the strategy’s premise, the environment used to test it, the limitations of the results, and the work required before considering deployment.
Signal Lab itself needs further debugging and validation. Its assessments need to be compared with subsequent outcomes, and its reports need clearer separation between observed data, modeled inputs, and interpretation.
That is where I want to put my energy.
The biggest lesson so far is not that AI can produce thousands of trading bots. I have already demonstrated that it can accelerate the production process in my workflow.
The harder and more valuable task is deciding which outputs deserve continued attention.
A large archive offers possibilities. A ranking offers a starting point. A backtest offers conditional evidence.
None of those is the same as a demonstrated trading edge.
Signal Lab is my attempt to bring those pieces together without losing sight of their differences.
The goal is not to run more bots. It is to develop better reasons for running—or rejecting—each one.
This article describes an experimental trading research workflow. Strategy counts, scores, and performance figures reflect the demonstration and have not been independently verified. Historical and simulated results do not guarantee future outcomes. Nothing here is a recommendation to trade a particular instrument or strategy.


