A blog about the application of machine learning and other statistical methods to decision-making in financial markets. Math, code, and hopefully a killer edge.
SymbQuant
Financial Market Development
A successful person isn't necessarily better than [his] less successful peers at solving problems; [his] pattern-recognition facilities have just learned what problems are worth solving. - Ray Kurzweil
FANNex Revival
In Fall ‘07 I began developing a program that would identify repeating patterns in financial data and make a gradient probability map of a selected future period. Unfortunately, I was forced to cast this project aside and focus on my studies. Now that I have graduated, I can happily revive this project.
The software makes use of a neural network package called FANN (Fast Artificial Neural Network). I originally designed the software to identify and predict patterns in the foreign exchange (forex) market. Combining these two aspects, I named the software FANNex.
- The "Parameters" tab
- The "Training / Testing" tab
FANNex has a simple workflow. There are two tabs available to the user: Properties and Training/Testing.
In the Properties tab, the user can select the training and testing data and set up the structure of the neural network. The data files can be of either CSV or HST format, and will be processed into the program’s native format. The Inputs and Outputs fieldsets allow the user to select the width, height, and granularity of the input/output images. Each pixel of these images represents how much time the price did (for inputs) or is expected to (for outputs) spend in that time-price box. Finally, the Network Structure fieldset allows the user to specify the number of neurons in, and the transfer function of, each layer.
In the Training/Testing tab, the user can select from a number of training options, stop training, or run a test with the most recent network weights. The generated inputs and the corresponding target and network outputs are shown in the Viewer fieldset. The network output display can be toggled, overlaying the network output rendering on top of the target outputs for comparison. The images can also be normalized to a varying degree, providing the an adjustable visual dynamic range for the user. Finally, the scroll bar can be used to move through the training / testing data sets for examination in different market conditions.
I am now in the process of redesigning the data-management components of the FANNex program. I have recently acquired a ~900MB set of high-frequency data from a major FX broker, so I would like to implement a more efficient bar data storage and loading system. Optimization for speed is crucial to the success of this program, as many training/testing runs must be performed to obtain any valid predictive results.
Stay tuned - I’ll post updates as I make progress. I am not ready to release the source code, but I am happy to answer any questions about the software that you may have.
Leave a Reply
You must be logged in to post a comment.
DISCLAIMER: Any opinions, news, research, analyses, prices, or other information contained on this website are provided as general market commentary, and do not constitute investment advice. We are not liable for any loss or damage, including without limitation, any loss of profit, which may arise directly or indirectly from use of or reliance on such information. We are not responsible for the accuracy of information contained on other sites provided by third parties that have links to or from our site.

