Dear community,
I'm new to quantconnect and for learning purposes I am trying to build an algorithm that runs everyday 5 minutes before market close and collect the previous daily closing price of the 500 most liquid equities as well as the current price and then buy the 20 biggest losers.
The problem is that if I set "Resolution.Daily" then the algo is launched at midnight and the order is executed at the next open. While if set "Resolution.Minutes" then the algorithm is way to slow due to the high volume of data.
What I would like to do is keeping the Resolution but I would like it to happen 5 minutes before market close and not at midnight. Or if there is another way to solve this problem ?
Thank you in advance for your comments.
Nibraas Khan
You could consider using a scheduled event. Here is some more information:
https://www.quantconnect.com/tutorials/api-tutorials/scheduled-eventsThe 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.
Baptiste Cartier
Thanks for your suggestion Adam. I implemented both of your comments and it is working fine.
Thanks for your help.
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
AddEquity creates a Security object and subcribes to data updates. In the process of creating a Security, a Symbol object is also created, it is added to a cache so that we can use either the Symbol object or the string (implicit conversion) in all the methods that required a Symbol object as input.
Please add a concrete example of the trouble you are having. Let's make it work!
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.
Pranava INVESTOR
Hi
How about python? Is there a equivalent for "userdefineduniverse" for python? Or is there a "finefiltereduniverse forpython"?
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.
Michael Manus
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.
Wu zheng
I may have this figured out. When AddUniverse(CoarseSelectionFunction,FineSelectionFunction is called in Initialization(). the two filter functions are registered, but the universe is NOT created immediately. The universe management data structure is populated later execution exits Initialization(). As a result, you cannot access universe.Members.Keys in Initialization().
The following shows a work around. They are pieces of my code with editing. (I have less than a month experience with C# and Quantconnect, so excuse me if something does not look normal);
public override void Initialize()
{
//code removed
AddUniverse(CoarseSelectionFunction, FineSelectionFunction);
}
public void InitializationPart2()
{
// Use UniverseManager to find symbols from the Universe Selection
foreach (var universe in UniverseManager.Values)
{
if (universe is UserDefinedUniverse)
{
continue;
}
List<Symbol> symbols = new List<Symbol> (universe.Members.Keys);
Debug(string.Join(", ",symbols.Select(x => x.Value.ToString())));
foreach (Symbol symbol in symbols)
{
//code removed
Debug(symbol.Value);
/code removed
}
}
}
bool firstTimeCallOnData=true;
public void OnData(TradeBars data)
{
if (firstTimeCallOnData) InitializationPart2();
firstTimeCallOnData=false;
}
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.
Wu zheng
The above work around does work
2016-01-05 00:00:00 find universe: QuantConnect.Data.UniverseSelection.FineFundamentalFilteredUniverse 2016-01-05 00:00:00 CPB, DAL, AAL, SJM, GIS, ALK, LUV, K, UAL, JBLU, SAVE, KHC 2The 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
100% correct wu zheng! Nice work!
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!