Re: [amibroker] Artificial intelligence

 

Hi Ron --

There are two main broad categories of pattern recognition / machine learning -- supervised and unsupervised.  Supervised is of most interest in developing trading systems.  Both present a learning algorithm a set of data points to be analyzed.  The fields of the data point are called "predictor" variables, "independent" variables, or something equivalent.    Supervised learning includes a "target" value or label that is known, hoping the learning algorithm will be able to detect relationships and patterns among all of the data points well enough to be able to accurately compute that value or label.  The target variable might also be called the "dependent" variable."  Unsupervised learning does not include a target.  The primary purpose of unsupervised learning is to have the learning algorithm detect similarities among the data points.  In both cases, all data points must be completely self-contained.  Specifically to trading, any reference to previous values must be explicitly computer and include in data fields of their own -- during the learning process, the order of data points will be shuffled and any sequential relationships broken.

To give simple examples.
We present a supervised learning algorithm with information describing the recent price of a stock or commodity -- the position of the close relative to the recent high and low, etc -- along with a target that is the change in that stock's price for the next measurement / management period -- say one day.  We want the resulting model to accurately predict the price movement in the future, even though we will not have a known value of the target for that data.
Contrastingly, we present an unsupervised learning algorithm with information describing the diameter and weights of many coins and hope it will be able to detect patterns of similarity among them so that it can tell whether a newly presented coin is a member of group A, B or C.  Identifying which group is a quarter and which is a dime is up to the analyst. 

In supervised learning, the target can be either a category, classification, or discrete numerical value -- or a continuous numerical value.  Learning algorithms that identify categories are termed "classification" or "categorization" algorithms.  Examples include decision trees and support vector machines.  Learning algorithms that forecast numeric values are termed "regression" algorithms.  Examples include linear regression. 

There is some overlap between classification and regression. A trader might be satisfied to know whether tomorrow's close will be higher or lower than today's close -- a classification into two classes -- gain or loss.  Or he or she might want an estimate of the percentage change from today's close to tomorrow's close -- a regression. 

Best regards,
Howard

On Thu, Feb 4, 2016 at 7:45 AM, Ron J <ronj@san.rr.com> wrote:
Hi Howard , Gregg and all
 
Can you share your insights on supervised learning?
 
What I am trying to get my programmer to do is develop what I call next expert mode. It has some things in common with supervised learning. With this we avoid fuzzy logic, as much as possible. We use Bandler and Grinder's (NLP) advanced modeling techniques. We look to duplicate the subjectively based skills of an expert and know as much about what is going on as possible. While it would be nice to tell the computer simply have at it......here is the raw data........find profitable trades.............This makes as much sense as telling a three year old to dance and hope he learns.
 
What I found is vital,is to take the experts subjective descriptions and turn them into objective criteria  the programmer can use. Whenever possible asking the expert questions that help him to find deeper and better answers to what he notices in the charts prior to pulling the trigger. After we have as much expert criteria as possible we hope that  Artificial Intelligence will give us insights as to what we did not yet notice but is active in a majority of the winning or losing trades to make the systems better. When we develop system we date them so that when we look at them later.......and know how well they have worked since then.
One of the things we like to see is a system that was developed on Forex data..............work on Stock Indices.....Here are some of examples of some of our better systems.
 
 
 
-------Original Message-------
 
Date: 2/3/2016 6:28:36 PM
Subject: Re: [amibroker] Artificial intelligence
 
 

Hi Gregg, and all --


I am not confused about either of the terms "neural network" or "supervised learning."  My posting was specific to Ron's request for information about using neural networks.  Since the discussion seems to be wandering a bit, I'll offer some additional comments.  Hopefully they will be seen as helpful and not as confrontational.

Those of us who are applying machine learning techniques to trading systems should be focusing on supervised learning.  We should be training the model to learn the precise patterns that will be valuable to us.  Unsupervised learning is not particularly useful in this context.

In my opinion, based on many years of experience, including several years of full time effort sponsored by a trading company of trying to use specifically neural networks to build trading models, my conclusion is that there are many better machine learning techniques than neural networks for trading system applications. 

At the risk of criticism for self promotion, visit the website of my "Quantitative Technical Analysis" book, or the Amazon page for it, and read some of the chapters.  It has an introduction to use of machine learning for trading system development.  In my opinion neural networks are so far down the list of best tools that I do not give them much attention in the book.  Rather, consider support vector machines.  Or decision trees -- which are the type of model used by traditional trading system development platforms such as AmiBroker. 

I am in the process of writing another book -- this one specific to machine learning for trading.  Sorry Gregg, but it does not include semantic networks, perceptrons, neural networks, annealing, propagation, or Bayesian networks.  It does discuss Bayesian analysis -- but so also does the already published QTA book.  The models discussed are all supervised and include support vector machines, decision trees, polynomial models, ensemble models, and several others.  I also discuss model building under the guidance of genetic algorithms.  Both classification (beLong / beFlat) and regression (rise 0.4%) are discussed.

Best regards,
Howard

On Wed, Feb 3, 2016 at 10:48 AM, rosenberggregg@yahoo.com [amibroker] <amibroker@yahoogroups.com> wrote:
 

I would just chime in to second Sean's cautionary remarks. There are other types of learning networks which are less black box and so better regarding his concerns. For my work, I use Bayesian networks. There's an intro to them on Wikipedia, if you or your employee want to read up (link below). These however are very computationally intense and require being very selective about your network topology.


BTW, regarding Howard's remarks, also if you get into it enough, you'll see there is some terminological ambiguity. Not everyone uses "neural network" to refer just to supervised learning. Many people (myself included) use the term more broadly to refer to any connectionist network in which the semantics of at least some nodes and all connections are left to be defined by the learning algorithm via its pattern recognition, and distinguish within it between supervised and unsupervised learning algorithms. A short primer of terms you might see,

1) Semantic network - A network of nodes and connections whose meanings are all determined by the programmers.
2) Perceptrons - An input-output network in which the semantics of all nodes are determined by the programmer but the meaning of the connections is determined by training.
3) Neural Network - A network in which the semantics of at least some of the nodes and all of the connections are determined by training.
4) Annealing - The dominant class of unsupervised training algorithms.
5) Propagation - The dominant class of supervised training algorithms.

Bayesian networks do not fit neatly into any of these classifications, as the meaning of the connections corresponds transparently to Bayesian conditional probabilities, while providing flexibility regarding whether or not all nodes need a prior defined semantics. To create a "neural" type Bayesian network where there are hidden nodes whose meaning is determined during learning, you can maximize on a measure like mutual information between nodes under constraint of an objective function. During learning, the network will make "hypotheses" about connections to the hidden nodes and eventually settle on values.

Net net, I'd just emphasize not to be upset with your employee for not getting great results right off the bat. This is a huge field advancing very quickly and highly technical. If you decide to pursue a solution in it, expect to have to invest time in trial and error and human learning.


Bayesian network - Wikipedia, the free encyclopedia
Bayesian network - Wikipedia, the free encyclopedia
A Bayesian network, Bayes network, belief network, Bayes(ian) model or probabilistic directed acyclic graphical model is a probabilistic graphical model ...
Preview by Yahoo

 




 

__._,_.___

Posted by: Howard B <howardbandy@gmail.com>
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (21)
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com

TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/


.

__,_._,___


EmoticonEmoticon