As a Quantopian migrant, happy to finally have ported an algorithm to QC. It is a simple gap trade algorithm. Every day it narrows down the universe of US equites to :


previous day volume in top 15 percentile

It then takes 3 equities that gapped the most, checks their 5 day gain adds it, and selects top 2 to buy.

First impression of QC is that it is a much more robust platform. Obviously a ton of work went into creating it. Good job QC! On a negative side there are a few issues that might be a result of not knowing the platform well enough. Here there are:

a) It takes 16 seconds for backtest to execute on Quantopian, and 412 seconds on QuantConnect. And it is only a month long backtest.

b) Is there a simpler/more efficient way to achieve universe selection?

Every day I want to take US equities that have a price of more than $10, and are in top 15% by past 3 days trading volume. In Quantopian I would write something like:

pipe.set_screen(AverageDollarVolume(window_length=3, mask=(USEquityPricing.close.latest > 10)).percentile_between(85, 100))

What is the efficient way to do the same in QC?

c) How would one select by past X days of trading volume (the current algo does only previous day)?

d) Backtest console throws this error (but finished nevertheless)

Backtest Handled Error: We currently only support 500 symbols subscribed with minute resolution at a time due to physical memory limitations

What does this mean?

e) Are there plans for a debugger?

f) When I increased the test to 1 year I got this:

Runtime Error: System.Exception: Execution Security Error: Memory Usage Maxed Out - 8192MB max, with last sample of 9207MB. 

Basically not being able to execute it.

h) Would I be able to run this algo live with 512MB limitation?

Currently my confidence of able to use QC is about 50%. I assume the algo is inefficient in some way and these concerns can be addressed by tweaking it.