Sometimes finding the pattern IS the challenge!

In our latest release, version 0.11.1.132, we use Single-Shot Multi-Box Detection (SSD) as described in [1] to find complex patterns in high frequency financial data streams and do so with CUDA 11.1.1 and cuDNN 8.0.5 recently released by NVIDIA.

Starting with less than 100 data items, we were able to build a training data set of around 600 items which were then used to train the model to detect both up and down trends in the SPY data.

Using proprietary plug-ins to the SignalPop AI Designer, the initial training data set was created by drawing ‘boxes’ on areas within the price stream that coincided with up or down trends.  Those boxes were then translated into locations within the actual data items then fed into the model for training.

After learning a small sub-set of items, the model was then able to identify new candidates that were visually inspected for accuracy and added to the training set if the patterns detected met a general criteria.  Once the data set was large enough, the model was trained for a longer training period thus allowing the model to improve its overall accuracy.

How Does This Work?
Detecting Complex Patterns with Single-Shot Multi-Box

Internally, the Single-Shot Mutli-Box learns to identify the patterns within the ground-truth boxed areas within each data item in the training set.  Each data item in turn contains over 36,000 data points pulled from surrounding tangential markets that lead to a greater understanding and depth of market momentum and directional change.  All data items are synced across time.

During training, the algorithm sorts through millions of potential boxes areas within these data items until the model learns the best fit boxed areas that match the patterns sought. Simultaneously, the model also learns the confidence level of the learned pattern matching the desired pattern.  At the top of the model, a stack of layers from the VGG16 model are used to help detect the actual patterns desired.

SSD Model

The glue that brings this model together and makes it work is the MultiBox Loss layer which learns to find the best matching patterns that fall within the ground-truth boxes originally annotated in the training set (e.g. drawn in the financial data price stream).

All together, the 105 layers making up the Single-Shot Mutli-Box algorithm creating quite complex model as shown below.

Full SSD Model

This model is already proving to be very helpful in just locating difficult to find, key patterns within very large data-sets.

New Features

The following new features have been added to this release.

  • CUDA 11.1.1/cuDNN 8.0.5 support added.
  • Upgraded all builds to .NET Framework 4.7.2
  • Upgraded C++ builds to SDK 10.0.19041.0
  • Optimized project loads by adding VerboseStatus=false as default.
  • Added DebugData and DebugCriteria support to SSD results.
  • Added resizing and cropping options to IMPORT.IMG dataset creator.
  • Added new button to easily activate only annotated images.
  • Added statistics and create support file operations to IMPORT.IMG dataset creator.
  • Improved folder selection on all dataset creators.
  • Added default ‘background’ label to IMPORT.IMG and IMPORT.VID dataset creators.
Bug Fixes

The following bugs have been fixed in this release.

  • Fixed bug where project would not update to the dataset dropped on it when using AnnotatedData layer.
  • Fixed bugs in IMPORT.IMG dataset creator.
  • Fixed bugs related to Dataset Creator not remembering current selection.
  • Fixed bugs related to running international versions of Windows 10.
  • Fixed bug related to adding annotated labels with duplicates.
  • Fixed bug in resources, removing duplicate GPU name.
  • Fixed bug caused when opening a project with no dataset.
  • Fixed bug occurring when using Label Balancing which could cause a crash.
  • Fixed bug caused when importing weights and locking up the dialog.
  • Fixed bug caused when training multiple projects at the same time with the same image database.
  • Fixed bugs related to setting labels on a dataset when annotating.
  • Fixed bugs related to opening a project with the CudaDnnDll.dll missing.
  • Fixed bug in TestMany when a label is detected outside the scope of labels.

For other great examples, including, Neural Style Transfer, beating ATARI Pong and creating new Shakespeare sonnets, check out our Examples page.


[1] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C. Berg, SSD: Single Shot MultiBox Detector, arXiv:1512.02325, 2016.