Back

New Compiler

Hello All,

We launched a new compiler technology today which should do stateful incremental compiles. This should, in theory, be 10x faster compiling for python projects! You should see this new technology in build 2.4.0.0.4000

If you have any issues please let us know. We're all on standby monitoring the system to make sure its a smooth transition =)

Best,

Jared

Update Backtest





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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.



Hi, Always get a timeout after adding a new method to the default script. Please check.

import numpy as np
import datetime

### <summary>
### Basic template algorithm simply initializes the date range and cash. This is a skeleton
### framework you can use for designing an algorithm.
### </summary>
class BasicTemplateAlgorithm(QCAlgorithm):
'''Basic template algorithm simply initializes the date range and cash'''

def Initialize(self):
'''Initialise the data and resolution required, as well as the cash and start-end dates for your algorithm. All algorithms must initialized.'''

self.SetStartDate(2013,10, 7) #Set Start Date
self.SetEndDate(2013,10,11) #Set End Date
self.SetCash(100000) #Set Strategy Cash
# Find more symbols here: http://quantconnect.com/data
self.AddEquity("SPY", Resolution.Second)
self.Debug("numpy test >>> print numpy.pi: " + str(np.pi))

self.params = {}
self.params['market_open_time'] = datetime.time(9, 31)

def on_market_open(self):
return

def OnData(self, data):
'''OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here.

Arguments:
data: Slice object keyed by symbol containing the stock data
'''
if self.Time.time == self.params['market_open_time']:
self.on_market_open()

if not self.Portfolio.Invested:
self.SetHoldings("SPY", 1)
0

Hi Jared,

We've been debugging a similar issue here all day. Everything was working fine last night, but since this morning there's been an odd phenomenon where each project seems to be getting into an inconsistent build state as soon as *any* code in the project causes a build timeout (and build timeouts seem to occur as soon as a given file gets to around ~256 or so lines).

After the first build timeout within a project, nothing we try to compile in that same project ever works again, regardless of what code we're trying to run. So, for example, if we:

(1) Create a new project, and build the "Basic Template Algorithm" code as is without changing anything, it works.

(2) We then delete the template code, and in its place we copy/paste some code that compiled just fine last night from a local backup. The file is about 500 lines, but it could be any length up to around ~256 or so. That will then cause a build timeout.

(3) We then hit Ctrl+Z until the project window contains the original ""Basic Template Algorithm"" code, and now that template code that just worked a minute ago will fail to build indefinitely, no matter how many times we try to rebuild it. 

So in summary, we can create a situation where any given code fragment that compiles successfully in attempt (1) will then fail to compile in attempts (3) - (N), if the code we run in step (2) happens to cause a build timeout.

Mentioning this here because it sounds like it's likely to be an issue with this stateful compilation business.

Any ideas on how we can get around this?

Thanks. :)

0

Hey Jason! If possible when you find an edge case like that please send a ticket via the support tab in the left of the IDE with the project attached so we can repeat/debug it.

Tomac; we found a bug where it's not reporting illegal function usage; if you rename your method to not look like "open(" it'll work.

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Thanks Jared, will do! Just to clarify though, I didn't mean it to sound like an edge case. What I should have said is that we can't run anything on the platform anymore (since yesterday morning), and every project that was previously working is now stuck in a build timeout loop, which sounds similar to the issues that other folks in the thread are facing, and it seems like it might be related to the stateful compilation. The post from before was just my (probably a bit too detailed) attempt to describe the failure mode we were seeing, so that it might help with pinpointing the source of the problem. I'll go submit a support ticket too, but I'd be interested to know if anyone else is running into similar problems. Anyways, thanks again for the help, as always. :)

1

Hi Jared, Thanks for the feedback. But I am having the same experience as Jason Wilkes. Effectively, anything I want to build gets the "Build Timeout, please check your internet connection." msg. Do you see similar experience on your end? 

0

Hi Tomac every issue is unique; please send a repeatable case to support so we can debug it via the left support tab or support@quantconnect.com.

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


BTW Tomac I already replied to you above:
'Tomac; we found a bug where it's not reporting illegal function usage; if you rename your method to not look like "open(" it'll work."

 

0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Update Backtest





0

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 QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect 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. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.


Loading...

This discussion is closed