abbass2 / pyqstrat

A fast, extensible, transparent python library for backtesting quantitative strategies.
BSD 3-Clause "New" or "Revised" License
353 stars 57 forks source link

philosophy and motivation #3

Closed js190 closed 5 years ago

js190 commented 5 years ago

Hi, I wonder if you could comment on the 'Why' for this project? Why not extend one of the other Python (or otherwise) backtesting frameworks? What do you hope to do differently than the other frameworks?

I'm evaluating whether to roll my own or extend.

Thanks for opensourcing! Will hope to contribute if I take the plunge.

abbass2 commented 5 years ago

Hi js90,

Here are the lines from the README file that explain why I built pyqstrat:

"The pyqstrat package is designed for backtesting quantitative strategies. It was originally built for my own use as a quant trader / researcher, after I could not find a python based framework that was fast, extensible and transparent enough for use in my work.

This framework is designed for capable programmers who are comfortable with numpy and reasonably advanced Python techniques.

The goals are:

Speed - Performance sensitive components are written at the numpy level, or in C++, which can lead to performance improvement of several orders of magnitude over python code. Where possible, we parrallelize work so you can take advantage of all the cores available on your machine. Transparency - If you are going to commit money to a strategy, you want to know exactly what assumptions you are making. The code is written and documented so these are as clear as possible. Extensibility - It would be impossible to think of all requirements for backtesting strategies that traders could come up with. In addition, traders will want to measure different metrics depending on the strategy being traded."

Hope this helps. Let me know if you have more questions.

Best,

Sal

On Nov 12, 2018, at 4:23 AM, js190 notifications@github.com wrote:

Hi, I wonder if you could comment on the 'Why' for this project? Why not extend one of the other Python (or otherwise) backtesting frameworks? What do you hope to do differently than the other frameworks?

I'm evaluating whether to roll my own or extend.

Thanks for opensourcing! Will hope to contribute if I take the plunge.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/abbass2/pyqstrat/issues/3, or mute the thread https://github.com/notifications/unsubscribe-auth/AETdVzQsp1z-hMHRMb6S5FBm2XSAraBIks5uuUwxgaJpZM4YZWl2.