Is it possible to do backtesting locally, without relying on server?

Hi - I'm considering an operating model in which I make use of backtesting more extensively, and I was wondering if it is possible/common to do backtesting locally, in our own machine or server, instead of relying on a vendor's server. If this is a feasible/advisable approach, any pointing to the right direction would be welcome.

Kind regards,

Michel

Yes, definitely feasible. Advisable? it depends. For serious trading, any local setup to backtest strategies must have two things in place -


  1. high quality datasets (otherwise gargage-in, garbage out).
  2. a high quality local infrastructure (setup) that mimicks your real-life trading setup as close as possible.



    In most platforms/ vendors, you should expect them ready-made (quality may vary on both counts though).



    The choice of going for third-party platforms or developing it locally depends on what is the best use of your time and resources.  Developing a robust set-up may take months, if not years. After the developement, you have the endless opportunity to customize/ improve vs. constant need of maintenance that will demand significant time. It is pretty common for trading desks at large houses to have their own setup, as they have enough qualified people to handle it. Setting up a local backtesting environment is also a good exercise for students and beginners. It offers an excellent learning opportunity. On the other hand, if you are not very familiar with programming and operations, it can be very daunting, and the outcome can be dangerously misleading. Sometimes, using a third-party backtesting library can speed up the process of setting up local environment. But data and other parts of the infrastructure and operations are still something you need to take care of.



    Here are a few third-party library that can help getting started with local setup. Blueshift is also slated for an open source release towards end of this year, so keep an eye out for that as well!

     

Thank you, I'll take that under consideration.