Over the past year, one of the personal projects that has consumed considerably more time than I originally expected has been my Share Investment Strategy Model.
What started as a relatively simple experiment around stock market prediction gradually evolved into something much larger. Along the way, the project expanded into dedicated implementations for the Australian, Taiwanese, and United States markets, incorporated multiple forecasting and machine learning methodologies, and became an unexpectedly useful laboratory for experimenting with both quantitative investing and AI-assisted software development.
Looking back, the most valuable outcome was not a particular model, a backtesting result, or a portfolio simulation.
Instead, the most valuable outcome was learning how many assumptions I held without realizing it.
Almost every meaningful improvement came from discovering that one of those assumptions was wrong.
It Started as a Machine Learning Project
Like many personal quantitative investing projects, the original idea sounded relatively straightforward.
Build several machine learning models.
Feed historical stock market data into them.
Generate signals.
Evaluate performance.
Refine the methodology.
Repeat.
My initial focus was heavily model-centric.
Questions such as these dominated my thinking:
- Is Random Forest better than CatBoost?
- Can Prophet predict market movements effectively?
- Does LSTM contribute meaningful predictive power?
- Is NGBoost useful for investment decision-making?
- Which model produces the highest return?
At that stage, I viewed the machine learning models themselves as the centrepiece of the platform.
If the model improved, surely the strategy would improve too.
At least, that was the assumption.
The reality turned out to be quite different.
The longer I worked on the project, the more obvious it became that the most difficult problems had very little to do with machine learning itself.
The difficult problems were about markets.
Markets Are Not Universal
One of the biggest architectural changes during the project was splitting the repository into dedicated branches for different markets:
- ASX (Australia)
- TWN (Taiwan)
- USA (United States)
Initially, I resisted this idea.
From a software engineering perspective, maintaining a single implementation is always attractive.
Less duplication.
Less maintenance.
Less complexity.
The problem was that financial markets are not interchangeable.
The more I investigated market behaviour, data availability, trading rules, and investment practices, the more obvious it became that a single market-agnostic framework would force unrealistic assumptions onto fundamentally different environments.
Eventually, I stopped trying to build one universal solution and started building separate market-aware implementations instead.
That decision increased complexity considerably.
But it also made the platform far more realistic.
Taiwan Changed My Thinking
Among all three implementations, Taiwan probably had the greatest influence on how I think about investment systems.
When I first started the Taiwan branch, I assumed most approaches developed for US markets would transfer reasonably well.
That assumption didn’t last long.
Monthly Revenue Matters
One of the earliest surprises was the importance of monthly revenue disclosures.
Investors in many Western markets tend to focus heavily on quarterly earnings announcements.
Taiwan operates differently.
Monthly revenue announcements can become meaningful signals that influence investor sentiment and market expectations before quarterly earnings are released.
Ignoring them felt increasingly difficult to justify.
The Taiwan implementation gradually evolved to include information sources and indicators that would not naturally appear in a purely US-focused investment framework.
Institutional Activity Matters
Another observation was the importance of institutional and foreign capital participation.
For many Taiwanese technology and semiconductor companies, institutional behaviour can exert significant influence on market movements.
As a result, the platform gradually expanded to incorporate information beyond standard price and volume datasets.
Again, the lesson was not that Taiwan is unusual.
The lesson was that every market contains its own characteristics, and those characteristics matter.
Market Rules Matter
Perhaps the most important lesson was much simpler:
Reality matters.
Transaction costs matter.
Taxes matter.
Settlement rules matter.
Liquidity matters.
Market restrictions matter.
Many strategies appear highly profitable when friction is ignored.
Their attractiveness diminishes considerably once reality is introduced.
The more realistic the simulations became, the more obvious it became that investment performance depends on much more than prediction accuracy.
The United States Taught Different Lessons
The United States implementation introduced an entirely different set of challenges.
Compared with Taiwan, the US market provides:
- Greater liquidity
- Larger market capitalization
- Broader sector diversity
- Larger institutional participation
- Richer publicly accessible datasets
Some techniques that performed well elsewhere became less useful.
Other approaches became surprisingly effective.
One observation that repeatedly emerged was that opportunities often appeared in unexpected sectors.
Technology was not always the winner.
Financial institutions periodically dominated.
Industrial businesses occasionally produced stronger results than many market favourites.
The more analysis I performed, the more sceptical I became of simplistic narratives.
That scepticism ultimately improved the platform.
Developing in the Era of AI
One unexpected aspect of this project was how deeply AI became embedded in the development process itself.
When the project began, I primarily viewed Large Language Models as productivity tools. They could accelerate coding, explain unfamiliar concepts, help with documentation, and occasionally suggest implementation approaches.
Over time, that relationship changed.
Rather than asking AI systems to provide answers, I increasingly found myself using them to challenge answers.
Many development decisions did not follow a straight path from idea to implementation. An observation from market analysis might evolve into a proposed solution, which would then be questioned, refined, redesigned, or sometimes completely discarded after exploring alternative viewpoints.
Quite often, the final implementation looked very different from the original idea.
The most valuable outcome was rarely the generated code itself.
It was the thinking process that emerged around it.
When AI Systems Disagreed
One of the more interesting observations throughout development was how frequently different AI systems disagreed with each other.
The same requirement could produce several reasonable but fundamentally different solutions.
Early on, I spent a considerable amount of time trying to determine which answer was correct.
Eventually, I realised that was often the wrong question.
A more useful question became:
Why are the answers different?
Sometimes the differences highlighted hidden assumptions within the requirements.
Sometimes they exposed implementation risks.
Sometimes they reflected different engineering philosophies.
And occasionally, they simply demonstrated that there was more than one reasonable solution.
Those moments of disagreement often proved more valuable than receiving a single answer immediately.
The discussion itself became part of the design process.
AI Became a Thinking Partner Rather Than a Coding Assistant
Looking back through the project’s evolution, AI contributed to much more than writing code.
It became involved in discussions around:
- Investment methodologies
- Market-specific adaptations
- Data acquisition approaches
- Strategy evaluation techniques
- Portfolio simulation logic
- Dashboard and user experience design
- Documentation and knowledge sharing
- Feature prioritisation
- System architecture decisions
The role constantly shifted.
Sometimes AI accelerated implementation.
Sometimes it challenged assumptions.
Sometimes it identified edge cases that had been overlooked.
And in many situations, its greatest value came from helping explore several possible directions before committing to one.
As the project grew, I became less interested in treating AI as a system that generates answers and more interested in treating it as a tool for structured exploration.
Perhaps the most important lesson was that AI works best when it improves thinking rather than replaces thinking.
From Model Benchmarking to Algorithm Consensus
One of the biggest methodological changes in the platform was moving away from the idea that a single algorithm should dominate investment decisions.
Early versions focused heavily on model benchmarking.
Random Forest, CatBoost, Prophet, NGBoost, LSTM, and other approaches were evaluated independently through backtesting and portfolio simulations.
The objective appeared straightforward:
Find the best-performing model.
The problem was that there never seemed to be a permanent winner.
Different market environments favoured different algorithms.
Different sectors produced different outcomes.
Different time periods produced different rankings.
A model that performed exceptionally well under one set of conditions might struggle under another.
Over time, I became less interested in identifying a universal winner and more interested in understanding where different analytical approaches independently arrived at similar conclusions.
That shift in thinking became one of the most important changes in the project.
Treating Models as Algorithm Experts
Rather than viewing algorithms as competitors, I gradually started viewing them as specialised analytical experts.
Each algorithm examines the market through a different lens.
Some are particularly effective at identifying historical patterns.
Some excel at structured tabular analysis.
Some provide stronger forecasting capabilities.
Others are better suited to modelling probabilities or sequential behaviour.
None of them are consistently correct.
None of them are consistently wrong.
And none of them dominate every scenario.
The objective therefore shifted from selecting the “best” algorithm to understanding where multiple independent analytical approaches converged.
Those areas of agreement often became significantly more interesting than the performance of any individual model.
The AI Committee
This philosophy eventually became the foundation of the AI Committee capability within the platform.
Despite its name, the AI Committee does not consist of Large Language Models.
Instead, it represents the collective viewpoints of multiple forecasting and machine learning algorithms evaluating the same investment opportunity.
The committee is best thought of as a panel of Algorithm Experts.
Each expert contributes its own assessment based on its methodology, assumptions, and strengths.
The user interface allows investors to observe where these experts agree, where they disagree, and how their opinions combine within the broader evaluation framework.
The purpose is not to automate investment decisions.
The purpose is to provide greater visibility into how different analytical approaches interpret the same opportunity.
Where multiple experts independently reach similar conclusions, confidence may increase.
Where significant disagreement exists, further investigation may be warranted.
Much like real-world investing, the differing viewpoints are often just as valuable as the consensus itself.
The Birth of Super Stars
The AI Committee concept eventually led to one of my favourite features within the platform.
Initially, most evaluations focused on algorithm performance.
Questions typically sounded like:
Which model generated the best ROI?
Investors rarely care which algorithm wins.
Investors care which investments perform well.
That shift in perspective eventually led to the creation of the Super Stars framework.
Instead of ranking algorithms, the platform ranks opportunities.
Hall of Fame: Super Stars
The Super Stars analysis evaluates securities using results generated by multiple algorithm experts.
Trades are simulated.
Performance is measured.
Outcomes are ranked.
The result is a Hall of Fame style leaderboard highlighting securities that delivered strong performance across the platform’s evaluation framework.
One particularly interesting run within the Taiwan market highlighted several stocks that consistently appeared across multiple algorithm evaluations. More recently, the US market implementation produced equally fascinating results through the Dow Jones analysis, surfacing names that traditional narratives might not immediately consider market leaders.
What fascinated me was not the rankings themselves.
It was the diversity.
Technology appeared.
Industrials appeared.
Financial institutions appeared.
Energy companies appeared.
The strongest candidates emerged from multiple sectors and business models.
The platform was not pursuing a specific narrative.
Instead, it was surfacing opportunities identified through multiple analytical perspectives.
That felt significantly more robust than relying on a single algorithm’s opinion.
The feature also revealed something unexpected.
Sometimes the most valuable outcome was not discovering the highest-ranked stock.
It was understanding why multiple algorithms independently reached similar conclusions despite using completely different methodologies.
Accuracy Is Overrated
One lesson repeatedly reinforced throughout the project is that prediction accuracy can be a misleading metric.
Higher accuracy does not automatically translate into better investment performance.
Investors cannot spend accuracy.
Investors spend returns.
A model with lower prediction accuracy may still outperform if it captures larger profitable movements and avoids significant losses.
As a result, the project gradually shifted toward evaluating:
- Portfolio growth
- Risk-adjusted returns
- Drawdowns
- Trade performance
- Investment outcomes
Less emphasis on prediction.
More emphasis on decision quality.
Backtesting Is Both Useful and Dangerous
I enjoy backtesting.
I also distrust backtesting.
Both statements are true.
Backtesting provides evidence.
Backtesting also creates confidence.
Sometimes too much confidence.
The market has no obligation to repeat historical behaviour.
As a result, some of the most important questions became:
Why did this work?
And:
Under what conditions would this stop working?
Those questions frequently produced more valuable insights than impressive performance statistics.
Over time, I became increasingly sceptical of strategies that looked too good.
Experience has taught me that exceptionally strong results are often worth investigating more carefully rather than celebrating immediately.
Sometimes they reveal genuine insights.
Sometimes they reveal flaws in assumptions.
Sometimes they reveal flaws in the data itself.
Building the Platform Was More Than Building Models
As the project evolved, I realised I wasn’t just building machine learning models.
I was building a research platform.
A considerable amount of effort eventually went into areas that had little to do with forecasting:
- Interactive dashboards
- Market-specific visualisations
- Portfolio comparisons
- Ranking frameworks
- Strategy evaluation workflows
- User experience improvements
- Reporting capabilities
The screenshots generated from both the Taiwan and US implementations reinforced how important visualisation had become.
The ability to explore results interactively often produced insights that would have been easy to miss by simply reviewing model outputs or spreadsheets.
In many ways, the platform became less about prediction and more about helping investors think systematically about opportunities, risks, and trade-offs.
What Went Wrong
No meaningful project progresses without mistakes.
This one certainly didn’t.
Trusting Data Too Easily
Several early results appeared promising until data quality issues were discovered.
Correcting the underlying datasets often changed conclusions dramatically.
Data quality repeatedly proved more important than model sophistication.
Over-Optimising Models
There were periods where significant effort was spent chasing marginal improvements in algorithm performance.
Later I discovered much larger gains often came from improving assumptions, datasets, or market understanding.
Trusting AI Too Much
Large language models are remarkably capable.
They are also capable of producing highly convincing mistakes.
The most dangerous outputs were rarely obviously wrong.
They sounded reasonable.
That reality reinforced the importance of validation, testing, and independent verification.
Underestimating Market Differences
This was probably the biggest mistake of all.
The establishment of separate ASX, Taiwan, and USA implementations was not simply a feature enhancement.
It was a correction to an early misunderstanding.
Markets are different.
And those differences matter.
What I Still Want to Improve
Although the platform has evolved considerably, there is still plenty of room for improvement.
Better Market-Specific Signals
The more I work on the project, the more convinced I become that market-specific information matters.
There are undoubtedly additional datasets, indicators, and signals that could further improve market-aware analysis.
Improving Backtest Realism
Backtesting remains both useful and dangerous.
Continued improvements will likely focus on making simulations as realistic as possible without losing practicality.
Expanding Market Coverage
The transition from one implementation to three demonstrated the value of market-specific approaches.
Future expansion will likely continue following the same philosophy.
Adapt the framework to the market.
Do not force the market to adapt to the framework.
Refining Algorithm Expert Collaboration
The interaction between different algorithm experts remains one of the most interesting areas of the platform.
There is still significant opportunity to improve how consensus, disagreement, and confidence are interpreted and presented.
The objective is not finding a perfect model.
It is making better decisions from multiple imperfect perspectives.
Continuing the Experiment
Most importantly, the project remains an experiment.
New data.
New market conditions.
New methodologies.
New assumptions to challenge.
And that is exactly what makes it interesting.
Final Reflections
When I started this project, I thought I was building a machine learning investment platform.
Looking back, that description feels incomplete.
The project became an exercise in understanding uncertainty.
It taught me about market structures.
It taught me about data quality.
It taught me about evaluation methodology.
It taught me about software engineering.
It taught me about AI-assisted development.
Most importantly, it taught me how dangerous assumptions can be.
The separation into ASX, Taiwan, and USA implementations emerged because markets behave differently.
The Algorithm Expert methodology emerged because different algorithms see the market differently.
The multi-LLM development workflow emerged because different AI systems think differently.
All three lessons ultimately point toward the same conclusion:
No single market, algorithm, dataset, or AI system has a monopoly on good ideas.
The strongest outcomes usually emerge from comparing perspectives, challenging assumptions, and remaining willing to change direction when evidence suggests you should.
The repository will continue evolving.
The algorithms will continue changing.
The markets will continue surprising investors.
And that is probably the biggest lesson this project has taught me.
The goal was never to build a perfect investment strategy.
The goal was to keep learning.
Everything else was simply a by-product of that journey.













