Don't have an account? Join QuantConnect Today
QuantConnect Community Discussions
QUANTCONNECT COMMUNITY
LEAN is the open-source algorithmic trading engine powering QuantConnect. Founded in 2012 LEAN has been built by a global community of 180+ engineers and powers more than 300+ hedge funds today.
Join QuantConnect's Discord server for real-time support, where a vibrant community of traders and developers awaits to help you with any of your QuantConnect needs.
The Open-Quant League is a quarterly competition between universities and investment clubs for the best-performing strategy. The previous quarter's code is open-sourced, and competitors must adapt to survive.
Discussing key concepts and research guide documentation in QuantConnect.
Continue ReadingRefer to our Research Guidelines for high quality research posts.
Create an account on QuantConnect for the latest community delivered to your inbox.
Sign Up Today
|
|
|||||||
|
|
||||||||
|
Documentation discussion key-concepts/research-guide
QuantConnect Robot | June 2019
QuantConnectâ„¢ 2025. All Rights Reserved
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".
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.
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.
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.
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
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.
Alexandre Catarino
Hi Randall Cooper ,
Thank you for the report.
We have fixed that issue.
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!