<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Quantooox</title>
    <description>The latest articles on DEV Community by Quantooox (@quantooo).</description>
    <link>https://dev.to/quantooo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4208016%2Fe136c512-1fd5-4b33-a0c9-06f9997cc636.png</url>
      <title>DEV Community: Quantooox</title>
      <link>https://dev.to/quantooo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/quantooo"/>
    <language>en</language>
    <item>
      <title>We tested 12 machine-learning models on the stock market. None of them worked, and we published everything.</title>
      <dc:creator>Quantooox</dc:creator>
      <pubDate>Mon, 26 Oct 2026 11:15:33 +0000</pubDate>
      <link>https://dev.to/quantooo/we-tested-12-machine-learning-models-on-the-stock-market-none-of-them-worked-and-we-published-882</link>
      <guid>https://dev.to/quantooo/we-tested-12-machine-learning-models-on-the-stock-market-none-of-them-worked-and-we-published-882</guid>
      <description>&lt;p&gt;Most finance content shows you what worked. We built a free site, quantooo.com, to do the opposite: test ideas properly, in public, and publish the result whether it is good or bad.&lt;/p&gt;

&lt;p&gt;Here is what we found, and how we tested it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;The site gives about 100 large US stocks (and the Nifty 50 in India) a score from 0 to 100, built from five plain measures: trend, stability, company fundamentals from official filings, the market backdrop, and the tone of the news. Every step of every score is shown on the page, with its source and date.&lt;/p&gt;

&lt;p&gt;The question was simple: do stocks with a higher score do better over the next month than stocks with a lower one?&lt;/p&gt;

&lt;h2&gt;
  
  
  How we tested it
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Only the past.&lt;/strong&gt; Every model was trained on earlier data and judged on later data it had never seen   (walk-forward testing).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A sealed final year.&lt;/strong&gt; The last 12 months were locked away. We froze the rules first, then opened that year once.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Random referees.&lt;/strong&gt; Every result was compared with random rankings. If a coin flip does as well, the model isn't   smart.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Counting every try.&lt;/strong&gt; Try 100 ideas and one will look brilliant by luck, so every configuration we tried is counted   and the results are corrected for it.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What we found
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The score:&lt;/strong&gt; in development (2020–2025) its link with next-month results was +0.0085, statistically indistinguishable from random (t = 0.46). On the sealed final year it was &lt;strong&gt;−0.0585 (t = −2.47)&lt;/strong&gt;: higher-scored stocks actually did &lt;em&gt;worse&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Twelve model families&lt;/strong&gt; went through the same test: simple rules, ridge regression, LightGBM, neural networks, kNN, LSTM, GRU, a regime-switching model and more. &lt;strong&gt;None showed a significant edge.&lt;/strong&gt; As a check on the pipeline, a model trained on shuffled labels scored about zero, so the test isn't leaking information.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;India,&lt;/strong&gt; same method, with company results used only from the minute they were published: +0.009 (t = 0.21), no skill either.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one thing that helped, a little
&lt;/h2&gt;

&lt;p&gt;Predicting &lt;em&gt;direction&lt;/em&gt; failed. Predicting &lt;em&gt;turbulence&lt;/em&gt; did a bit better. A volatility model for the S&amp;amp;P 500 had lower forecast error than the standard HAR model on 2025–26 (QLIKE 0.816 vs 1.047, p = 0.047). In an exploratory follow-up, the decades-old GARCH model did best of all.&lt;/p&gt;

&lt;p&gt;That matches the research paper the site is built on, &lt;em&gt;Where Machine Learning Helps&lt;/em&gt;: machine learning is far more useful for measuring risk than for picking winners.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why publish a failure?
&lt;/h2&gt;

&lt;p&gt;Because a result you only hear about when it works tells you nothing. Every night the scores are saved &lt;em&gt;before&lt;/em&gt; the market opens, fingerprinted, and timestamped on the Bitcoin blockchain, so nobody, including us, can quietly edit them later. Mistakes go into a public corrections log.&lt;/p&gt;

&lt;p&gt;We are also running hypothetical paper portfolios for one year from 19 October 2026, with rules registered before the first trade. We'll report the result either way. (Hypothetical, not a claim of returns; they could easily lose.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Check our work
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The leaderboard of all 12 models: &lt;a href="https://quantooo.com/models" rel="noopener noreferrer"&gt;https://quantooo.com/models&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The backtest, controls and the sealed year: &lt;a href="https://quantooo.com/research" rel="noopener noreferrer"&gt;https://quantooo.com/research&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Every formula: &lt;a href="https://quantooo.com/method" rel="noopener noreferrer"&gt;https://quantooo.com/method&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The track record nobody can edit: &lt;a href="https://quantooo.com/track-record" rel="noopener noreferrer"&gt;https://quantooo.com/track-record&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's free, with no ads, no fees and no broker links. If you see a flaw in the method, we'd genuinely like to hear it in the comments.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Written by Quantooo Lab, the makers of quantooo.com. Educational, not investment advice.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>datascience</category>
      <category>statistics</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
