I have been learning and using prolog since 1 year and found that
recognizing abstract patterns of Elliott waves and on Point & Figure
charts may be easier with prolog and CLP lib. I have decided to start
experimenting, however I have not got any example/attempt in this
direction on web, so don't have any model/path in front of me for this
experiment. Anybody tried to program complex pattern recognition based
algo trading strategy in prolog or any other similar language? Was it
successful? Will anybody share their insights and thoughts/experiences
about this concept?
Kindly share your suggestion/guidance.
Please point me towards any such experiment or research papers which
will help me.
Thanks and Regards
Madhusoodan
As you seem to indicate, coming up with a "language" to describe
the problem is a big part of the solution.
Since Prolog provides primites to build-in simple languages (i.e.
the ability to define new "operators"), a kind of "structure/term calculus"
as well as pattern matching facilities and general programming
(decision making) it should be a good candidate for spotting "patterns"
or testing hypotheses concerning them.
A few years ago people were using Prolog to examine circuits to
make various optimisations. And there were also people using
"picture languages" to do things like automated photographic analysis
(the kind of thing they do in military intel).
Provided there actually are patterns in trading data (there's a lot
of argument around whether such data is or is not actually
described by "random walks" and whether trading operations
do or do not extract all usable information from such data) some of
these things might be adapted to that area.
A useful technique I've used in several AI-related projects
borrows from the "particle filter" methodology from computer
vision. Have a set of (possibly in the 1st instance random)
"hypotheses" about what patterns exist in the datastream (and
what the values of the various parameters are), and use each
new segment of data to update the liklihood (not necessarily
Baysean-like) each hypothesis obtains, culling the "losers"
and maybe combining "winners" toegther in some kind of genetic
manner, meanwhile outputting "predictions" based on the "winners"
maybe combined with a final "rationality" stage (e.g. in
typical object-tracking applications in CV it's all very fine
to track an object, but sometimes the camera will cut away
to a new scene so there's no point expecting the tracked objects
to be in such news scenes or at their previous locations in those
images).
--
"Global warming" refers to the global-average temperature increase
that has been observed over the last one hundred years or more. But to
many politicians and the public, the term carries the implication that
mankind is responsible for that warming.
-- Dr Roy W. Spencer, "Global Warming", 2008
I like the coinage 'primites'. Sounds like a primitive building block,
analogous to 'nanites' in nano-technology. Did you come up with this
yourself or was it just a typo?
Typo. But from such things...
--
[Specific learning difficulties:]
>Rolling resistance for a [80 kph] bike with average tyres is [...] 2.2 kW.
>On a bike with rider in tuck position air resistance with no wind
>is something like .4 * v^3 Watts [...] 4.3 kW.
** For Christ's sake - go learn some basic physics, dickhead.
The drag experienced by the solar car or a cyclist is almost entirely due to
AIR resistance. And that is not a linear function of speed.
-- "[NPD?] Phil Allison" <phi...@tpg.com.au>, 9 Jan 2011 13:28 +1100
Hi Madhusoodan,
I believe this trading system is implemented in Prolog:
There was a paper on it at CULP '09, though I cannot seem to find it
at the moment. Googling around 'securitease Prolog' might eventually
lead you to it. Its porbably quite different to the sort of thing you
are after, as I believe Prolog plays its role in this system in
cutting through the complexity of dealing with many companies,
instruments, traders, market quirks and rules, in much less code than
an imperative language would use. Perhaps its more of a market
settlement expert system than a pattern matching/trading system.
I think one reason you may find that Prolog is not favored is that it
may be considered to be too slow. Many successful trading algorithms
use very simple strategies but apply them very quickly, we're talking
getting orders out in < 10 or 20us from receiving a market update.
Speed is often the key to success, not sophistication, at least in the
high frequency trading domain.
Rupert
Yes, securitease uses prolog in other things than as a trade decision
support tool.
Well, we really don't need to work on prolog if we want to work on
high frequency trading strategy which strive for speed. But HFT is not
end of the road. In my limited knowledge of this industry, most of
money comes from logically complex strategies (read chart analysis)
than fast strategies. Speed is a must in arbitrage and hedge trading
strategies. But here I am thinking to parse Point and Figure charts
and take decision based on it. I will be happy if it can iterate once
a 2 minutes.
http://stockcharts.com/school/data/media/chart_school/what_are_charts/chart-6-pnf.gif
Above link for a sample Point and Figure charts.....
On Linkedin discussion I was directed towards Grammar Parsing
techniques for such analysis. But I found Point and Figure too
abstract than a systematic language grammar. I am really stuck here.
Can you guide me how I can express a P&F chart like one above in
prolog grammar and how I can define abstract patterns chart patterns?
Thanks and Regards
Madhusoodan
On May 12, 1:45 pm, "rupertlssm...@googlemail.com"
<rupertlssm...@googlemail.com> wrote:
> On May 11, 8:52 am,Madhusoodan<madhusoodan.shanb...@gmail.com>