Tag Info

Hot answers tagged

24

Don't have to switch -- it's not either / or after all. Use either where it has an advantage: R for explorations, modeling, ... and C++ for industrial-strength and high-performance implementations (at a possible cost in terms of time to code). And (with the obvious Rcpp plug coming) you can even combine both of them.


18

R can be pretty slow, and it's very memory-hungry. My data set is only 8 GB or so, and I have a machine with 96 GB of RAM, and I'm always wrestling with R's memory management. Many of the model estimation functions capture a link to their environment, which means you can be keeping a pointer to each subset of the data that you're dealing with. SAS was much ...


12

I am not an R advocate, but can witness that R is trivially very, very good at data analysis. It is essentially a LISP-like functional language domesticated enough to make you productive in one afternoon. It is unbeatable at getting data in your system, analyzing them, and producing high-quality output, be it latex reports or charts. I have used several ...


10

The greatest weakness and greatest strength of R is that it is not a strongly typed language. Therefore easy tasks in strongly typed languages such as re-factoring, auto-compiler checks, unit testing, etc. can be more difficult in R. On the other hand, one can rapidly prototype in the R language. R is an interpreted language -- it will dynamically convert ...


7

"Extreme programming" is a buzzword that has received a lot of hype in the past few years. However it's important to note that it's only one item in the long list of SW development philosophies and that it's not - contrary to its proponents' claims - a panacea. On the other side it's very beneficial to follow a few simple rules while writing even small ...


7

I have only seen one framework that works in a research oriented development environment which is the spiral model. Using try agile methodologies is impossible because the frontier of tasks is not known. Agile is very useful for building/maintaining known applications with known functionality and problem spaces. It is not useful for research oriented ...


7

DSpace@MIT - High frequency trading system design and process management (non-printable) This thesis provides a detailed study composed of high frequency trading system design, system modeling and principles, and processes management for system development. Particular emphasis is given to backtesting and optimization, which are considered the most ...


7

As a disclaimer, I'm a noted advocate of using Python to build production systems for quant finance (old talk but: http://python.mirocommunity.org/video/1531/pycon-2010-python...). I've been very successful at doing it and largely as the result of my example many other quant shops have chosen the Python route to excellent results. The pandas Python library ...


6

Getting something up and running quickly -- i.e. data manipulation and exploration are activities R are adept at, and there are a plethora of packages to help you. Flexibility and speed (of research) are R's primary strengths. I feel memory and computing power are less expensive than the thought cycles used to explore an idea. If you're entering a ...


5

What about customizing KNIME (Open source aswell) for this particular problem? I am no expert, just my two cent. KNIME comes with Weka(I dont mean complete Weka, but a basic machine learning functions) & R integration aswell(Importing/Exporting R codes are easy), Text Mining, Neural Nets etc. I reckon, KINME(www.knime.org) with it's enterprise ...


5

Additionally I would recommend Evidence-based technical analysis by David Aronson It explains the whole process (including the complete statistical background) of rigorously setting up the basis for your trading system. See for a short summary of important points here: CXO Advisory See for a review here (including some practical advice and programs how ...


5

In addition to Chan's Quantitative Trading, I have also found the description of trading systems in Rishi Narang's Inside the Black Box to be informative and interesting. There are a few chapters there that give some details on system development, but they are very broad overviews.


4

There are some Agile benefits that you will reap, even if you are the sole programmer. You may feel silly doing a scrum by yourself in the morning. But you may find it to be a benefit to plan what you would like to work on that day, and to think about what you might need that day (especially if you need to read about solving a quant problem). Planning out ...


4

In terms of system design, I learned the most by reading the developer guides and exchange connectivity specs for various exchanges. You probably won't be connecting to these directly, but understanding how the sessions, book updates, snapshotting works, and what events can occur is very useful. Also, google for the Max Dama automated trading PDF, which ...


4

I just finished "High-Frequency Trading: A Practical Guide to Algorithmic Strategies and Trading Systems" by Irene Aldridge -- I think it provides a very good overview of HFT, considerations of different aspects of trading systems, and good introductions to many formulas and research.


4

Is it worth it to learn R? Switching from C/C++ to R has increased my productivity and shrunk code line-counts for similar tasks by roughly an order of magnitude. To give a small flavor of why, consider one of the most common patterns of iteration over some collection, selection and action: declare iterator for collection for element in collection ...


4

If I were starting fresh, I would choose -IPython -Numpy+Scipy -Pandas (http://wesmckinney.com/blog/) You can get a one-click install from Enthought, http://enthought.com/. Python is hot on the heels of R as an exploratory data analysis solution for finance, and it's a heck of a lot more fun to write code in (imho:). Plus, python tends to play well with ...


3

For me, the questions are who is using R? (large companies?) Who is hiring R programmers and does it look like a language of choice in a field (finance, medical, automotive) with a strong future? I've been developing in C/C++ for almost 17 years now and it has easily kept me gainfully employed. I started out writing small DOS applications, did a fair ...


3

As an agile developer and quant finance programmer, I think that unit testing is invaluable. Because you really never know if your code is doing what it is supposed to do without tests. How do you know that your code is calculating your proprietary indicators correctly? You probably ran your new code and checked the result against some other code or system ...


1

That depends on your application, obviously. If you intend to run Matlab or Python on a single machine, and you're looking into which graphics card to buy, multiplication vs addition should not matter much. I that situation I would recommend an Nvidia card which features CUDA. For CUDA, there are lot of libraries available which make it easy to adapt ...


1

An important part of research is reproducibility of results. There is no point of drawing conclusions, if you can't reproduce the data to back them up. For this you need at least an organized way of storing your code, so that you can find what was the algorithm you used to produce that graph. A source code repositore is an ideal way to do it. By the same ...


1

Check out the following link with videos: I believe Richard Olsen organised the first high-frequency trading conference: http://www.birs.ca/events/2013/5-day-workshops/13w5008/videos


1

There are three languages : c++, R , python. Performance wise : c++ > python >> R Packages available : R >> python >> c++ Ease of manual exploratory analysis : R > python >> c++ Ease of adding GUI like features and interactivity: python > c++ >> R Ease of programming small projects : R > python >> c++ Ease of programming large projects : c++ > python ...



Only top voted, non community-wiki answers of a minimum length are eligible