QUANTCONNECT COMMUNITY
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.
Bert Vaughan Merrick
The automatic parameter detection is a nice idea in theory, but at the moment I don't think it works very well yet. That's because it tends to detect things linke basic array indexing offsets as relevant strategy parameters when they are clearly not.
Like in this example:
# nested loop to create combinations (i.e. pairs) of symbols for i in range(len(self.symbols)): for j in range(i+1,len(self.symbols)): # here, '1' is detected as a parameter that contributes to overfitting # ...
Is there any way around this?
It would really find it useful to be able to distinguish between actual strategy parameters, which affect performance, and trivial programming patterns such as "iterator plus one".
Â
Â
Jared Broad
Thanks for the feedback @Bert, we're constantly improving the parameter detection system and will keep your comments in mind. There are some cases where the index is an implicit parameter, such as choosing the Nth item in an array vs the N-2th item. We may lean towards only presenting the parameters once in a while vs all the time to prevent the "noise" while coding.Â
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.
Bert Vaughan Merrick
Fair enough. As long as you don't plan to do Alpha scoring based on the automatically detected parameter count, the occasional spurious detection is not really a problem.
Randall Cooper
From what I can tell, the "bare minimum" algorithm (e.g., see below) has 14 parameters detected, whereas the correct number is clearly 0; additionally, the Research Guide says that this algo is "Likely Overfitting."  I think the idea of counting parameters is great, and I applaud your efforts to improve the parameter detection system, but  to me this is the most obvious problem with the current system, and it is perhaps the best place to start debugging.
class BareMinimumAgorithm(QCAlgorithm):
  def Initialize(self):
    pass
Alexandre Catarino
Hi Randall Cooper ,
Thank you for the report.
We have fixed that issue.
QuantConnect Robot
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.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!