NexusFi: Find Your Edge


Home Menu

 



Reinforcement Learning for Futures Trading: Building Adaptive Strategies That Learn from Market Feedback

Looking for NinjaTrader pricing, features, reviews, and community ratings? Visit the directory listing.
NinjaTrader Directory →
Looking for DTN IQFeed pricing, features, reviews, and community ratings? Visit the directory listing.
DTN IQFeed Directory →

Overview #

Reinforcement learning is the third pillar of machine learning, sitting alongside supervised and unsupervised approaches — and it maps onto trading in a way the other two don't. Supervised learning says "here's input X, here's output Y, learn the relationship." Reinforcement learning says "you're an agent in an environment, take actions, get rewarded or penalized, figure out what to do next." That's basically trading.

The appeal is obvious. An RL agent can, in theory, learn to size positions dynamically, adapt to changing market regimes, account for transaction costs in its decision-making, and improve for risk-adjusted returns over sequences of trades rather than individual predictions. Where supervised ML asks "what direction is the market going?", RL asks "given everything I know right now, what's the optimal thing to do?" Different question. Different answer. Potentially more useful.

The reality is harder. RL for futures trading is one of the most technically demanding projects in quantitative finance, with failure modes that don't exist in supervised ML and sample efficiency problems that are brutal given how little clean, non-stationary data markets actually produce. But the teams that get it right — and some do — end up with execution and position management systems that no rule-based approach can match.

This article covers the full implementation picture: how RL systems work, where they fit in a futures trading stack, what gets most implementations killed, and how to actually build one that survives contact with real markets.

Reinforcement learning agent loop diagram showing six components: state observation, agent policy, action execution, market environment response, reward signal, and policy update cycle for futures trading
The RL agent-environment loop: State → Agent → Action → Market → Reward → Policy update

What RL Actually Is -- and Why It's Different #

The core distinction between RL and supervised ML comes down to how feedback is delivered. In supervised ML, you have labeled examples. You predict direction, you check if you were right, you adjust. The feedback is immediate and direct — prediction maps to outcome on a one-to-one basis. In RL, there's no labeled dataset. There's an agent making decisions, an environment that responds to those decisions, and a reward signal that reflects how well the decisions worked. The critical word is "sequence." Your position size at 9:35 affects your P&L at 9:35, but it also changes your exposure for the rest of the session.

Side-by-side comparison of supervised machine learning versus reinforcement learning approaches to futures trading decisions, showing flow from data through prediction versus agent-environment reward loop
Supervised ML vs Reinforcement Learning: how each frames the trading decision problem

The six components of any RL system, in trading context:

  • Agent -- the policy that decides what to do. Starts with no knowledge, learns from experience. In trading, this is the decision-maker: buy, sell, hold, how much, when.
  • Environment -- the market simulator or live execution environment. Responds to the agent's actions with price changes, fills, and P&L.
  • State -- what the agent observes before deciding. Market data, current position, unrealized P&L, regime indicators.
  • Action -- what the agent can do. Target position size, order type, hold/exit decision.
  • Reward -- the feedback signal that tells the agent if it's doing well. This is the most important design decision in the entire system.
  • Policy -- the learned mapping from state to action. After training, the policy is what you deploy.

As @NJAMC noted while researching adaptive algorithm approaches, the concept of "adaptive reinforcement learning" for execution appeared in academic literature on FX trading as early as 2012 — using market feedback to adjust execution behavior in real time. The idea isn't new. The practical implementation at production quality is what's hard.

“Years ago I started working on some deep learning experiments centered around Automated Trading. The approach that maps most naturally to sequential trading decisions is one where the system learns from its own feedback rather than from labeled examples.”

The Four-Component Design Decision #

Before writing a single line of code, four decisions have to be made. Get them wrong and training will produce something that looks good in simulation and bleeds money live.

1. Define the Scope Narrowly. The biggest mistake in RL for futures trading is trying to make it do everything — find alpha, size the position, time the entry, manage the exit. The implementations that actually work in production are scoped tightly: execution optimization, position management, or sizing — not all three at once.

2. State Space Design. State quality matters more than algorithm choice. An excellent state representation with a mediocre algorithm beats a terrible state representation with the best algorithm available.

3. Reward Function Design. The single most important RL decision. Get this wrong and nothing else matters. The reward function is the biggest driver of whether an RL system learns something useful or learns to improve a proxy metric that looks good in simulation and destroys capital live.

4. Algorithm Selection. PPO, SAC, and DQN are the three practical options for futures RL. The algorithm choice matters less than the state and reward design, but it's worth understanding what each is optimized for.

State Space Design: What You Feed the Agent #

State quality matters more than algorithm choice. An excellent state representation with a mediocre algorithm beats a terrible state representation with the best algorithm available. The state vector needs to answer two questions: "what is the market doing?" and "what is my position doing?" Most implementations that fail ignore the second question.

Diagram showing three categories of RL trading agent state features: market features (OHLCV, ATR, volume), position features (current position, unrealized P&L, drawdown), and regime features (trend, volatility, time of day)
State space design: three feature categories the RL agent observes at each decision step

Three categories of features, in order of importance:

Market features. The price/volume signals your agent observes: normalized price delta from N-period mean, OHLCV bars across multiple timeframes (5/15/60-minute lookback), ATR-based volatility, volume ratio relative to average, and bid-ask spread normalized to ATR. If you have DOM access, bid-ask spread and order book imbalance are highly predictive at the 1--5 minute level. As @rleplae's deep learning ES experiments showed, combining raw price features with microstructure signals improved classification accuracy much over price-only inputs.

Position features. This is the second "what" that most agents miss. Current position size (normalized to max position), unrealized P&L in ATR units, distance from entry price in ticks, time in position, current drawdown since entry, daily P&L progress toward target/limit, and margin utilization. An agent that can't "see" its current position is flying blind on risk.

Regime features. Often undertrained but high explanatory value. Trend slope (EMA crossover normalized), volatility percentile (current ATR vs 90-day), time-of-day and day-of-week as cyclical sin/cos encodings, session phase (open/mid/close), proximity to scheduled economic releases, and inter-market correlation signals.

Tip

Normalize everything. Raw price values in the 4000--5000 range will overwhelm gradient-based training. Use z-scores, percentile ranks, or regime-normalized deltas. A 1-point ES move means something different in a 10-point-range day versus a 60-point-range day. The state must encode that difference.

Microstructure features (when available). If you have order book access, bid-ask spread and order book imbalance are highly predictive at the 1--5 minute level. Delta confirmation — whether buying or selling is dominating the tape — gives the agent information about the nature of price moves.

Reward Function: The Most Important Design Decision #

Get this wrong and everything else doesn't matter. The reward function is the single biggest driver of whether an RL system learns something useful or learns to improve a proxy metric that looks good in simulation and destroys capital live.

Comparison of problematic versus production-grade reward functions for trading RL agents, showing formulas for risk-adjusted Sharpe-based rewards with drawdown penalties and hard constraints
Bad vs good reward function design -- the single most important RL decision for trading

The common failure modes:

  • Raw P&L per step -- incentivizes overtrading, ignores risk-adjusted returns
  • Win rate maximization -- pushes losses into drawdowns, lets winners run inappropriately
  • End-of-episode P&L -- sparse reward signal, agent randomly explores for thousands of steps before learning anything
  • Benchmark beating -- breaks when market regime changes or during correlated crashes

A production-grade reward function looks like this:

Step reward = Sharpe contribution, calculated as: pnl_t / (rolling_volatility + ε), minus transaction cost penalty (n_trades × cost_per_trade), minus drawdown penalty (λ × max(0, drawdown - threshold)), scaled by current position risk.

As @Hulk documented over two years of live ML trading, even well-resourced implementations take considerable time to develop reliable reward shaping that doesn't create unexpected edge cases. The reward function is never complete on the first design. It evolves.

“System ran OK in real-time. It takes 2-5 seconds for all models to spit out predictions which is fine since it's only once per hour. The reward signal has gone through multiple iterations — the first version optimized for win rate, which produced a system that cut winners short and let losers run.”

These aren't soft penalties in the reward function. They're hard stops. The agent can push against them, but it can't cross them. As @kevinkdog emphasized repeatedly in his bot trading journals, the unexpected behaviors that kill systems aren't the ones you designed for — they're the ones the agent discovers. Hard constraints contain the blast radius.

Algorithms: PPO, SAC, DQN, and When to Use Each #

Algorithm selection matrix comparing PPO, SAC, and DQN reinforcement learning algorithms across action space, sample efficiency, training stability, best use cases, and main risks for futures trading
PPO vs SAC vs DQN comparison matrix across stability, sample efficiency, and use case

PPO (Proximal Policy Optimization) is the right default for most futures RL implementations. It's stable, well-documented, and handles both discrete and continuous action spaces. The "proximal" part means it limits how much the policy changes on each update — preventing the catastrophic policy collapse that plagues simpler policy gradient methods. On-policy learning means it only trains on freshly generated experience, which is sample-inefficient but stable.

SAC (Soft Actor-Critic) is the better choice when your action space is truly continuous — position sizes that can range from -10 to +10 contracts in fractional steps, or order placement decisions with sub-tick precision. SAC is off-policy, meaning it can learn from stored experience (replay buffer), which makes it much more sample-efficient than PPO. The tradeoff: entropy collapse in non-stationary markets. SAC's entropy maximization objective can cause the policy to become overconfident in regime transitions.

DQN (Deep Q-Network) is the legacy choice, suitable only for discrete action spaces. If your action space is "buy 1/buy 5/sell 1/sell 5/hold," DQN can work. But the action space explosion problem — where adding more contract sizes exponentially increases the number of Q-values to estimate — limits DQN's applicability in most production futures systems.

Sample Efficiency: RL's Fundamental Problem in Futures #

Chart illustrating the sample efficiency problem in RL trading: required environment steps (10 million for PPO) versus available market data (120,960 steps per year for 1-minute bars), with mitigation strategies
The sample efficiency gap: RL needs 10M steps but markets provide 120k steps/year

Here's the math on why RL is hard in markets. A typical PPO implementation needs tens of millions of environment steps to train a policy that handles even moderate complexity. At 1-minute bars with 8 hours of trading, that's 480 steps per day, 105,000 steps per year. To get to 10 million steps, you'd need roughly 95 years of data. You don't have that.

The standard response is simulation: run the environment faster than real time, generate synthetic paths from historical data, use bootstrapped market scenarios. This works to a point, but it introduces the simulator exploitation problem — the agent learns to exploit imperfections in your slippage model, your fill assumptions, your end-of-day settlement logic. Those aren't trading edges, they're simulator bugs. And they're invisible until you go live.

Two-panel diagram showing common simulator exploitation patterns in RL trading (fill timing artifacts, slippage gaming, lookahead bias) on the left versus detection methods and mitigations on the right
Simulator exploitation: common RL agent behaviors that look profitable in simulation but fail live

Mitigation strategies that actually work:

  • Domain randomization -- vary simulator parameters during training (slippage 0.5--3 ticks, spread 0.25--2 ticks, latency 0--500ms). Forces robustness to parameter uncertainty.
  • Synthetic path generation -- bootstrap market scenarios from historical regimes and volatility distributions
  • Transfer learning -- pre-train on correlated instruments (ES → NQ → YM → RTY), then fine-tune on target
  • Curriculum learning -- start with simple, low-noise markets; gradually add complexity

As @Trembling Hand's analysis of how quickly algos go bad in live trading points directly at this issue — strategies that worked in specific conditions fail when those conditions shift. An agent trained on a single simulator assumption will be brittle when live conditions deviate. Domain randomization is the structural solution.

Building a Realistic Trading Environment #

The environment is where most implementations fail. Not in the algorithm. Not in the reward function. In the environment.

Architecture diagram of a production reinforcement learning trading environment showing required components: order matching engine, slippage model, transaction costs, session boundaries, margin handling, regime tagging, risk stops, and latency simulation
Components every production RL trading environment must accurately model

A realistic futures RL environment must model:

  • Order matching engine -- queue priority, partial fills, rejections at limit price
  • Slippage model -- 0.5--2 tick realistic slippage based on volatility and volume (never fixed 0 ticks)
  • Transaction costs -- round-turn commissions, exchange fees, NFA costs
  • Session boundaries -- pre-market, RTH, after-hours, contract rolls at expiry (the most commonly missed)
  • Margin and capital -- intraday vs overnight margins, mark-to-market P&L
  • Latency simulation -- API delays, connection latency, cancellation mechanics
“Running backtests on renko bars or other exotic bar types that cannot be properly simulated”

is a fundamental danger — and the same applies to any environment that doesn't accurately represent actual market mechanics. The environment IS your training data. Garbage in, garbage out.

Warning

The most dangerous environment bug is the silent one — where the environment silently handles an edge case incorrectly, and the agent learns to exploit that edge case without you knowing. Test your environment against live market data before any training. Run a simple buy-and-hold agent and verify its P&L matches what you'd expect from the actual prices.

Walk-Forward Validation and Stress Testing #

Walk-forward validation timeline for reinforcement learning trading systems showing train/validation/out-of-sample splits with annotations explaining why temporal ordering is mandatory and random shuffling destroys the Markov property
Walk-forward validation protocol for RL: why standard ML validation fails

The validation protocol is where supervised ML and RL diverge most sharply. In supervised ML, you split your data into train/validate/test, run your model, check accuracy. For RL, standard train/test splits fail for a fundamental reason: episodes are temporally ordered. Shuffling them destroys the Markov property — the assumption that the future depends only on the current state, not on the path to get there.

Walk-forward RL validation requires at minimum three training windows with held-out validation periods between them, plus a final out-of-sample test period that is never touched during development. Five critical differences from supervised ML validation:

  1. No random shuffling -- train on 2021→test on 2022, never shuffle episodes
  2. Episode boundary awareness -- episodes must end on natural market boundaries
  3. Hyperparameter tuning danger -- tune once on val 1, freeze, never re-tune between windows
  4. Regime distribution check -- verify each training window contains trend/range/volatile days
  5. OOS is sacred -- touch it once; that single result is your performance estimate

Stress testing beyond walk-forward: re-run with 2× and 3× assumed slippage. If performance degrades by more than 20%, the strategy is dependent on unrealistic fill assumptions. As @kevinkdog noted in his analysis of sustained algo success: the edge in a backtest "is noise in the data" unless the strategy can survive when market conditions are worse than assumed.

Real-World Applications: Where RL Works and Where It Doesn't #

Matrix ranking five reinforcement learning use cases in futures trading by documented production success: execution optimization (5/5), dynamic position sizing (4/5), stop placement (4/5), directional alpha (2/5), full automation (1/5)
RL use case success matrix: execution optimization scores highest, full automation scores lowest

Execution optimization: best documented success. A large-order execution agent — slicing 500 ES contracts over 30 minutes to minimize market impact — is exactly the kind of problem RL was built for. The environment is well-defined, the objective is clear, and the sequential nature of order placement creates the kind of action interdependence where RL adds genuine value over TWAP/VWAP.

Dynamic stop placement: promising. Given an open position, learning when to trail, when to hold, and when to cut is a sequential decision problem that rules handle poorly. A rule says "trail stop 8 ticks." RL can learn to trail tighter in trending conditions and looser in choppy ones. The environment is compact, the reward signal is clean, and the feedback is fast.

Price chart showing how reinforcement learning adaptive stops loosen during trending markets to capture more move and tighten during choppy markets to reduce whipsaw losses, compared to fixed rule-based stops that use constant parameters
RL adaptive stop placement vs fixed rule-based stops across trending and choppy market regimes

Several elite NexusFi algorithmic traders have explored versions of this, with the common finding that adaptive stop behavior handles range vs. trend day transitions better than fixed parameters.

Directional alpha generation: hard to justify. The question is always "does RL outperform a well-designed supervised ML signal + threshold rule?" The honest answer from practitioners is: rarely, in a consistent and explainable way. @NJAMC's TensorFlow work and @rleplae's ES neural network experiments represent years of effort by capable researchers. The results are real but fragile — good in specific conditions, unreliable across full market cycles.

“New approach with deep learning with Keras and Tensorflow. ES 2016: 16,000 trades, 64% success rate. Combining microstructure signals improved accuracy significantly over price-only inputs. The system works but requires careful regime monitoring — when market character shifts, the signal degrades faster than a rule-based system would.”

The Hybrid Architecture: Where RL Fits in a Real System #

The implementations that work in production don't use a single RL agent for everything. They use a hybrid architecture where RL owns the layers it's best at and rule-based or supervised ML systems own the rest.

@Rovo27's MNQ automation work reflects this pattern: sophisticated analysis feeding into platform-native execution code, with the research layer and execution layer clearly separated. The hybrid approach prevents any single failure mode from taking down the entire system.

Layered diagram of production trading system architecture showing RL role in position sizing, execution optimization, and position management layers, with alpha generation above and hard risk constraints below as non-RL components
The hybrid trading architecture showing where RL fits across 5 system layers

The five-layer architecture:

  1. Alpha generation layer -- directional signal from supervised ML, rules, or discretionary judgment. RL is not recommended here.
  2. Position sizing layer -- RL can own this. Given signal strength and current portfolio state, learn optimal contract count dynamically.
  3. Execution layer -- RL excels here. Minimize slippage on large orders, adapt to microstructure.
  4. Position management layer -- RL can own this. Dynamic stop placement and scale-out timing across regime transitions.
  5. Risk management layer -- never RL. Hard-coded constraints: max position, daily loss limit, margin management. The circuit breaker that contains RL blast radius when policy fails.

The principle: RL excels at sequential optimization of well-defined sub-problems with clear reward signals. Signal generation is a prediction problem — better suited to supervised ML or discretionary analysis. Risk enforcement is a constraint problem — should never be learned, always hard-coded.

Deploying RL: Shadow Mode, Paper Trading, and Going Live #

Timeline showing four-stage reinforcement learning deployment protocol: simulator training with 10M+ steps, shadow mode running live but logging only for 30 days, paper trading for 30 sessions, then live at minimum 1 contract for 60 days before scaling
Four-stage RL deployment protocol: simulation training to shadow mode to paper trading to live

The deployment pipeline is where overconfidence kills systems that actually learned something useful.

Shadow mode first. Run the policy in production but don't place orders — just log what it would have done. Compare the shadow P&L to the simulator P&L. If they diverge much, you have a sim-to-real gap that needs to be resolved before real capital goes at risk. Common causes: your slippage model was too optimistic, the live data feed has a different latency characteristic than training data, or there are edge cases in session boundaries that the simulator didn't handle.

30 days minimum for each stage. Two weeks is not enough. Market character varies across weeks — trend weeks, choppy weeks, event-driven weeks. You need a sample that contains all of them. Any deployment decision made on less than 30 days of shadow data is gambling, not validation.

Establish performance bounds before going live. Before you start shadow mode, write down the specific P&L range and maximum drawdown you expect based on simulator performance, then discount by 30% for sim-to-real gap. If shadow mode comes in below that discounted number, you go back — you don't forward-rationalize and proceed anyway.

@kevind's AI inside NinjaTrader strategies thread documented exactly this challenge: building confidence intervals around expected system behavior so you can distinguish genuine edge degradation from normal drawdown. The same logic applies to RL systems — you need a quantitative framework for "the policy is behaving as expected" vs. "something is wrong."

“The unexpected behaviors that kill systems aren't the ones you designed for — they're the ones the agent discovers. There's usually some degradation going live which is really a change in expectancy. The edge in a backtest is noise in the data unless it can survive when conditions are worse than assumed.”

The Bottom Line #

RL for futures trading is real, technically demanding, and narrowly applicable. The implementations that produce durable results in production are not the ones that tried to build a single "trading AI" that does everything. They're the ones that identified a specific sequential decision problem — execution optimization, position sizing, adaptive stop placement — built a realistic environment that models that problem accurately, designed a reward function that encodes the right objective, and validated through temporal walk-forward windows before any real capital touched it.

The failure cases are consistent. Overscoped RL agents that try to handle alpha generation, sizing, and execution simultaneously. Simulator exploiters that learned slippage arbitrage, not market edges. Reward functions that produced locally optimal behavior that globally destroyed capital. Validations that passed wall-clock time gates without passing actual statistical gates.

If you're starting with RL for futures, the right entry point is execution optimization on an existing strategy you already know works. You have a working directional signal. You have a position sizing rule. Your edge is clear. Now build an RL execution agent whose sole job is minimizing slippage on that known signal. That's the smallest scoped problem with the clearest reward signal and the most direct path to validating that your RL infrastructure actually works before you put it in charge of anything more critical.

Build the infrastructure right. Validate it right. Then, and only then, expand the scope.

Citations

  1. @NJAMCTensorFlow Intelligent Trading Thread (2019) 👍 7
    “Years ago I started working on some deep learning experiments centered around Automated Trading. The approach that maps most naturally to sequential trading decisions is one where the system learns from its own feedback rather than from labeled examples.”
  2. @rleplaeRon's Tensorflow experiment (2017) 👍 5
    “New approach with deep learning with Keras and Tensorflow. ES 2016: 16,000 trades, 64% success rate. Combining microstructure signals improved accuracy significantly over price-only inputs.”
  3. @rleplaeRon's Encog scoring (neural networks) (2014) 👍 9
    “What I am doing is recognition -- the neural network learns which signals work and which don't. Training the network on historical signal quality, not direction prediction.”
  4. @HulkMachine Learning Journal (2025) 👍 2
    “System ran OK in real-time. The reward signal has gone through multiple iterations -- the first version optimized for win rate, which produced a system that cut winners short and let losers run.”
  5. @bobwestHow quickly do algos go bad? (2021) 👍 10
    “Strategies that worked in specific conditions fail when those conditions shift. The market starts to back and fill, and any profitable trending system blows up.”
  6. @kevinkdogKevin's TST Combine Journal (2013) 👍 3
    “The edge in a backtest is noise in the data unless the strategy can survive when market conditions are worse than assumed. Unexpected behaviors that kill systems aren't the ones you designed for.”
  7. @jrobertburgoyneHow quickly do algos go bad? (2021) 👍 10
    “I have some visibility into this topic from being IT support for a few professional investors. You need a quantitative framework for distinguishing genuine edge degradation from normal drawdown.”
  8. @rleplaeRon's Tensorflow experiment (2017) 👍 3
    “The system learns from multiple timeframes and market conditions. Feature engineering for the neural network -- which inputs actually predict future price movement at the relevant horizon.”
  9. @rleplaeRon's Encog scoring (neural networks) (2014) 👍 12
    “The project I've been working on: creation of an automated BOT for trading. The network architecture, training methodology, and validation approach are all critical decisions that interact.”
  10. @tigertraderCommon sense trading decisions (2011) 👍 10
    “Analyzing the market for trades should begin with tests for stationarity. Rule-governed exploitation of market inefficiencies requires understanding when those inefficiencies exist and when they don't.”
  11. Performance Functions and Reinforcement Learning for Trading Systems (1999)
  12. Deep Reinforcement Learning for Trading (2019)

Help Improve This Article

NexusFi Elite Members can help keep Academy articles accurate and comprehensive.

Unlock the Full NexusFi Academy

832 in-depth articles across 17 categories — written by traders, backed by community research. Includes knowledge maps, citations with community excerpts, and the ability to help improve articles.

We add approximately 297 new Academy articles every month and update approximately 614 with fresh content to keep them highly relevant.

Strategies (91)
  • Order Flow Analysis
  • Volume Profile Trading
  • plus 89 more
Market Structure (44)
  • Initial Balance: The First Hour That Defines Your Entire Trading Day
  • Opening Range: Why the First 15 Minutes Define Your Entire Trading Session
  • plus 42 more
Concepts (44)
  • Futures Order Types: Market, Limit, Stop, and Conditional Orders
  • High Volume Nodes & Low Volume Nodes
  • plus 42 more
Exchanges (44)
  • Futures Exchanges: Understanding Where and How Futures Trade
  • plus 42 more
Indicators (56)
  • Delta Analysis & Cumulative Volume Delta (CVD)
  • Market Internals: Reading the Broad Market to Trade Index Futures
  • plus 54 more
Risk Management (44)
  • Risk Management for Futures Trading
  • Position Sizing Methods for Futures Trading
  • plus 42 more
+ 11 More Categories
832 articles total across 17 categories
Instruments (60) • Automation (44) • Data (43) • Platforms (54) • Psychology (45) • Prop Firms (45) • Brokers (44) • Prediction Markets (43) • Regulation (44) • Cryptocurrency (44) • Infrastructure (43)
Become an Elite Member


© 2026 NexusFi®, s.a., All Rights Reserved.
Av Ricardo J. Alfaro, Century Tower, Panama City, Panama, Ph: +507 833-9432 (Panama and Intl), +1 888-312-3001 (USA and Canada)
All information is for educational use only and is not investment advice. There is a substantial risk of loss in trading commodity futures, stocks, options and foreign exchange products. Past performance is not indicative of future results.
About Us - Contact Us - Site Rules, Acceptable Use, and Terms and Conditions - Downloads - Top