financial data mining talk
DESCRIPTION
I presented these slides at a meeting of ACM data mining group. I discuss using data mining to improve performance of an existing trading system. The presentation was video taped. You can see the video at:http://fora.tv/2009/05/13/Michael_Bowles_Neural_Nets_and_Rule-Based_Trading_Systemsif you have any questions or comments contact me: [email protected] orhttp://www.linkedin.com/in/mikebowlesTRANSCRIPT
Can We Upgrade a Trading System with a Neural Net?
Dr Michael Bowleshttp://www.linkedin.com/in/mikebowles
Program
Produce a Simple Trading System Try 2 neural nets for culling trades One works the other doesn't Test whether model selection techniques
would have chosen correctly.
1230
1235
1240
1245
1250
1255
1260
1265
1270
1275
1280
1285
1290
1230123512401245125012551260126512701275128012851290
6 :0 0 6 :3 0 7 :0 0 7 :3 0 8 :0 0 8 :3 0
E-Mini Nasdaq 100 (Continuous) (NQ #F)
2 0 0 9
Clos e Las t T op P ric e(High,10) Las t B ottom P ric e(Low,11)
T rading S trategy #2
Simple Trading System
Buy when price crosses above last high Sell when price crosses below last low
*Charts are Drawn with NeuroShell Trading Software Package
Simple System Performance
1120
1140
1160
1180
1200
1220
1240
1260
1280
1300
0
100
200
300
400
500
D e c 2 8 J a n 4 J a n 1 1 J a n 1 8 J a n 2 5 F e b 1 F e b 8 F e b 1 5
E-Mini Nasdaq 100 (Continuous) (NQ #F)
2 0 0 8
T rading S tra tegy #2
S y s tem E quity (T rading S tra tegy #2)
Optimize over 6 weeks. Trade for 2 weeks
Q1 Performance
Period # Return1 7.10%2 -5.20%3 6.70%4 -3.10%5 9.90%6 -3.00%7 5.10%
*In this table a “Period” is 2 weeks
Per 2 WeeksAvg Rtn: 2.50%
Rtn s.d.: 6.07%
YearlySharpe's: 2.06
Can Statistical Learning Discard Some Losing Trades?
Give a NN some traditional indicators Train it to reject losing trades 1st try:
2 input (traditional momentum indicators) 1 to 3 hidden neurons Compare >0 or <0 for accept reject
How does it work?
1170
1175
1180
1185
1190
1195
1200
1205
1170
1175
1180
1185
1190
1195
1200
1205
4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 6 1 7 1 9 2 1 F e b 1 9 1
E-Mini Nasdaq 100 (Continuous) (NQ #F)
2 0 0 9
T rading S trategy #2
T rading S trategy
Q1 Performance (Basically the Same)
Period # Return1 4.90%2 -3.40%3 4.00%4 -5.10%5 5.50%6 4.10%7 2.40%
Per 2 WeeksAvg Rtn: 1.77%
Rtn s.d.: 4.25%
YearlySharpe's: 2.08
*Period = 2 weeks
Try Something Else
4 inputs (traditional momentum indicators) 2 hidden neurons Selectable tanh or Gaussian activation
functions for hiddens GA for weights and activation function
selection
Q1 Performance (Good News / Bad News)
Period # Return1 7.80%2 -4.30%3 5.90%4 -0.50%5 7.10%6 7.30%7 5.30%
Per 2 WeeksAvg Rtn: 4.09%
Rtn s.d.: 4.64%
YearlySharpe's: 4.40
*Period = 2 weeks
Predict the Better Performing Model?
How to judge models BEFORE looking at the OOS data
Have a look at linear regression
2-Input Model Results(Linear Terms)
Estimate Std.Error t value Pr(>|t|)(Intercept) -0.78735 1.54228 -0.511 0.610x1 -0.14016 1.86259 -0.075 0.940x2 0.03526 0.10061 0.350 0.726
Multiple R-squared: 0.0004033AIC = 2910.813
2-Input Model Results(Polynomial Terms)
Estimate Std. Error t value Pr(>|t|)(Intercept) -0.787343 1.549424 -0.508 0.612x1 -0.160997 2.283883 -0.070 0.944x2 0.035802 0.103914 0.345 0.731x3 0.132438 0.850780 0.156 0.876x4 0.042197 0.157572 0.268 0.789x5 0.001034 0.004287 0.241 0.810
Multiple R-squared: 0.001049AIC = 2916.614
4-Input Model Results(Linear Terms)
Estimate StdError t value Pr(>|t|) (Intercept) -0.7929 1.5289 -0.519 0.60438 x1BB.MACD -3.1617 2.4588 -1.286 0.19948 x1BB.Price 0.7592 0.7233 1.050 0.29472 x1TT.MACD 6.8499 2.5562 2.680 0.00777 **x1TT.Price -0.9122 0.5645 -1.616 0.10712 Multiple R-squared: 0.02418AIC = 2907.399
4-Input Model Results(Polynomial Terms)
Estimate StdError t value Pr(>|t|) (Intercept) -0.7896 1.5283 -0.517 0.60581 x1BB.MACD -2.8592 2.8054 -1.019 0.30896 x1BB.Price 0.4084 0.7980 0.512 0.60920 x1TT.MACD 6.8554 2.8108 2.439 0.01532 * x1TT.Price -1.0843 0.7179 -1.511 0.13199 x2X1x1 -3.3184 2.1810 -1.521 0.12921 x2X1x2 1.5070 1.1713 1.287 0.19927 x2X1x3 11.1495 4.1630 2.678 0.00782 **x2X1x4 -2.0146 0.8542 -2.358 0.01901 * x2X2x2 -0.1230 0.1511 -0.814 0.41623 x2X2x3 -2.6644 1.1330 -2.352 0.01935 * x2X2x4 0.4220 0.2220 1.901 0.05825 . x2X3x3 -7.5425 2.6674 -2.828 0.00501 **x2X3x4 2.9110 1.0361 2.810 0.00529 **x2X4x4 -0.2644 0.1136 -2.327 0.02066 * Multiple R-squared: 0.05708AIC = 2916.835
Conclusion
Demonstrated NN Successfully Upgrades Trade System Statistics
Demonstrated Criteria for Model / Input Selection
Some References
Dunis C., Laws J., Naim P, Applied Quantitative methods for trading and investment John Wiley & Sons, 2003 Ch 4. Forecasting and Trading Currency Volatility:An Application of Recurrent
Neural RegressionCh5. Implementing Neural Networks, Classification Trees, and Rule Induction
Classification Techniques: An Application to Credit Risk
Franses P.H., van Dijk D, Non-linear time series models in empirical finance, CambridgeUniversity Press, 2000Ch 5. Artificial neural networks for returns