SmartQuant QuantDeveloper provides a number of mechanisms for optimizing the parameters of an automated strategy. Some of the mechanisms built-in include brute-force, simulated annealing, and if you know how to use it, some routines for neural network capability.
There are other ways for handling the optimization of strategies. At the risk of over
optimization, which I've personally encountered, Genetic Programming offers another
mechanism for optimization.
Actually, Genetic Programming is a mechanism for finding a workable strategy. By
defining a bunch of basic constructs for use by Genetic Programming (GP) module, a GP
tool can search out _and_ optimize a strategy.
The best source of information available to me for coming up with an implemenation was
John R. Koza's 1992 book called Genetic Programming: On the Programming of Computers by
Means of Natural Selection. The first six chapters are the most relevant to developing a GP
engine. The remaining chapters offer up well thought out examples, and do go into more
advanced processes available.
My current implementation currently has a couple of population replication bugs in it.
Once I've eliminated them, I'll post a skeleton solution that can be used within a
QuantDeveloper environment for solution finding.
The reason for this post, however, is to record a link to a paper at Olsen & Associates called
Genetic
Programming with Syntactic Restrictions applied to Financial Volatility Forecasting.
Once I have the bugs worked out of my GP implementation, I think I'll review the details of
this paper and see if
there are any additional enhancments I can make for improving the efficiency/capability
of it's selection/refinement mechanisms.
Members of that organization have written book called "An Introduction to High Frequency
Finance" by Dacorogna, Gencay, Muller, Olsen and Pictet. A stand out section of that book,
among others is a chapter devoted to Adaptive Data Cleaning. As High Frequency Finance is
fast and furious, one needs fast algorithms to keep up with the flows. The techniques
presented help to clean the data.
The book is math heavy, but a welcome addition for information as to how researchers and
practitioners in the field deal with high frequency data.
It has taken me a while to realize only a few of the intracacies of volatility.
Volatility is not a good thing. Volatility is a trader's best friend... sometimes. A
trader has to understand volatility in order understand how profits are realized.
Volatility is a measure of how a trading instrument's price
changes. It is on the price changes where a trader makes his money... whether the price
goes up, down or sideways.
Bollinger's claim to fame is that he uses volatility, which, for his methods, is measured
by the standard deviation, to create opportunities for trading intra-day as well as
inter-day. The whole world of Options is based upon volatility measurements and
predictions.
With High Frequency data, volatility needs to be computed quickly and efficiently. On
Olsen's site, there are a number of other papers that may be of value in reading. I havn't
read them through, but am including them here for future reference:
As part of my random walk through web links, I came across an article called
Statistical Modelling of
Financial Time Series: An Introduction from the Norwegian Computing Center. From their
abstract that provides some background in statistics and volatility calcuations:
This note is intended as a summary of a one-day course in quantitative analysis of financial
time series. It offers a guide to analysing and modelling financial time series using
statistical methods,
and is intended for researchers and practitioners in the finance industry.