Home > stocktrader_clojure

stocktrader_clojure

Stocktrader_clojure is a project mainly written in Clojure, it's free.

A stock strategy backtesting framework, written in Clojure.

stocktrader is a clojure implementation of a stock trading strategy backtesting tool I wrote for my master's thesis.

I used it to backtest four stock trading strategies: a Bollinger Bands strategy, a MACD strategy, the Buy and Hold strategy, and a strategy that I devised based on knowledge of Bollinger Bands.

My objective was to identify optimal (or at least good) strategy parameters using a genetic algorithm to search for the best parameter-sets.

This library has several dependencies:

Clojure dependencies:

com.clojure.csv : http://github.com/davidsantiago/clojure-csv dke.contrib.* : http://github.com/davidkellis/dke-contrib net.jeffhui.mongodb : http://github.com/jeffh/clj-mongodb

Java dependencies:

MongoDB Java Driver : http://www.mongodb.org/display/DOCS/Java+Language+Center Joda-Time Library : http://joda-time.sourceforge.net/

Data dependencies:

To use this library as-is you need to have price history files for the companies you want to trade. The price history files need to hold comma-delimited price history information where each line of the file is of the following form:

yyyyMMdd,hhmmss,open,high,low,close

As an example, here is an excerpt from the price history file I have for AAPL.csv: 19821101,150000,3.25000,3.37500,3.14063,3.34376 19821102,150000,3.53126,3.68750,3.37500,3.57813 19821103,150000,3.57813,3.84376,3.57813,3.84376 19821104,150000,3.90626,3.98438,3.81250,3.87500

The file does not need to be sorted by timestamp. Mine are sorted by timestamp, but they don't have to be.

Previous:jk