I constantly find that I am getting the following warning: “Warning: No quote information available at 06/20/2023 10:00:00 America/New_York, order filled using TradeBar data”.
what does this mean in practice? does it mean that the order is not taking into account the bid ask spread? is anyone able to decode what this message actually means in practice for us because if the price is unreliable why not just throw the error on the entire backtest… if it is the right price,, why make the warning.. it seems to me the price is either correct at which the trade realistically could have been executed or not.. its just not clear what we should takeaway from such a warning
Mia Alissi
This warning message is related to the fill models used in QuantConnect's backtesting engine. When an order is placed, the fill model determines the price at which the order is filled. Ideally, this would be based on quote data (bid/ask prices), but if quote data is not available at the time of the order, the fill model will use trade data (last traded price) instead. This is what the warning message is indicating.
In practice, this means that the fill price of the order might not be as accurate as it could be if quote data was available. The bid/ask spread is not taken into account when using trade data, which could potentially lead to more favorable fill prices than would be realistic, especially for illiquid assets.
The warning is there to inform you of this potential inaccuracy. It doesn't necessarily mean that the fill price is unreliable, but it might not be as precise as it could be. The backtest continues to run because the fill price is still based on real data (the last traded price), so it's not completely unrealistic.
If you're seeing this warning frequently, you might want to consider using higher resolution data (if you're not already) or trading more liquid assets. You can also adjust the length of time that needs to pass before an order is considered stale (filled with old data) by setting the
StalePriceTimeSpan
setting. Here's how you can do it in Python:This will consider an order stale if it's filled with data that's more than 10 minutes old.
Sources:
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.
Pavel Fedorov
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!