Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
feature request - access to other results?

It'd be useful to be able to access results beyond the canned ones that Quantopian outputs. I can imagine having the capability to generate user-defined tables, plots, etc. Your present GUI seems to be pretty limited, relative to what one would have with MATLAB, for example.

7 responses

@Grant, could you clarify - do you mean you want us to let you download the returns information and so on? or you want to be able to generate plots in the Quantopian GUI?

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.

My basic message is that there isn't much flexibility, as I would have if the data resided on my hard drive and I were analyzing it with a tool like MATLAB. For example, if I wanted to create a custom plot of a statistic versus time, how could I do it?

@Grant, yes, that's a much requested feature which we are planning at the moment so maybe you could give some feedback:

one idea is to provide a add_plot(var) function where var is some variable in your algorithm (e.g. moving average). The backtester will then continuously read out that variable and plot its progression along with the returns and other graphs.

Another more flexible method would be to allow calls to matplotlib and in the backtester you would get a window with your specific figures that will be updated in real-time. Then, however, it would be up to you to make sure that they display the history of previous values.

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.

@Thomas, long-term, I suggest the more flexible approach of allowing calls to matplotlib, with examples of how to use it in the context of Quantopian. The add_plot(var) might be handy as a first step, but my sense is that as a research tool, users will want to define their own plots.

@Grant, thanks for the feedback, that's very helpful!

@Grant, I had been thinking the add_plot would be distinguished from matplot lib by streaming results as the test runs, rather than a static image at the end of a run. I think it is important, not just because it looks nice, but because it accelerates iteration. Even shaving a few minutes from a creative cycle has been shown to accelerate learning, so we are avidly pursuing shorter and shorter iterations for algo development.

That being said, matplot lib is just amazing in its versatility and ease. So, I would want to somehow create a short iteration around matplotlib as well. I think this comes down to timing and to the user experience of plotting. Maybe it is something like logging, where generated images can pop onto a list in the UI. The question is when would you want to spin off a chart, and in what code blocks? Seems to me that in the upcoming trailing window code, where you'll have a full blown pandas data frame of a year of data, would be the ideal spot.

Spark any thoughts for you?

@Fawce...I suppose periodically updating charts would be a nice feature. One can start to think about the results before they are completely reported (and cancel the computation if no longer useful). I'm not sure this will always be the case, since generating some charts may require operating on the entire data set of interest and then reporting a result.

I'll have to get up the learning curve and write an algorithm to be able to provide better guidance on the exact cases for which additional plots would be useful.