silverside:
I'd say it's pretty easy. However, if you want easy to read, friendly on the eyes, productivity and in general a good "puppet master" tool/language I can recommend jruby (or the c implementation).
Ruby's been one of my favourite tools/languages since sometime around 2000, but it didn't become popular in general until the last few years. I'd say at the moment new libraries and things get ruby support at same time or before python.
MatLab or not MatLab this is the question
- Patrik
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
- aix
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
MatLab or not MatLab this is the question
[quote]
I had always mentally associated Python with *nix and its love-it-or-hate-it cryptic syntax
[/quote]
The ease of reading is clearly subjective and has a lot to do with what the reader is used to reading. I personally have always found Python to be one of the easiest languages to read (and write!) and think its reputation as "executable pseudo-code" is well deserved.
If I had to name Python's principal shortcomings, I'd say that:
I had always mentally associated Python with *nix and its love-it-or-hate-it cryptic syntax
[/quote]
The ease of reading is clearly subjective and has a lot to do with what the reader is used to reading. I personally have always found Python to be one of the easiest languages to read (and write!) and think its reputation as "executable pseudo-code" is well deserved.
If I had to name Python's principal shortcomings, I'd say that:
- its support for multithreading sucks (due to the dreaded Global Interpreter Lock);
- I would argue that it's not well suited for building large complex systems (mainly due to its highly dynamic nature and its lack of formalism in defining/enforcing APIs between components).
- HyperVolatility
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
MatLab or not MatLab this is the question
thank you very much for all your replies guys.
@ silverside: thank you for recommending Numerical Recepies. I will definitely have a look at it.
@ weismat2: I would like to increase the execution speed (but not necessarily to the point i have to use c++ cuz i dont do HF) and at the same time I would like to get a software which does not crash or go crazy when the amount of data increase.
You convinced me guys: i won't go for MatLab and I will stick to Python. As I previously mentioned I am learning it know and I am anything but an expert in programming but it looks really easy and powerful (at least for the stuff that I do).
I don't know if Python is going to be ok even when dealing with more data but so far I am pretty satisfied with it (even if I am just a beginner).
The resaon I started this thread is that everybody use ML and many people suggested me to get it because "it is the best" but I think that many of them used MatLab for so many years that they just got used to it, almost addicted and I wanted to listen to less-biased opinions
Thanks to all once again Worship
@ silverside: thank you for recommending Numerical Recepies. I will definitely have a look at it.
@ weismat2: I would like to increase the execution speed (but not necessarily to the point i have to use c++ cuz i dont do HF) and at the same time I would like to get a software which does not crash or go crazy when the amount of data increase.
You convinced me guys: i won't go for MatLab and I will stick to Python. As I previously mentioned I am learning it know and I am anything but an expert in programming but it looks really easy and powerful (at least for the stuff that I do).
I don't know if Python is going to be ok even when dealing with more data but so far I am pretty satisfied with it (even if I am just a beginner).
The resaon I started this thread is that everybody use ML and many people suggested me to get it because "it is the best" but I think that many of them used MatLab for so many years that they just got used to it, almost addicted and I wanted to listen to less-biased opinions
Thanks to all once again Worship
WWW.HYPERVOLATILITY.COM
- redandtheblue
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
MatLab or not MatLab this is the question
With more data, python will be fine. Numpy is really good. If there is a slowdown, it is really easy to profile and speed up with cython. Cython is a language for compiling c extension for python. Basically, your take your function in python and just define the types. Google spent a good amount of money on speeding up numpy using cython.
Also, every stat idea imaginable should be implemented in R and can be used through rpy2
Also, every stat idea imaginable should be implemented in R and can be used through rpy2
- prophet
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
MatLab or not MatLab this is the question
However I am not sure if I would recommend it to anyone who has already has a codebase in place. Its execution times are slow for traditional programming (e.g. date/string functions and containers / data structures), the IDE is not particularly user friendly, and what Matlab consider object-oriented programming is a very cut-down version of what exists in C++/Java.
All of this is true. But...
The choice of Matlab-or-not depends on the specific demands and details of the work and skill set of the developer. How much time was invested in creating the existing codebase? What is the balance of prototyping and general implementation of already-prototyped ideas? Frequent prototyping and re-coding will heavily favor Matlab. What are the developer's strengths, weaknesses and preferences for certain software engineering paradigms (OO vs imperative)? Is the developer able or willing to effectively use the Matlab command line in development and prototyping? Or is the developer more reliant on IDE features and debugging tools? Many developers work and think very differently. I've seen some developers that are unimpressed with Matlab and others that swear by it for all their software prototyping needs.
Here is a specific example of Matlab's power. I once developed a fairly decent Matlab-based software framework for management and optimization of trading strategies. It provided a decent set of features you'd normally find in software like Wealth-Lab or Tradestation, but with a lot more flexibility, dexterity and correctness (from a software engineer's point of view, if that makes any sense). It allowed multiple trading strategies to be organized intelligently, parameterized, backtested, optimized and visualized. it also allowed parallel job processing on multiple Matlab instances across multiple PCs, and all without any need for various Matlab toolboxes like the parallel processing toolbox or worker nodes which would have added to the cost and complexity.
Not only did it work well, it was extremely cost and time effective. I developed it to a useful state in 2 days, with most of it complete in about 7 days. The entire framework plus initial strategies required less than 1200 lines of Matlab code with perhaps 200 lines of C (MEX) code sprinkled in for performance critical routines. Most other languages and without the benefit of Matlab's toolboxes would have required at least 10K lines of code and a lot more than one man-week of development time.
I do not claim Matlab can make everyone super productive. However, if you are already a decent software engineer and you understand how to use the various features of the Matlab language, Matlab provides nearly effortless software development. I've frequently authored a few hundred lines of correct and debugged Matlab code per hour, and with a lot less mental effort than trying to achieve that kind of productivity in a C style language.
All of this is true. But...
The choice of Matlab-or-not depends on the specific demands and details of the work and skill set of the developer. How much time was invested in creating the existing codebase? What is the balance of prototyping and general implementation of already-prototyped ideas? Frequent prototyping and re-coding will heavily favor Matlab. What are the developer's strengths, weaknesses and preferences for certain software engineering paradigms (OO vs imperative)? Is the developer able or willing to effectively use the Matlab command line in development and prototyping? Or is the developer more reliant on IDE features and debugging tools? Many developers work and think very differently. I've seen some developers that are unimpressed with Matlab and others that swear by it for all their software prototyping needs.
Here is a specific example of Matlab's power. I once developed a fairly decent Matlab-based software framework for management and optimization of trading strategies. It provided a decent set of features you'd normally find in software like Wealth-Lab or Tradestation, but with a lot more flexibility, dexterity and correctness (from a software engineer's point of view, if that makes any sense). It allowed multiple trading strategies to be organized intelligently, parameterized, backtested, optimized and visualized. it also allowed parallel job processing on multiple Matlab instances across multiple PCs, and all without any need for various Matlab toolboxes like the parallel processing toolbox or worker nodes which would have added to the cost and complexity.
Not only did it work well, it was extremely cost and time effective. I developed it to a useful state in 2 days, with most of it complete in about 7 days. The entire framework plus initial strategies required less than 1200 lines of Matlab code with perhaps 200 lines of C (MEX) code sprinkled in for performance critical routines. Most other languages and without the benefit of Matlab's toolboxes would have required at least 10K lines of code and a lot more than one man-week of development time.
I do not claim Matlab can make everyone super productive. However, if you are already a decent software engineer and you understand how to use the various features of the Matlab language, Matlab provides nearly effortless software development. I've frequently authored a few hundred lines of correct and debugged Matlab code per hour, and with a lot less mental effort than trying to achieve that kind of productivity in a C style language.
- ESMaestro
- Posts: 0
- Joined: Thu Jan 01, 2004 12:00 am
MatLab or not MatLab this is the question
Too quickly chime in, I'd perhaps stick to something like ...
GNU Scientific Library Ref Manual - pdf
... instead of Numerical Recipes, esp if this code will be used in a commercial setting/often shared.
GNU Scientific Library Ref Manual - pdf
... instead of Numerical Recipes, esp if this code will be used in a commercial setting/often shared.