Understanding Predictions, Orders, and Trades

Models on Criesnyse generate predictions, not trading signals. To measure model performance, these predictions must be interpreted into measurable actions. This creates three distinct concepts: Predictions, Orders, and Trades.

Understanding the relationship between these concepts is essential - predictions show what the model thinks, orders show how those thoughts translate into hypothetical position changes, and trades show the actual measurable results.

Predictions

What Models Output

Every trading day, models analyze current market data and output a classification for each tracked asset. These classifications are:

  • Neutral - No clear market condition identified

  • Buy - Conditions classified as favorable for long positions

  • Sell - Conditions classified as favorable for short positions

  • Strong Buy - Higher confidence classification for long positions or strong upward trend

  • Strong Sell - Higher confidence classification for short positions or strong downward trend

These are classifications of current market conditions based on patterns the model learned during training. They represent the model's assessment of the current state, not instructions for what to do.

How Models Learn

Models use supervised learning - during training, you label historical data by assigning market states (Buy, Sell, Neutral, Strong Buy, Strong Sell) to different time periods. The model learns to recognize patterns in the data that correspond to these labeled states.

When a model outputs "Buy," it's saying: "Based on patterns I learned, current conditions resemble situations where you labeled 'Buy' during training."

Critical point: Models learn to recognize the patterns YOU labeled, not necessarily profitable market conditions. If you label "Buy" at local price peaks, the model will learn that pattern. If you label "Sell" at local price bottoms, the model will learn that pattern too.

The model has no inherent understanding of profit or loss - it only learns to replicate the labels you provided during training. This means:

  • Good labels → Model learns profitable patterns

  • Poor labels → Model learns unprofitable patterns

  • Random labels → Model learns noise and performs randomly

Predictions are not:

  • Trading signals - Not instructions to "execute this trade now"

  • Price forecasts - Not predictions that "the price will go up"

  • Recommendations - Not advice that "you should buy this"

  • Guarantees - Not assurances the classification is profitable

Predictions are data points - classifications generated by a frozen algorithm applying learned patterns to current market features. The quality of those patterns depends entirely on the quality of your training labels.

Orders

From Predictions to Measurement

To measure model performance, predictions alone aren't enough. You need to track what would happen if someone consistently followed the model's classifications over time.

Consider: A model outputs "Buy" for 30 consecutive days. Is that 30 successful predictions? One successful prediction held for 30 days? Without interpreting predictions into position states over time, you cannot calculate meaningful performance metrics.

This is where orders come in.

Orders are the interpretation of sequential model behavior into simulated position changes. They answer the question: "If we maintained positions based on this model's classifications, what position changes would occur?"

Important: Orders are simulated for measurement purposes. Nothing is executed. The system tracks hypothetical position changes to calculate performance metrics, but you decide independently which predictions to act on and how to implement them.

How Predictions Become Orders

Each prediction type has specific position logic:

Prediction

Interpretation logic

Neutral

No position changes. Maintains current position or stays out if no position exists.

Buy

  • If short position open → Close short (exit by buying back)

  • If no position → Open long position

  • If long position open → Increase long position

Sell

  • If long position open → Close long (exit by selling)

  • If no position → Open short position

  • If short position open → Increase short position

Strong Buy

  • If short position open → Close short AND immediately open long with increased size

  • If long position open → Increase long position

  • If no position → Open long position

Strong Sell

  • If long position open → Close long AND immediately open short with increased size

  • If short position open → Increase short position

  • If no position → Open short position

The key difference: Buy/Sell close opposing positions without immediately opening a new one, while Strong Buy/Strong Sell close opposing positions AND immediately reverse into the new direction with increased size.

Order Types

The system generates these order types based on the logic above:

  • Initial Long Position - Opening the first long position

  • Initial Short Position - Opening the first short position

  • Increase Long Position - Adding to an existing long position

  • Increase Short Position - Adding to an existing short position

  • Close Long Position - Exiting a long position

  • Close Short Position - Exiting a short position

  • Close Long & Open Short - Reversing from long to short position (Strong Sell)

  • Close Short & Open Long - Reversing from short to long position (Strong Buy)

Example Sequence

Here's how predictions become orders:

Day 1: Prediction = Buy
       Current State = No position
       → Order = Initial Long Position

Day 2: Prediction = Buy
       Current State = Long position open
       → Order = Increase Long Position

Day 3: Prediction = Sell
       Current State = Long position open
       → Order = Close Long Position
       
Day 4: Prediction = Sell
       Current State = No position (closed on Day 3)
       → Order = Initial Short Position

Day 5: Prediction = Strong Buy
       Current State = Short position open
       → Order = Close Short & Open Long (aggressive reversal)

Day 6: Prediction = Neutral
       Current State = Long position open
       → No order (position maintained)

Day 7

Notice how:

  • Day 3: Sell closes the long, but doesn't open a short

  • Day 4: Another Sell prediction (now with no position) opens a short

  • Day 5: Strong Buy aggressively reverses from short to long in one move

  • Day 6: Neutral maintains the existing long position without changes

  • Day 7: Buy increases the existing long position

The same prediction generates different orders based on current state.

Trades

What Defines a Trade

A trade occurs when a position closes and results are realized.

  • Opening a position = Order only (no trade completed yet)

  • Increasing a position = Order only (trade still open)

  • Closing a position = Order AND completed trade (results realized)

This distinction is critical for calculating performance metrics.

Why Trades Matter for Metrics

Certain performance metrics can only be calculated from completed trades:

Win Rate - Percentage of profitable trades. Cannot be calculated from predictions or open orders because you need realized results. A position might look profitable today but close at a loss next week.

Average Win/Loss - Requires closed trades with final profit/loss amounts. Open positions have unrealized gains/losses that can change.

Profit Factor - Ratio of gross profits to gross losses across all completed trades. Requires knowing final trade outcomes.

Maximum Drawdown - Cannot be accurately measured without tracking complete trade cycles, including entries and exits.

Recovery Time - How quickly the model recovers from losing trades. Requires completed trades to identify losing periods and subsequent recovery.

Example Calculation


You cannot calculate win rate from the 9 orders - you need the 3 completed trades with realized results.

How They Work Together

The Complete Flow:

  1. Model generates Prediction - Algorithm analyzes current data and outputs classification (Buy, Sell, Neutral, etc.)

  2. System interprets Prediction → Order - Based on current prediction and previous position state, determines what position change occurs

  3. When Order closes position → Trade - Position exit creates completed trade with realized result

  4. Trades enable Metrics - Performance statistics calculated from completed trades

This flow runs continuously. Every trading day generates a new prediction, which may or may not create an order, which may or may not complete a trade.

Why This Structure

This three-layer structure serves specific purposes:

Predictions keep models focused on their core task: classifying market conditions based on learned patterns. Models don't need to know about position sizing, entry timing, or portfolio management.

Orders provide the framework to measure model effectiveness over time. By interpreting predictions into simulated position changes, we track what would happen if someone consistently followed the model's classifications.

Trades enable calculation of meaningful performance metrics. Without completed trades, you can't measure win rate, profit factor, maximum drawdown, or risk-adjusted returns.

This separation ensures models remain simple classification algorithms while still enabling rigorous performance measurement.

Practical Example

A model tracking AAPL generates predictions for 100 trading days:

  • 100 predictions generated (one per trading day)

  • 60 orders created (many predictions don't change position state)

  • 15 completed trades (positions opened and closed)

The model's performance metrics - win rate, average profit, maximum drawdown - all derive from those 15 completed trades, not the 100 predictions or 60 orders.

Key Takeaways

Three distinct concepts - Predictions classify conditions, orders interpret classifications into positions, trades are completed positions with results.

Label quality matters - Models learn exactly what you teach them through your labels. Good labels produce profitable patterns, poor labels produce unprofitable patterns.

Orders are measurement, not signals - The order framework exists to measure model performance, not to generate trading signals for you to follow.

Not all orders create trades - Opening and increasing positions create orders without completing trades. Only closing positions completes trades.

Metrics require trades - Win rate, profit factor, and similar metrics need completed trades with realized results. Open positions and predictions alone cannot generate these metrics.

Sequential interpretation - The same prediction can generate different orders depending on current position state. Context matters.

FAQ

Why use orders instead of just measuring prediction accuracy?

Prediction accuracy alone doesn't tell you if the model makes money. A model could be 60% accurate but lose money if its wrong predictions lose more than its right predictions gain. Orders and trades capture positions, timing, and the sequential nature of trading that predictions alone cannot represent.

What's the difference between Buy and Strong Buy?

Buy closes opposing positions without immediately opening a new one. Strong Buy aggressively reverses positions - it closes the opposing position AND immediately opens a new position in the opposite direction with increased size. Strong Buy is for aggressive trend reversals, while Buy is for more measured position changes.

Can I use predictions without caring about orders or trades?

Yes. Orders and trades are for measuring model performance and presenting metrics. You can use predictions however you want for your own trading decisions. Some users might enter positions on Buy and exit on Sell. Others might use predictions as one input among many. The order/trade framework is for performance measurement, not mandatory trading rules.

What happens to open positions at the end of backtesting?

Backtesting and live trading are measured separately. When live trading begins, the measurement system starts fresh. Open positions from the backtest period are not included in live performance metrics - only completed trades within each period contribute to that period's statistics.

If I track a model, do I automatically execute its orders?

No. Tracking a model gives you access to its predictions. You interpret those predictions for your own trading. The orders shown in the model's performance metrics are simulated for measurement purposes only. Criesnyse does not connect to brokerage accounts or execute trades.