Quote from flakac:
My problem is I haven't any api for instant access of data provider and broker (IB)?
Any idea?

Implementing a Matlab to TWS connection using native-Matlab sockets code will be slow (much overhead), unless you really know what you are doing, or you only require real time data for a few symbols.Quote from Gringinho:
I guess you haven't been looking to hard. Here is all you need except some socket programming skills: http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=345&objectType=file
I recommend using Matlab + MEX code for prototyping, simulation and backtesting. Use Matlab for high level and matrix operations, MEX for non-vector-based or performance critical routines. Then compile or convert your M code to C or C++ code, write some wrapper code, link it in with TwsSocketClient.lib, then trade it. Much less CPU overhead. Much more scalable.If you understand how to program using the IB TWS APIs, then you're all set to go.
I recommend against starting with ANNs. There are simpler and more robust networks and curve fitting methods available that are easier to understand, faster to fit, with guaranteed convergence. ANNs are slow and have convergence issues. Move to a more sophisticated adaptive network once you demonstrate that simpler networks are inadequate. Otherwise you will be wasting CPU cycles on fitting a sophisticated network when you could instead be testing 10, 100 or 1000 times as many simple network configurations. You'll also avoid the "black box" headaches that stem from not understand what your network is learning.I would also recommend playing around with the Adaptive Neural Network - ANN - especially MLP which is suited for time series: http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=976&objectType=FILE
Quote from prophet:
Implementing a Matlab to TWS connection using native-Matlab sockets code will be slow (much overhead), unless you really know what you are doing, or you only require real time data for a few symbols.
I recommend using Matlab + MEX code for prototyping, simulation and backtesting. Use Matlab for high level and matrix operations, MEX for non-vector-based or performance critical routines. Then compile or convert your M code to C or C++ code, write some wrapper code, link it in with TwsSocketClient.lib, then trade it. Much less CPU overhead. Much more scalable.
I recommend against starting with ANNs. There are simpler and more robust networks and curve fitting methods available that are easier to understand, faster to fit, with guaranteed convergence. ANNs are slow and have convergence issues. Move to a more sophisticated adaptive network once you demonstrate that simpler networks are inadequate. Otherwise you will be wasting CPU cycles on fitting a sophisticated network when you could instead be testing 10, 100 or 1000 times as many simple network configurations. You'll also avoid the "black box" headaches that stem from not understand what your network is learning.

Quote from Gringinho:
The performance issue is very true, but for starters it's good because you get an idea of what you can do with your chosen platform.
Itâs probably because most people keep their source code proprietary. Iâm an good example. I have several megabytes of C and Matlab code, 16 production system designs, 100+ developmental systems, and 5 systems trading ES, NQ and 6E fully mechanically, all the time.It also depends on programming experience and commitment. There are some posts on the IB discussion board about Matlab, but as far I can remember there is no sourcecode posted to look at.
Free alternatives to Matlab⦠thereâs GNU Octave, and lots of open source / free math libraries that provide many of the advantages.Yes, there are better solutions, but free ?
Playing around with free and perhaps not the best solutions/tools still makes for good experience - and being able to make decisions about committing to a more advanced commercial tool.
Iâve done some simple backpropagation NNs, both with the Matlab toolkit and with my own code, along with some exotic home-brew networks based on analyzing the singular value decomposition (SVD) products. Any kind of adaptive model for forecasting of prices is difficult, even when the model is fit across thousands of stocks and thousands of days.I am mostly interested in fooling around with NN MLP stuff. Have you done NNs in Matlab with regards to timeseries ? Curvefitting prices is rather futile, but getting indications on price direction is useful in my opinion. Getting a low RMSE for trading indications is the best way to train a successful NN I guess.
One option is to pass your data to a MEX function or save to a data file, then run it through a higher performance toolkit.Quote from flakac:
Matlab NN are slow and not so good as NN from other programs(STATISTICA). I have no problems building NNs, however, I recommend using the fuzzy logic toolbox instead (The ANFIS is great!)
Donât they provide tools to export to other formats? Surely someone has figured out the formats.I use Matlab with MySQL database where I store the EOD data, the results of my computation, etc. The problem with proprietary software (Metastock, Wealth-Lab, Amibroker) is, they use proprietary formats for data storage. I want to "see" into the database, what is stored in.., etc.
Perhaps instead of using the built-in Matlab toolkits (closed source), you could find some open source code at http://www.mathworks.com/matlabcentral/fileexchange/loadCategory.do It should be easy to adapt these sources to older Matlab versions or Octave.Free Octave isn't alternative . No object, no fuzzy, no NNs, as I know...