File Exchange

image thumbnail

Algorithmic Trading with MATLAB - 2009 update

version (3.19 MB) by Ameya Deoras
M-file scripts and Simulink models from webinar on 28 May 2009


Updated 01 Sep 2016

View Version History

View License

These are the files and some of the data that I used in my recent webinar on Algorithmic Trading. Data has been shortened for size reasons. Included are:
Nearest Neighbour model
Trailing stop-loss code
an illustration of Takens Theorem
Also included are Simulink models showing:
Moving Average crossover model
Simple tracking of the FTSE 100 - intro to basket trading
A bollinger band model using Stateflow
A simple market making system based on a paper by Sanmay Das

Cite As

Ameya Deoras (2021). Algorithmic Trading with MATLAB - 2009 update (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (19)


Would be great to have a look at the webinar for this. I'm struggling to find a working link... Has anyone else managed to find it?


Does anyone have a working link to the webinar? The one Aly provided in 2009 is no longer working.


I recently came across your webinar on Algorithmic Trading in 2009 and it is a great one. However for the " simple market making system based on a paper by Sanmay Das" part, I am wondering which paper you are refering to and it seems that this system is not about market making but a directional bet system. Finally, would you please provide more resource on the code "callnnpiter" such as relevant papers? I really appreciate it and thank you in advance!


I tried the 'callnnpiter' with parfor ...loop and for ... loop, and got quite different results. I then checked the nnpiter.m. and found it rely on the order of the loop (So parfor cannot be used). Is this a bug?

Deniz Graf

i'm playin around with the nnpiter function .. can anybody explain why the results vary from run to run (number of trades) and why i get completly different results if i change the parfor loop into a for loop?

Deniz Graf

sorry .. was just reading the comments and came to the stars, then it made a submission .. of course 5 stars, great work and sorry

Deniz Graf


Ankur Dani

In strategyAnalysis.m , what does its parameters (t,p,pos,th,data(:,4)) stand for? Its giving me errors for undefined parameters?
Is there any other way to run this code as the above variables does nt seem to be present in the variable window.
Can these parameters be externally set n how do we set them ?


Now I see... it does not use transaction costs: we sholud use:

pnl = ([0;x(2:end).*sig2(1:end-1)]);

instead of:

pnl = ([0;x(2:end).*sig2(1:end-1)-abs(diff(sig2))*0.000028]);

Wasn't it?

Thanks a lot



Dear Aly,

Thanks for this great work. Though, my fault, running callnnpiter with GBPdata1sShort, results are different as in the webinar. The PnL graph shows different (cummulative losses instead of continuous profits). Does someone know why?


thanks aly, your are really kind and selflessness to share all this to us. i wonder if you could tell us your new contact way/

my email is



does itwork properly and what's the return you make with this?

Daronne Bonneau

Hi Aly,

Can Matlab connect to TTAPI (trading technologies) ?


Aly Kassam

hi Rob

the webinar is available here:

I hope you enjoy it, and thanks for the comments.



Please post the Webinar video. Your last one was great.

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!