Free Historical Data
This data was taken from the FORTITUDE Database.
Data is in the form DATE - OPEN - HIGH - LOW - CLOSE - VOLUME - OPEN INTEREST
I have no idea what all these numbers can possibly mean, I just use them
as time series to be predicted by my neural networks
- Stock Markets - cash index
- S&P 500 index (17-Feb-94 to 9-Feb-96) (d1)
- NASDAQ 100 index (27-Jan-94 to 19-Jan-96) (d2)
- Dow Jones index (4-Mar-94 to 26-Feb-96) (d3)
- Nikkei 225 index (17-Feb-94 to 18-Jan-96) (d4)
- Hang Seng index (6-Apr-94 to 11-Apr-96), some entries missing
- Australian Share Price index (16-Mar-94 to 6-Mar-96) (d5)
- Singapore Straight Times index (10-Mar-94 to 8-Mar-96) (d6)
- British Footsie index (17-Jan-94 to 8-Jan-96) (d7)
- French CAC40 index (10-Jan-94 to 10-Jan-96) (d8)
- German Dax index (23-Dec-93 to 15-Dec-95)
- Here is the data extracted from the above files. There are 3 files for each time series: high, low and mean values
- High: d1.hi, d2.hi, d3.hi, d4.hi, d5.hi, d6.hi, d7.hi, d8.hi
- Low: d1.lo, d2.lo, d3.lo, d4.lo, d5.lo, d6.lo, d7.lo, d8.lo
- Mean: d1.mean, d2.mean, d3.mean, d4.mean, d5.mean, d6.mean, d7.mean, d8.mean
- Here is the same data but normalised between 0 and 1:
- High: d1.hi, d2.hi, d3.hi, d4.hi, d5.hi, d6.hi, d7.hi, d8.hi
- Low: d1.lo, d2.lo, d3.lo, d4.lo, d5.lo, d6.lo, d7.lo, d8.lo
- Mean: d1.mean, d2.mean, d3.mean, d4.mean, d5.mean, d6.mean, d7.mean, d8.mean
- Stock Markets - Futures (1st contract)
Here is the results of using Class 2 and Class 3 entities to predict the
d8 time series, above (mean & normalised), based on the
other seven (d1, d2, ..., d7. I have used a window of 50 time
points from each of the first seven time series. This gave me a
training vector of 7x50 = 350 time points. The target output
consisted of the 51st time point of the d8 time series.
The training set consisted of the first 150 vectors. The test set
of all the vectors.
Prediction by a Class 2 Entity
Prediction by a Class 3 Entity
Here are the np scripts I used for training and testing:
- For the Class 2 entity:
- For the Class 3 entity:
In order to replicate these results for either of the entities, do the following:
- copy all the np scripts and all the mean & normalised
data files (above) to a directory,
- make a copy of each of the 8 data files using the extension
.test (for example do `cp d1.norm d1.test' etc.),
- in each of the .norm files delete all the lines after
the (150+50+1=201)th (150= the number of training vectors you want,
50 = the window size, 1 the output) line. That is, leave only the first 200
lines for each of these files. Then save each with the extension
.train,
- Now you must have 8 files named like d1.test, d2.test, ... d8.test
(contain 470 numbers each) and 8 files named like d1.train, d2.train, ...., d8.train
which contain only 200 numbers,
- Get a copy of np parser from
here
you also need to get a copy of NNengine, a
feed forward neural network program. You need a C compiler, UNIX and perl 5+.
Make sure that all executables are placed in the path, read the README files.
- Finally, train the entity by doing np train.np and test it
by doing np test.np and np test0.np .
- The prediction will be stored in file FinalOutput which
can then be compared to file d8.test (exactly as shown
in the figure above). Note that the file FinalOutput will
be short of the first 50 time points (because of the 50 time points
moving window). So, make sure that in any comparison you remove
the first 50 time points of the d8.test or shift it somehow.