Difference between revisions of "TDSM 3.3"
(Created page with "{| class="wikitable " style ="text-align :centre" ! !! Python !! R !! Matlab |- | Pros || End To End development to execution (some brokers packages allows execution, IB) Ope...") |
|||
Line 1: | Line 1: | ||
− | + | I like Python. | |
− | + | ||
− | + | Python | |
− | + | PROS: | |
+ | End To End development to execution (some brokers packages allows execution, IB) | ||
Open source packages( Pandas, Numpy, scipy) | Open source packages( Pandas, Numpy, scipy) | ||
Trading Packages(zipline, pybacktest, pyalgotrade) | Trading Packages(zipline, pybacktest, pyalgotrade) | ||
best for general programming and application development | best for general programming and application development | ||
can be a "glue" language to connect R, C++ and others (cython, Rpy etc) | can be a "glue" language to connect R, C++ and others (cython, Rpy etc) | ||
− | Fastest general speed especially in iterative loops | + | Fastest general speed especially in iterative loops |
+ | |||
+ | CONS: | ||
+ | immature packages especially trading packages | ||
+ | some packages are not compatible with others or contain overlap | ||
+ | smaller community than R in finance | ||
+ | More code required for same operations vs R or Matlab | ||
+ | Silent errors that can take a very long time to track down (even with visual debuggers / IDE) | ||
+ | |||
+ | -------- | ||
+ | |||
+ | |||
+ | R | ||
+ | PROS: | ||
+ | End To End development to execution (some brokers packages allows execution, IB) | ||
Rapid development speed (60% less lines vs python, ~500% less than C) | Rapid development speed (60% less lines vs python, ~500% less than C) | ||
Large number of Open Source Packages | Large number of Open Source Packages | ||
Mature quantitative trading packages( quantstrat, quantmod, performanceanalyitics, xts) | Mature quantitative trading packages( quantstrat, quantmod, performanceanalyitics, xts) | ||
Largest Community | Largest Community | ||
− | Can integrate into C++/C with rcpp | + | Can integrate into C++/C with rcpp |
+ | |||
+ | Cons: | ||
+ | Slow vs Python especially in iterative loops and non vectorized funtions | ||
+ | Worse plotting than matlab and difficult to implement interactive charts | ||
+ | Limited capabilities in creating stand alone applications | ||
+ | |||
+ | ----------- | ||
+ | |||
+ | MATLAB | ||
+ | |||
+ | PROS: | ||
+ | Fastest mathematical and computational platform especially vectorized operations/ linear matrix algebra | ||
Commercial level packages for all fields of mathematics and trading | Commercial level packages for all fields of mathematics and trading | ||
Very short scripts considering high integration of all packages | Very short scripts considering high integration of all packages | ||
Line 20: | Line 47: | ||
Easy to manage multithreaded support and garbage collection | Easy to manage multithreaded support and garbage collection | ||
Best debugger | Best debugger | ||
− | + | ||
− | + | CONS: | |
− | + | Can not execute - must be translated into another language | |
− | |||
− | |||
− | |||
− | |||
− | |||
Expensive ~1000 per license and 50+ per additional individual package | Expensive ~1000 per license and 50+ per additional individual package | ||
Can not integrate well with other langauages | Can not integrate well with other langauages | ||
Line 33: | Line 55: | ||
Worst performance for iterative loops | Worst performance for iterative loops | ||
Can not develop stand alone applications at all. | Can not develop stand alone applications at all. | ||
− |
Latest revision as of 05:22, 9 December 2017
I like Python.
Python PROS: End To End development to execution (some brokers packages allows execution, IB) Open source packages( Pandas, Numpy, scipy) Trading Packages(zipline, pybacktest, pyalgotrade) best for general programming and application development can be a "glue" language to connect R, C++ and others (cython, Rpy etc) Fastest general speed especially in iterative loops
CONS: immature packages especially trading packages some packages are not compatible with others or contain overlap smaller community than R in finance More code required for same operations vs R or Matlab Silent errors that can take a very long time to track down (even with visual debuggers / IDE)
R
PROS:
End To End development to execution (some brokers packages allows execution, IB)
Rapid development speed (60% less lines vs python, ~500% less than C)
Large number of Open Source Packages
Mature quantitative trading packages( quantstrat, quantmod, performanceanalyitics, xts)
Largest Community
Can integrate into C++/C with rcpp
Cons: Slow vs Python especially in iterative loops and non vectorized funtions Worse plotting than matlab and difficult to implement interactive charts Limited capabilities in creating stand alone applications
MATLAB
PROS: Fastest mathematical and computational platform especially vectorized operations/ linear matrix algebra Commercial level packages for all fields of mathematics and trading Very short scripts considering high integration of all packages Best visualization of plots and interactive charts Well tested and supported due to it being a commercial product Easy to manage multithreaded support and garbage collection Best debugger
CONS: Can not execute - must be translated into another language Expensive ~1000 per license and 50+ per additional individual package Can not integrate well with other langauages Hard to detect biases in trading systems (it was built for math and engineering simulations) so extensive testing may be required. EG. look ahead bias Worst performance for iterative loops Can not develop stand alone applications at all.