Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Improvements I would like to see on Quantopian

Hello again,

First of all, let me say big thanks to Quantopian for letting us play with such great tools for free ! :D

Second of all, I am new to both Python and Quantopian. I started learning Python a month ago only after I found out about Quantopian. :D So, forgive me if I say dumb things...

Therefore, It is totally possible that Quantopian already have the capability to do any of the following requests that I make and I do not know it. If that were the case, please kindly teach me how. .. I am willing to learn.

With that being said, here are some stuff that I think Quantopian should add.

1) I think it would be helpful to be able to use record for minute data too. Currently, I believe it records the last variable of the day if you use record on minute mode. It would be great to see how custom signals change during the day too.

2) This is close to number one. I think we should be able to zoom in the graphs in general, especially vertically too.

3) There should be an easier way to find optimal parameters. Let's say we are using a simple system where we use two moving averages to calculate trading decisions. How do we find the best values of moving averages considering that our objective function is sharpe ratio. Currently, I don't know an easy way to solve that optimization problem just by using Quantopian online platform. I realize I might able to do this using zipline library, (which admittedly I have not looked at it in details. ) There is certain difficulty because adjusted minutely data is not easily available, at least not cheaply. In addition, if Quantopian intends to find a huge customer base, there should be an easy way to solve this in online platform.

4) It would be great to be able to access the values such as the Sharpe Ratio, Information ratio, all the stuff we can see above the graph during back test so that someone can develop a strategy that adapts to those values. I understand that it is possible to calculate those values in the code, but, those functions are already written, we might as well use it at once.

Thanks for reading such a long post ! This community Rocks !

Best,

Nyan Paing Tin

10 responses

Hello Nyan,

That's a good list, for sure. Thanks for writing it out so clearly.

1) In backtesting, record() displays in daily granularity. In live trading, it displays in minute granularity. Making backtests display minutely is definitely on the development list.
2) You can zoom in by grabbing the date, but within the limits above. We don't have a vertical zoom. However, in record(), if you click on the legend, you can toggle signals on and off, and that may be the vertical zoom you are looking for.
3) We get a lot of requests for parameter optimization. That's a bigger project, but we have our eye on delivering support for it in the future. Read that link to our blog for some of our thoughts on how it might work.
4) That's an interesting request, and not one that we hear too often. Do you have a specific use case already in mind?

Thanks, Dan

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.

Hey Dan,

Something like iPython Widgets would be amazing for the optimization problem and exploring the parameter space of an algorithm... If I could have a slider that let me change a value in the algo while backtesting I would probably spend a ton of time just staring at the plots, adjusting sliders, clicking buttons.

Hi Dan,

Thank you for your quick reply. I will check out your suggestion.. For number 4, I don't have a specific use case I have in mind. I will let you know if I do.. I forgot one thing.. so, let me add as number 5 here.

5) In doing full backtest, you can see transaction details, which is pretty cool... You can see about 25 transactions in one page and you have to click "Next" to go to the next one.. That is all right if there is only 100 transactions in backtest. But, it becomes somewhat inconvenient if there are 1000 transactions and you want to see what it looks like in the middle of it, let's say transaction 500.
So, it would be convenient to put an easy way to access those values... So, in addition to previous and next, we can add page number 1 2 3 4 5 etc as page number where each page shows a certain amount transaction, the way Google displays results. Again, you might already have the feature and I just don't know how. In that case, please tell me how.

Best,

Hi,
I would vote for a way to download the transactionlist, or at least add last and first button. I have 1500 results..
J.

Nyan and J, you both hit on an area that we're working on right now. We're in the middle of developing an updated transaction details that will let you sort, expand, and filter the data in the table. It will be easier to understand the state of your portfolio each day and to focus on a specific date or security. Keep an eye out!

J, our data license does not allow us to redistribute the data, so unfortunately we cannot allow you to download the transaction list. Once the transaction details table is updated, it should hopefully be easier to manage and understand the data.

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.

@Alisa,
If I understand well it is not allowed to download the transactions where a buy/sell took place for further investigation? I do not mean the data of the stock/ bars/ tick itself. I mean the data the algorithm produces.
J.

The problem is that transaction data is price data. If your algo buys one share every minute, then you download the transactions, then you have the price data. I haven't figured out a way yet to get that data to you in a form we can legally share that is still useful to you.

Hi Dan,

So what are some potential approaches to providing the ability to download transactions? You could think along the lines of monitoring for suspicious activity, as the credit card companies do. Presumably, your vendor is mainly concerned with wholesale downloads of large data sets that would undermine their business. So, if you could block them, then maybe you'd have a path to negotiate more flexible licensing. You could also cap the amount of data each user could download (in a given month, for example).

Grant

Hello,

That would be nice if we could bypass the limitation of 5 objects ploted to the secondary graph, as it is useful to fine tune signals and parameters.

Thank's
Florent

I'm wondering how long this particular forum format will remain maintainable. Without a hierarchy of topics all posts end up in this tall bucket that continues to fill at the top and rise, forever. With the influx of new participants accelerating this forum will soon become a morass of murmurings between quants. I wonder if The Q realizes this and is planning for a more traditional forum structure. The algo sharing forum is unique, I'll admit. Realize though that 9/10s of all those attached backtests are just so much abandoned baggage that must be lugged around and displayed, generally, for little affect.

Considerations:
Adopt a traditional forum with a post classification hierarchy.
Allow the algo sharing forum to be one of these classifications.
Alter the algo sharing forum's presentation to only show the top attached algo for a post, and include an option to see follow-on shared algos on user demand.