NexusFi: Find Your Edge


Home Menu

 





Trading Journal (Neural Network Production Pipeline Model & Ninjatrader8 Strategy)


Discussion in Trading Journals

Updated
    1. trending_up 54 views
    2. thumb_up 2 thanks given
    3. group 2 followers
    1. forum 2 posts
    2. attach_file 2 attachments




 
Search this Thread
  #1 (permalink)
 
PlayingGoFish's Avatar
 PlayingGoFish 
Denver, Colorado
 
Experience: Intermediate
Platform: NinaTrader 8
Trading: ES, Gold, Oil
Frequency: Many times daily
Duration: Hours
Posts: 25 since May 2016
Thanks Given: 3
Thanks Received: 20

Automated post: generated and posted by my trading pipeline's scripts. Every figure is computed from the trade log; the commentary is written by a local AI model and checked against those figures before posting.

Strategy journal - an automated intraday stock strategy

This is a daily journal of an automated strategy I built and run myself. Every entry is generated live from the Ninjatrader strategy: the day's trades and results, how the day compared with what the model expected, and running totals. The figures are computed from the logs, not typed in, and losing days get posted the same as winning ones.

Account: a simulated account (SimDx) - no real money yet. Position sizes follow from the base simulation account under the model's own sizing rules, so results here are shown in percent rather than dollars - each trade as a return on its position, each day as a share of the account.

In short

- US stocks, intraday only - every position is flat by the close.
- Entries come from classic intraday setups - mostly mean reversion: Bollinger-band and IBS reversals, RSI and multi-indicator divergences and the like - on 5- to 30-minute bars.
- A model trained on every past occurrence of those setups scores each new one as it appears; only the highest-scoring are taken, one per stock.
- Each trade exits on its setup's own target, a stop at half the stock's daily ATR, or the close - the model chooses which exit each trade uses.
- Everything that decides those trades is rebuilt every night by a pipeline that runs outside the trading platform.

At the time of writing

As of 2026-10-20, build 20261021_204709. Every figure here can change with the next build - the pipeline re-decides them nightly.

 
Code
Historical setup occurrences studied              26.7 million (2016-10-06 to 2026-10-20)
Training rows (each occurrence under both exits)  53.5 million
Inputs researched / used by the model             184 / 56
Distinct indicators among them                    43
Bar timeframes they are measured on               5/15/30/60 minutes, plus 22 market and context inputs
Setup families / setup x timeframe researched     38 / 86
Setups traded by this build                       6
Alternative exit policies tested                  8
Walk-forward record                               19 half-years since 2017-07-06
Symbol universe / with full research data         2,689 / 2,096
Symbols streamed live (cap)                       1,000
Book size vs the account                          3.40x deployed, SPY-risk target 2.74x
Current model                                     a neural network blended with XGBoost, layers 128-64-32, 8 networks x 8 seeds
The data and the symbols

- Universe. A separate script builds the symbol list from the exchange listings: US common stocks above a minimum price and market capitalisation, ranked by size. The research uses every symbol in it with enough history.
- Live list. NinjaTrader can only stream so many symbols, so the live list is a capped subset, re-ranked at every build by how the model has actually traded each symbol over the previous two years.
- Market data. One-minute bars come through NinjaTrader 8 from the broker's feed. After every close a history keeper fills any gaps, and the pipeline copies the bars into its own store, plus SPY for market context. A day only enters the research once its bars are complete.

Research - what is worth trading

- Every setup is run over every symbol on every day of the record, at each bar timeframe, and every occurrence is kept as a candidate trade with its outcome under both exits - hold to the close, or the setup's own exit. Outcomes are measured in units of the stock's daily ATR, after an assumed trading cost, so a quiet stock and a wild one are comparable.
- A setup is only kept if it held up in every half-year of the record, not just on average - an edge that came from one good stretch is discarded.
- Each candidate is described by indicator readings taken at the moment it fired - momentum, trend, volatility, range and mean-reversion measures on several bar timeframes - plus the market's state (SPY) and the calendar. The inputs that carry the most information are kept; the rest are dropped.
- Exits are researched separately: alternative exit policies are replayed over the same trades every build and adopted only if they win consistently out of sample.

Training - on the GPU, outside NinjaTrader

- Training runs every night after the close on the GPU (PyTorch), as its own process entirely outside NinjaTrader. NinjaTrader never trains anything - it only runs the finished model.
- The model learns to predict each candidate's net result, in daily-ATR units, under each exit. Several network shapes are tried and compared, and the chosen one is trained as an ensemble over several random seeds so no single lucky run decides.
- A gradient-boosted tree model (XGBoost) is measured beside it every night and blended in only when the evidence across builds says, with high confidence, that it adds something.

Evaluation - walk-forward, never in-sample

- Every result quoted here is walk-forward: the record is cut into half-years, and each half-year is traded by a model trained only on the data before it. Nothing is scored on data the model was trained on.
- The selection rules - how many trades a day, how high a score must be, how positions are sized - are chosen the same way: each half-year with the settings that looked best before it, never with hindsight.
- A build has to pass a gate on that out-of-sample record before it can be deployed. Its results are also compared with NinjaTrader's own backtests to measure what real fills cost.

Deployment - a separate step, before the open

- A passing model is exported to ONNX and checked number-for-number against the trained network.
- Inside NinjaTrader a C# engine computes the same indicator inputs as the research code - verified to match it on every decision - and runs the model on each setup as it fires.
- The pipeline writes a deployment record: the model, the selection rules, the live symbol list and the sizing. A separate pre-market update applies it to NinjaTrader before the session, so nothing changes mid-day.
- Every night the previous session is replayed through the model that traded it, to check that live took the trades the model itself would have chosen, and every live fill is compared with the price the model assumed.

What the pipeline decides every night

Because the model is rebuilt after every close, these are chosen from the results rather than set by hand:
- which setups are traded;
- how many trades a day are allowed;
- how the positions are sized and how large the book is;
- which symbols are streamed live.
Each daily entry names the build that traded it and what that build expected.

How it has done - walk-forward

Out of sample since 2017-07-06, simulated with an assumed trading cost. The record below is as of 2026-10-20 (build 20261021_204709); every daily entry carries the current one.

Year by year, at SPY's risk (2.74x the book) - each year's profit over the book, as the build's Returns view shows it - beside SPY bought and held:

 
Code
Year  Strategy     SPY  Difference  Strategy DD  SPY DD
----  --------  ------  ----------  -----------  ------
2017     +6.3%   +9.9%       -3.6%        -7.3%   -2.1%
2018    +30.2%   -6.3%      +36.5%       -10.1%  -18.0%
2019    +20.1%  +28.7%       -8.6%        -4.7%   -6.6%
2020    +36.1%  +16.1%      +20.0%       -19.4%  -34.2%
2021    +35.8%  +27.0%       +8.7%        -8.7%   -5.4%
2022    +13.7%  -19.5%      +33.2%       -12.0%  -25.4%
2023    +14.6%  +24.3%       -9.7%       -11.4%  -10.3%
2024    +33.9%  +23.3%      +10.7%        -7.6%   -8.4%
2025   +109.6%  +16.4%      +93.3%        -4.0%  -19.0%
2026    +68.2%  +12.8%      +55.4%        -2.9%   -9.1%
Shown at SPY's risk (2.74x the book): each period's profit over the book at that size - the pipeline's own measure, as its Returns view shows it; SPY bought and held. Over the full years 2018-2025 the strategy averaged +36.8% a year against SPY's +13.8%; worst drawdown -19.4% of the account against SPY's -34.2%; Sharpe 2.15 against 0.77. The pipeline sizes the book toward SPY-level risk - currently 2.74x: above it the book is cut at once, below it raised only as live results confirm the walk-forward. Positions are intraday and flat by the close, so the leverage is never held overnight.

What each entry will show

- the day: trades, result, win rate, profit factor, longs vs shorts, and every trade with its setup, exit and return;
- live performance since this journal began - week, month and year to date;
- the day against what the model that traded it expected, and a running live-vs-expected chart;
- the model's walk-forward record, year by year and month by month, against SPY;
- whether live took the trades the model itself would have chosen.

Caveats

Walk-forward results are a simulation: real fills, slippage and data differ, and live results are the only ones that count - they will be posted as they come. Nothing here is advice or a recommendation to trade anything.


Attached Thumbnails
Click image for larger version

Name:	model_20261021_204709.png
Views:	12
Size:	66.5 KB
ID:	345242  
Visit my NexusFi Trade Journal Started this thread Reply With Quote
Thanked by:

Can you help answer these questions
from other members on NexusFi?
My Rant with AMP Futures
Trading Reviews and Vendors
I developed a free AI-powered (Kronos) forecasting indic …
The Elite Circle
[WTS] ATAS Lifetime ULTRA license – EU buyers only – …
Platforms and Indicators
No book, only a stair: journaling fills where price move …
Cryptocurrency
requesting .nrd replay files from 2026 spy and qqq
The Elite Circle
 
Best Threads (Most Thanked)
in the last 7 days on NexusFi
Would you consider buying or leasing an algo?
6 thanks
Trading psychology articles
4 thanks
Big Mike in Ecuador
2 thanks
Trading Journal (Neural Network Production Pipeline Mode …
2 thanks
The Scalpers Journey
2 thanks
  #2 (permalink)
 
PlayingGoFish's Avatar
 PlayingGoFish 
Denver, Colorado
 
Experience: Intermediate
Platform: NinaTrader 8
Trading: ES, Gold, Oil
Frequency: Many times daily
Duration: Hours
Posts: 25 since May 2016
Thanks Given: 3
Thanks Received: 20

Automated post: generated and posted by my trading pipeline's scripts. Every figure is computed from the trade log; the commentary is written by a local AI model and checked against those figures before posting.

2026-10-21 - 1 trades, +0.04% on the account

The day was quiet. One trade, a short on ROKU, entered after 10am on the BB_REV30@5 structure. The position returned 0.424 percent and added 0.044 percent to the account. That is both the best and the worst trade of the day, because it is the only trade. No losers, no profit factor to calculate, just one short that closed in the right direction.

Because this is the first day of the journal, the week, the month, and the year to date all read the same: 0.044 percent, one trade, a 100 percent win rate. I am not going to dress that up. A single green day on a single name is not a pattern. The year-to-date number carries no more weight than the daily number right now, and I will not pretend it does. It will, in time, but not today.

What I will note is that the model is built for fifteen trades a day across three structures, and it took one. IBS_X@15 and RSI_DIV@15 never triggered. That tells me something about the tape on this particular day, not about the model. I will let the next few days do the talking.

The day

 
Code
Trades              1
Result              +0.04% of the account
Win rate            100.0%
Profit factor       -
Avg trade           +0.42% on the position
Avg winner / loser  +0.42% / -
Best / worst trade  +0.42% / +0.42%
Shorts              1 trades, +0.04% of the account, win 100.0%


 
Code
                             Model   Today  Difference
---------------------------  -----  ------  ----------
Trades                           -       1           -
Win rate                         -  100.0%           -
Avg trade (on its position)      -  +0.42%           -
Result (on the account)          -  +0.04%           -
Profit factor                    -       -           -
Trades

Return = the trade's result on its own position.

 
Code
Time      Symbol  Side   Setup        Entry    Exit  Exit by  Return
--------  ------  -----  ----------  ------  ------  -------  ------
14:04:36  ROKU    SHORT  BB_REV30@5  158.04  157.37  TGT      +0.42%
Live performance

Counted from the journal's first day, 2026-10-21, a simulated account (SimDx). Result and per day: % of the account; per trade: % on the position.

 
Code
Period                                       Days  Trades  Result  Per day  Per trade     Win  PF
-------------------------------------------  ----  ------  ------  -------  ---------  ------  --
Today                                           1       1  +0.04%  +0.044%    +0.424%  100.0%   -
Since journal start (= Week / Month / Year)     1       1  +0.04%  +0.044%    +0.424%  100.0%   -
Since the start: live +0.04% of the account against - the trading builds expected (1 session).


Visit my NexusFi Trade Journal Started this thread Reply With Quote
  #3 (permalink)
DrQumsieh
Bethlehem Palestinian authority
 
Posts: 6 since Oct 2026
Thanks Given: 0
Thanks Received: 4


Good to see a journal where the numbers come straight from the logs, losing days included. That's rarer here than it should be.

One thing that would make it even more useful to follow: next to each day's result, what a random entry would have done on the same symbols, same side, same holding time. I started doing that with my own ES ideas and it changed which ones I kept. A model can be right on direction and still not beat random once real fills and commission go in, especially on single-stock shorts where slippage adds up.

Also curious how you split the data for the network. Is the sim period completely out of sample, or did the model see any of it in training?

Following along.


Reply With Quote




Last Updated on October 22, 2026


© 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
no new posts