Algorithmic trading - Integrate C# and Matlab
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi. I need to:
1) connect to a server with a C# API in order to get stock data 2) analyse the data in Matlab 3) return an answer to the server (example "buy" or "sell")
Clearly I need to run this continuously and faster is better...
QUESTION: A) What is the best way to do this? Should I integrate C# inside Matlab or should I integrate Matlab inside a C# program? B) Let's say that I integrate matlab in C# I read these: http://www.codeproject.com/KB/dotnet/matlabeng.aspx http://www.mathworks.com/matlabcentral/fileexchange/12987-integrating-matlab-with-c So, excluding the COM approach (too slow), I can choose between the ".NET" and the the "C shared library" what are the pros and cons? What does it mean that the C shared library - way is very fragile?
1 commentaire
Walter Roberson
le 11 Déc 2011
If this is not just for simulation, if this is to be used for real money, I would recommend checking the MATLAB license conditions, as there are some things that MATLAB is not intended to be used for. Nothing that affects human safety, for example. I would not imagine that MathWorks certifies their software as being good enough for use in handling real money.
Réponse acceptée
Titus Edelhofer
le 9 Déc 2011
Hi Condor,
some thoughts: it depends somewhat on who has control on the process, the server or the client (MATLAB). The description you give (1), 2), 3)) suggests that the client has control. In this case calling the .NET API directly from MATLAB will probably be your best bet.
If you turn around the process: if you are able to tell the server to call some other .NET code, then you could use Builder NE (see here) to compile your MATLAB code into a .NET component. This should be the fastest option.
Titus
4 commentaires
Titus Edelhofer
le 12 Déc 2011
Hi,
yes, that should work. The alternative would be:
1) Use .NET API in MATLAB to get data.
2) Do computation in MATLAB
3) Buy/sell using .NET API.
It depends: this way should be easier to implement (depending on your C# knowledge). Second, a test about performance (for steps 1) and 2) at least) should be easy to do. The speed probably will depend on the amount of data (converting the retrieved .NET data into MATLAB data I guess will be the bottle neck, although the support for converting object arrays introduced in R2011b should help here).
Titus
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur .NET Client Programming dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!