My Thoughts
Short-form commentary on macro, market structure, commodities, Bitcoin, crypto markets, and AI.
Don't Expect $60 Oil In 2026
$36 billion worth of oil will be released from strategic reserves of 32 countries, in an effort suppress the oil's price down price down. However, I don't believe those efforts will be enough.
International Energy Agency (IEA) has just approved the largest oil release from its member countries strategic reserves. As an emergency measure, 400 million barrels of oil will be channelled into the markets from sovereign reserves, which is more than double of the previous record of 182 million barrels in 2022. Replacing Russian oil in 2022 was mostly a supplier problem, while Straight of Hormuz is a major route for many suppliers, making the disruption of flow through it a global logistics challenge. I consider this to be objective stress signal on the oil supply market, which acts as upwards price pressure. The market seems to agree with me, at least in the short term, given that even on these news Brent Oil is still trading around ≈$90 per barrel.
While the release of oil reserves by IEA members will exert downward pressure on the price of oil while that release lasts - there is no free lunch. Not only those reserves would need to be replenished, but it also expose the IEA countries to increased risk due to reduced domestic oil supply. This is another supply stress factor that will need to be resolved.
Geopolitical risk is perhaps the most obvious driver behind the recent oil price increase, and even in case of a de-escalation the risk will decrease to levels that are higher than at the start of 2026. The damaged oil production and logistics infrastructure will also need to be restored and other similar costs covered. As such, the geopolitical risk baseline has been elevated, and it will remain elevated at least until the end of this year.
For these reasons, it will probably take a while for the oil prices to decrease towards the ≈$60 area. To be very specific - I don't believe oil will fall down to $60 in 2026.
And just like that... highest oil prices since 2022 -- just a few percent shy from the heights of May 2nd 2022
I have first warned about an incoming large increase in oil prices ≈8 months ago
Going long on Bitcoin now at $68K is very risky (and maybe brave!). I would't do it
There is too much negative pressure on global liquidity, which makes downward price shocks in the near term much more likely
And once again -- global liquidity is not measured by M2, that's only a part of it.
Crue Oil: United States Acts, Russia Benefits (Once Again)
Despite the heavy international sanctions, Russia is now selling Urals oil at a ≈$5 premium over Brent oil. Usually, Urals trades at a discount to Brent, so this is a relatively unusual situation. This is, of course, caused by the U.S. military force use against a sovereign nation once again.
While oil production and export from the Arab Gulf region has now greatly reduced, the demand for oil didn't follow that downtrend. 20% of all oil passes Straight of Hormuz, the flow through which is now heavily limited. As a result, a significant part of that demand has now shifted towards Russia, which is capitalizing on that demand by selling crude oil, not only for a higher price, but also at a premium!
High oil prices are also great news for Ruble. More than ≈50% of Russian oil exports are in foreign currencies, but exporters must pay their taxes in Rubles. As such, exporters must sell foreign currencies to purchase Ruble, which drives its price up. Additionally, since 2020 Russia has policies in place which cause high oil prices to usually lead to further accumulation of gold by the Central Bank of Russia (CBR): excess revenue from taxes resulting from oil sales above ≈59$/barrel are directed to the NWF for investing in precious metals (mostly gold) and FX (mostly renminbi/yuan). So instead of spending the extra revenue immediately, it gets invested.
The mechanism by which the FX & gold purchase happens from excess gas and oil revenues is also interesting to explore. NWF is administrated by Russia’s Ministry of Finance (MoF), and it’s effectively MoF doing those purchases on behalf of NWF. So every time revenues from oil and gas taxes exceed the benchmark price, the MoF buys foreign assets and gold from the CBR, which then immediately repurchases what it had just sold to the MoF/NWF. As a result of this sanitization mechanism, the Central Bank of Russia net holdings of gold/FX currencies remain constant, while the net asset holdings of the NWF increase — so in net terms the Russian government holds more gold and FX.
Imagine on a given period Russia recovered an extra revenue of $100M over the benchmark. Under the structure described above, the Russian government will not immediately spend those $100M, but instead invest them into gold & FX currencies. The step-by-step process looks something like this:
1. MoF buys $40M worth of gold from the CBR
2. CBR repurchases $40M worth of gold from domestic Russian market, using the proceeds from 1
3. MoF buys $60M worth of renminbi from the CBR
4. CBR repurchases $60M worth of renminbi from FX markets, using the proceeds from 2
As you can see, the combination of steps above leaves Russia with more gold and FX reserves than before.
For the month of March 2026, the Russian Federation has paused the gold/FX purchases from excess revenue from oil and gas. However, I don’t think that this pause will remain in effect much longer, as it has been explicitly linked to lowering the Ural’s oil revenue threshold from the current ≈$59 per barrel, potentially down to $45-50 per barrel. For now, all of the excess revenue from oil and gas will be going to the federal budget, available for its immediate liquidity needs.
So whichever way you look at it — Russia massively benefits from the raise in price of commodities and precious metals, namely gas, oil, gold and silver.
Reordering of a 5 billion row DuckDB table completed yesterday 🎉
The whole process took less than 48 hours. Excited to integrate DuckDB as the main data abstraction layer for the neural network-based models that will be trained on the LOB data. If everything goes well -- it will become the new default.
UPDATE: the 5 billion row table reordering in DuckDB has been in progress for almost 24 hours
The temporary directory used by the DuckDB process has filled up to almost 550GB 😅
This would've been faster, but the temp storage has limited bandwidth
Brent Crude Oil breaks above $90, and its headed higher!
You can add this to my list of correct predictions. Last time oil was this expensive was more than 2 years ago in 2023.
Perhaps it's obvious at this point -- but it won't top out at $90 😄
Crude Oil Prices Continue To Increase
Over the past year, I've reiterated multiple times on the fact that that oil prices will continue to increase and that they'll soon be back up above their June 2025 prices. This happened again today, with Brent Crude Oil being up more than 10% on the day.
About 8 months ago I wrote a thread explaining and predicting an increase in oil and gold prices in the near future. Since then:
➖ Brent Crude Oil went up ≈17%
➖ Gold went up ≈65%
For reference, in the same time period, S&P 500 went up ≈18%.
Worldwide oil trade was (and still is!) subject to great geopolitical risk, part of which is materializing now. In addition to that, monetary debasement continues its course and military conflicts have a tendency to exuberate it, via increased demand, sovereign debt and spending.
Despite that, many continue to believe that violating the International law by invading a sovereign nation and kidnapping their leader implies lower oil prices, just because that sovereign nation is in procession of that natural resource. Of course, the reality is much more complex due to factors such as the required level skill/proficiency, infrastructure, internal risk and the implications of current geopolitical events on the international trade.
To conclude, remember: commodities are at the base of global real economy, and there will be a demand for them almost "no matter what". Of course, not all commodities come with the same risk profile -- I will refer you to my past posts on this topic, which you can read under the "commodities" articles category on my website.
Who would've thought that reordering 5 billion rows in a DuckDB table would need over 300GB in temporary storage on your hard drive
Luckily there is `SET temp_directory`, so I'm running ORDER BY again pointing it to a medium that should meet DuckDB's storage needs
I still believe my approach is feasible
2 billion+ rows (and counting!) added to the DuckDB table containing Bitcoin's L1 LOB data so far
The .duckdb file is now 32GB. This is going to be very interesting to process. If this experiment goes well -- I'll switch to DuckDB as the default storage layer for the pipeline
Using DuckDB To Train A Neural Network On 500GB Of Price Data
I have ≈500GB of historical Bitcoin level 1 limit order book data to process and train a neural network on.
I don't want to overcomplicate the data access layer and definitely want to keep all of the training, validation and inference in Python. A simple file-based DuckDB setup sounds like a good solution for this, as it allows for iterative in-memory data loading within the model training code -- this is because DuckDB already implements all of those nice abstractions that allow it to load large datasets lazily/on-demand. So I'll neither need 500GB of RAM, nor a dedicated DBMS process.
The model will be trained using a walk-forward strategy, so several versions of neural network weights/trained models will be generated. This means the amount of data loaded into the memory will be limited in either case. I may rely on DuckDB for some algebraic processing when querying data, but for now I'm planning to mostly filter for events within a specific time range.
I used DuckDB several times before for finance applications, but not to actively process such a large amount of data, so I will report back if something goes wrong.
Fingerprinting and loading ≈500GB of Bitcoin L1 LOB historical data from CSVs into a single DuckDB file database
This will take a while, but then I will be able to train neural networks on that data 😄
The problem with granular historical limit order book (LOB) data is its massive size
I have a script downloading, decompressing and combining all of the data, and the total size was quickly over 300GB in size!
I was hoping I could prototype & train a primary model from data in CSVs, but I'm pretty sure it'll need optimizations (hello, Parquet!)
Random Forest Cat: An ML Trading Factory
I open-sourced a multi-model, machine-learning based factory for trading strategies on GitHub. It's written in Python and is highly customizable, as it exposes a framework for configuring the pipeline via a DSL.
Currently, it comes with two pipeline configurations: one that focuses on predicting wether the price of Bitcoin in 5 minutes will be higher or lower than now (Polymarket style), and a more generic strategy that shorts or longs Bitcoin at its own discretion.
This project also represents an experiment on enabling AI agents to discover trading strategies that will be profitable with real world, live price data. Clone the project and try asking an LLM to generate a profitable trading strategy using the framework.
You can also just train your own model (or use mine) and use its signals for live trades. Beware that this is a work in progress. I've already integrated an explicit split for a the validation set, but that code is not pushed yet -- I'll probably do it today. More improvements are also on the way.
In either case, the current version of the code on GitHub works, so you can download and run it.
GitHub Repository Link: https://github.com/iluxonchik/random-forest-cat-ml-factory
Very excited for the upcoming price rebound in commodity metals
Current prices remain a strong buying opportunity.
Remember that silver is significantly more volatile than gold and can retrace down closer to ≈$70, but it's definitely not the top for this bullrun in metals
CUSUM Filter Visualized
I’m looking into CUSUM Filters in more depth and just wanted to share this nice visualization that Gemini created to demonstrate graphically how the threshold affects the sampling/event emission for a price series.
In this example, price is used a the feature, but note that CUSUM works with any measured quantity
I've been calling for new local heights for oil prices for over 6 months now
Last time Brent Oil traded at $85 per barrel was in 2024
Throughout 2025 and start of 2026, some of the largest finance accounts on X where telling you to short oil. Some are still referring to these price spikes as "noise"
Why High Oil Prices Are Bad For USD (HINT: China & Credit)
I don’t think that higher oil prices will help the value of US dollar medium to long-term this time. Higher oil prices induce higher prices for producers, which lead to higher prices for consumers. The US economy is already extremely dependent on its refinancing capacity. Currently, there are liquidity stress signs across several Fed facilities, which make that refinancing/rolling-over more difficult.
Higher oil prices, means even more new financing to cover the additional costs, which will further increase the country's refinancing burden. So this would push up not only broad & base money, but also raise their "baseline". The "baseline" will increase because the notional USD amount to refinance in the future will increase, meaning higher future liquidity needs.
In the most basic sense, this will increase the domestic supply of USD. If you consider the current slow, but steady decrease of demand for US Treasury debt instruments -- that's reduced demand for USD. Increased supply, combined with a reduced demand, implies a lower price.
The most notable instance of Treasury holding reductions (including not rolling them) is by People's Republic of China -- the world's #1 largest exporter, and China's explicit goal of increasing the share of renminbi in international settlement. Although the first country to successfully move away from USD was Russia -- and they did that by effectively swapping USD-denominated assets for gold and renminbi. If you go back in history, you will find a presidential order from the Russian Federation's president instructing the Central Bank of Russia to increase their gold tonnage holdings back in 2005. Other sovereigns are likely replicate this model, at least in part.
I believe the ECB + NCBs in the EU may also soon move towards the direction of reducing the share of USD-denominated holdings in their balance sheets as well. This situation presents as a great opportunity for increasing share of EUR usage, as it's already the 2nd most used currency, following the USD. Increased bi-lateral trade agreements with China would strengthen both, Euro and renminbi via increased demand -- and there's an intrinsic incentive to do that, as there is a lot of value that can be imported, and is already being imported, from the PRC. This would of course lead to the increase of renminbi-denominated holdings across the central banks in the EU.
Due to the above, the demand for USD is facing a downward pressure, while USD liquidity is showing signs of stress, causing an upward pressure on its supply. Higher domestic prices will only push that supply further up, while leveraging the economy even further (more risk). Sure, higher oil prices means more demand for USD to buy oil in OPEC and higher export revenue, but I don't think that would be sufficient to offset the negative implications.
Crude Oil Prices Continue To Increase
Over the past year, I've reiterated multiple times on the fact that that oil prices will continue to increase and that they'll soon be back up above their June 2025 prices. This happened again today, with Brent Crude Oil being up more than 10% on the day.
About 8 months ago I wrote a thread explaining and predicting an increase in oil and gold prices in the near future. Since then:
➖ Brent Crude Oil went up ≈17%
➖ Gold went up ≈65%
For reference, in the same time period, S&P 500 went up ≈18%.
Worldwide oil trade was (and still is!) subject to great geopolitical risk, part of which is materializing now. In addition to that, monetary debasement continues its course and military conflicts have a tendency to exuberate it, via increased demand, sovereign debt and spending.
Despite that, many continue to believe that violating the International law by invading a sovereign nation and kidnapping their leader implies lower oil prices, just because that sovereign nation is in procession of that natural resource. Of course, the reality is much more complex due to factors such as the required level skill/proficiency, infrastructure, internal risk and the implications of current geopolitical events on the international trade.
To conclude, remember: commodities are at the base of global real economy, and there will be a demand for them almost "no matter what". Of course, not all commodities come with the same risk profile -- I will refer you to my past posts on this topic, which you can read under the "commodities" articles category on my website.
So I extended my MCP server with a tool to execute arbitrary Python code, and now that's pretty much the only tool the host agent is using 😂
Instead of reusing the other tools, the agent prefers to write the whole logic from scratch and then pass to the MCP to execute it. It worked fine, but it's using too many tokens.
Code and context limitations are in the process of being imposed.
Using Neural Networks To Find Imbalances In Limit Order Books
I've been working on model factory that predicts short-term asset movements. The model focuses on predicting whether the price of an asset at a future time T+c will be below or above the current asset's price at time T. c is an arbitrary constant which in my model represents the number of minutes.
Currently, it's structured to match Polymarket's 5 minute BTC up or down markets, so this model can be used for trading on those markets. In this setup, the return is binary -- you either almost double or lose the whole position (assuming an entry as within a small delta of the market open). But this model can also be easily adapted to long/short futures positions with more flexibility on entry or exit times — it would require adapting the labeler and the backtest configuration (namely the cost model and position sizing).
The first version of the model factory relied on features derived from 1 minute OCHLV data for Bitcoin. I focused on setting up a multi-model pipeline, and generalize it into a configurable DSL-like experience. I also focused on avoiding a big part of overfitting/looking forward and doing the first level of parameter optimization. I was able to obtain a small edge (≈0.54 win rate), and short-run live tests showed the model to be profitable, however I’m not very sure how resilient it is to regime changes, nor I find the computed edge sufficient (the win rate is subject to the error from the models). I also wasn’t expecting to achieve a meaningful edge with just OCHLV data, so I’m integrating limit order book (LOB) data in order to extract price movement predictive patterns from the lower level dynamics that end up determining the price.
Given that the order book drives the market price, its reasonable to assume that there is a function that expresses the relationship between the current order book state, and in which direction that state is more likely to move the price in the short-term. It’s my first time working with LOB data, so I looked for papers which explore a framework for modeling price predictions based on a multi-level LOB with price and volume data for bid and ask at each level. After filtering through several options, I settled on one titled “DeepLOB: Deep Convolutional Neural Networks for Limit Order Books” by Zihao Zhang, Stefan Zohren, and Stephen Roberts. I liked it because the authors taking care in avoiding overfitting and leaking forwarding the data, by splitting the data set into one for training, one for validation and one for testing. The model is trained on the training set, the hyperparameters are optimized on the validation set, and the verification/backtesting is done on the test set. I also wanted to integrate neural networks into the pipeline, and DeepLOB model uses a Convolutional Neural Network (CNN) and a Long Short-Term Memory (LSTM) network in its construction.
The neural networks in DeepLOB works as follows. First, the raw LOB data passes through a CNN to summarize/extract patterns from the data via filters whose weights are learned by the network. The output then goes through the inception module, which is another CNN which operates with multiple convolutional filters if different sizes to capture multiple time window patterns. Then, the resulting matrix is passed to LSTM, which is a recurrent neural network, meaning it’s able to maintain “memory” of the past state when evaluating the new state. LSTM outputs a vector, which is then multiplied by a weight matrix to produce 3 raw scores (logits), which then get mapped to probability for each one of the 3 classes via Softmax: (Up, No Change, Down), which serve as a trading signal.
I’ll be incorporating something similar as signals/experts and/or features in the existing pipeline of my model factory. I’ll also extend the pipeline to add an additional split for the validation set to optimize the hyper parameters of the random forest. I’ll upload the code to GitHub soon, but note that it’s a work in progress.
I've been running live a tuned model designed to predict Bitcoin's price moves in Polymarket's BTC's 5 minute up or down markets
Backtests had a quite remarkable perfomance, with PnL over 70% across >500 trades
As expected, real world performance is not as impressive, but it's managing to be slightly profitable 😁 LOB data integration should improve the model's accuracy further.
The model factory has been refactored to use a DSL for configuring the pipeline -- so now you can visualize and configure the whole flow from a single place
This also makes it easier for agents to autonomously discover and verify profitable trading strategies, but I'll cover that in more detail in another post 😁
I'll be using PAXG prices as a proxy for gold prices. The great thing about PAXG is that Binance provides for historical 1-minute OCHLV data dating back more than 5 years
My plan is to use this data to derive more signals and/or features for the meta forest
A script is in the process of downloading and preparing the data 😄
The random forest's features have been heavily refactored. I also replaced the polymarket feature with lookahead bias (the proxy model) with a combination of other indicators.

























