Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Feature request: Strategy version control

I've noticed that when I change or refactor a strategy and then come back to it a few days, I can't remember what those changes were or why it's now broken!

It would be great to have some kind of version control to see the change history of a strategy and maybe even compare the performance of different versions of a single strategy.

Aidan

5 responses

+1 awesome idea!

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

This is indeed a great idea +1. Have lost count of the number of times I've wanted to return to previous code versions of a strategy I'm working on because I've messed up something along the way.

Another couple of ideas I thought might be cool:

1) being able to add meta tags to a strategy, such as "pairs" or "mean reversion", and then allow for a user to be able to search their strategy library using such tags
2) related: once a user has a lot of strategies in their "My Algorithms" it might be nice to be able to use a "sort by" drop down, where you can sort by things like the Sharpe Ratio or the Cumulative Return of the strategies that are there

I've been thinking about this a bit more and a nice solution might be to have a "Commit" button alongside the "Save" button. When you hit "Commit", you would be required to add a comment (git or svn like) and that version would be saved to the version history. Having the ability to see version diffs like github would also be nice.

@Tim, I like your second idea a lot, +1!

Hi Aidan and Tim, thanks for the suggestions!

We just released a diff tool that you can use to compare two backtest runs of the same strategy. Just go to your backtest list for an algorithm, select two backtests, and click "Compare". For now, we're using a full backtest run as the trigger to save a version, but I can see having more granular control in the future like Aidan suggested with a "Commit" button.

Let us know what you guys think!

thanks,
Jean, Quantopian

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

Bumping this request since it would be better than having to run a full backtest each time you wan to "commit" a revision