Showing posts with label investing. Show all posts
Showing posts with label investing. Show all posts

2009-12-30

My first Mechanical Trading System results

As you may already know, my "new hobby" are Mechanical Trading Systems. After first quarter of executing transactions generated by my first Mechanical Trading System I have gained about 0% (literally almost ZERO). It may be surprising for somebody but it looks not so bad (but could be better).

Here is why:
  • There were transactions costs, low enough for about 40 transactions, but still were.
  • There were execution price slippages - sometimes it's hard to execute order at given price
  • Some initial errors in systems gave me some loses too (about 10% of initial capital).
  • I've made cross-validation procedure, but testing data set was too small to get good statistical meaning.
  • Tested gain values were low (but still positive) and comparable to values without losses caused by "external" errors.

Statistics showed that the system was performing better in training period, and worse in testing and then in real account execution period. Underlying model was extremely simple and had above 100 transactions per year to avoid perfect fitting to one or few best price movements. But that is not excluding potential over-fitting on some kind of higher level longer horizon component of price movements, like up/down trend during sub-periods.

Results are definitely worse than gains from risk free return at a bank account. But it was relatively low cost exercise and I have learnt something new about practical details of investing, trading systems and statistical validation. Maybe next approach would be better.

So, I'm doing research on new simple model with higher gains/lower drown downs in test set. This time I have to make better validation tests to be more sure that system has generalization capability, and in future it could keep assumed risk/gain. That means more testing data and implementing better search procedure.

2009-11-30

Genetic Programming for finding trading system algorithm

I've been thinking about using Genetic Programming (GP) approach to find new trading system algorithm. There is no simple relation between such algorithm and outcome of the system (profit/loss benchmarks on historical data). To evaluate usefulness of algorithm, it have to be tested on real data. So its good target for that kind of automation.

I have been using Genetic Algorithms (GA) and even built some kind of GA framework at the university. Now I'm browsing through resources to refresh basics and find out what is new in the subject. I'm reviewing also GP frameworks to use (choosing possibly the simplest one). Results could be interesting - but it needs some integration work to take off.

2009-10-05

Running an automated trading system

Some time ago I tried to get into automated trading systems. I have choose custom software trading platform that I'm co-developing with my friends that like system investing too (and helped me to quickly get into subject - so thanks a lot). It's rather my hobby than real source of income, but who knows.

My target was easy system, trading on index futures. It should be suitable for individual investor, that spends no more time than couple minutes a day on-line "looking at" the market.
After lots of tests (I really mean it) and choosing one candidate model I started using it at real account in "production" mode. Decisions are made by system, then manually validated and executed. The software was tested a lot, so no surprises from that side. Besides of that I still need to manually validate correctness of input data.

It's hard to get good free data source. I have heard that many commercial services that provide stock market data, have glitches in their data too. It's hard to find something usable for low scale individual investing - that kind of services are more oriented towards bigger businesses or "investing houses".

I'm still learning so I'm going to make next trading system after I catch some problems with the first one. My next target is more sophisticated system including machine learning methods, and maybe better procedures for choosing good candidate systems during backtesting.