The Deep Signal Library is the premier platform for creating machine learning models with NinjaTrader. Years of research and development time have gone into this revolutionary platform that automates creating machine learning models for your strategy. Using your indicator data as well as optional instrument data, the Deep Signal Library uses the Microsoft Auto.ML machine learning platform to search for machine learning algorithms that will create an optimized model for trading your strategy. 

Imagine if you could predict with some percentage of accuracy that in 10 bars the instrument you are trading will go up by 15 ticks. Would you buy it before it goes up? That is the premise for creating the Deep Signal Library. It uses machine learning to analyze the instrument data to find opportunities to enter a profitable trade. You can customize how far in the future, how many ticks up or down and the size of the window of data before the long or short signal to create the machine learning model. The window of data before the signal is used to train the model and may be adjusted from 1 to 50 bars.

The Deep Signal Library will automatically create the necessary data files, cleanse the data for bad ticks or missing data and start searching for the best machine learning algorithm to use for your particular data set. You can set how long you would like your computer to optimize the model. Please note, not all machine learning models that are created with the Deep Signal Library are suitable for live trading. Please backtest your strategy appropriately.



Installation is a breeze with just one installation file that installs the Deep Signal Library, the Microsoft Auto.ML library as well as the sample NinjaTrader strategy files that can be modified to suit your needs. No need to import files into NinjaTrader. The installation can be downloaded from when your order is placed online.


Creating Your Strategy

The Deep Signal Library provides three NinjaTrader strategy files that can be modified to suit your needs for creating and using a machine learning model. The files are written in NinjaScript/C# and there are multiple calls to the Deep Signal Library to add data for creating a model such as AddDSTIndicator and AddDSTInstrument. AddDSTIndicator adds the indicator data you want to use. This can be either data that NinjaTrader provides such as Volume, MACD, RSI or Moving Averages, or you can use your own custom data series. AddDSTInstrument will add a new separate instrument's price series to the model.


How the Deep Signal Library Trains Your Machine Learning Model

The Deep Signal Library provides several parameters that can be adjusted to train your model. Here is the Settings area of the Strategy Analyzer in NinjaTrader of the parameters available that the user may modify. Of course, the trader may always modify the sample strategies to add additional parameters to suit their needs.


For the introduction, we are only going to cover a few parameters but more about the additional parameters may be found in the Deep Signal Library help.

The Deep Signal Library will look at a number of bars into the future to see if the instrument has gone up or down by a certain number of ticks. You can change the number of bars to look into the future and by how much the instrument has gone up or down. As an example, the parameters above would create a model based on wanting to enter a long trade if the instrument goes up 10 ticks (Ticks Up To Target) or a short trade if the instrument goes down 10 ticks (Ticks Down To Target) within 5 minutes (Bars To Target).

The Pre Signal Window Size is the window of time in bars that is used to create the machine learning model if the price reaches the Ticks Up To Target or Ticks Down To Target. This is a lookback period of time in bars from the trade entry or signal bar.

As another example, if the Bars To Target were set at 5 bars, Ticks Up To Target was set at 20 ticks and the Pre Signal Window Size was set to 10 bars . Here is a picture of a chart that shows the parameters in relation to a chart.

When the strategy is running, the model will look at the Pre Signal Window size, currently set at 10 bars to see if we should go long or sell short. If a go long or sell short signal is verified then we enter the trade at the opening of the Signal Bar. We set our profit target at 20 ticks and wait 5 bars to see if we hit our profit target. Of course, it is always up to the trader to set how many bars we wait to reach the profit target or how many ticks is the intended profit target.


 Chart Showing Data Windows


Testing the Deep Signal Machine Learning Model

Once we have created a new machine learning model, we'll want to run a backtest using data that was not used to create the machine learning model. We can do that by using the sample strategy provided in the installation. We need to add the same instrument and indicator data that was used to create the model. The DS Library will feed this data into the machine learning model that was created to determine if we get a long or sell short signal to enter a trade.

If we get a long or sell short signal, we enter a trade and depending on the trader's risk tolerance enter a stop market or stop limit order. We may also want to add additional factors that help determine if we should enter a trade.

The backtest is ran using NinjaTrader's Strategy Analyzer using the sample DSTPredictModelTest strategy or using the trader's own strategy that may be modified from DSTPredictModelTest. In this particular example we have the Long Profit Target and Short Profit Target set to 20 ticks and using a stop loss of 20 ticks as well. The provided example strategy is only intended to be used for illustration of the library only and should not be used in live trading.

Once you have created your Deep Signal machine learning model for your indicator or instrument data and have tested it to your satisfaction then the same strategy can be used for live trading. Please see our Risk Disclosures before running your live strategy.

If interested, there are additional advanced methods that can be used to control adding specific data sets for training your machine learning model. Please see Creating Custom Data Sets for more info.

With the addition of Deep Signal Indicators, you can now view your model's long and short trade entries in a chart. This allows the trader to quickly see when the model would predict a trade entry. The following chart uses Deep Signal Indicators to identify potential trade entries based on your machine learning model.

Using Multiple Machine Learning Models in One Strategy

Multiple machine learning models can be used in a single strategy. Each model can be trained separately and allows the trader the most flexibility in deciding when to enter a trade. Please see the Using Multiple Models in Strategies section for more information.

Permutation Feature Importance

The data that is used to create machine learning models is also known as features. Using Permutation Feature Importance can help screen features for their contribution to the model. This may help the trader decide if there are features that may or may not be valuable for the model.

Futures, foreign currency and options trading contains substantial risk and is not for every investor. An investor could potentially lose all or more than the initial investment. Risk capital is money that can be lost without jeopardizing ones financial security or lifestyle. Only risk capital should be used for trading and only those with sufficient risk capital should consider trading. Past performance is not necessarily indicative of future results.