Back

Selling stocks after a certain time

So I am new to QuantConnect, and new to creating algorithms in general. I have been trying to develop a strategy that buys a stock from S&P 500 and sells it after a certain amount of time (say 15 minutes). How do I do this? I have been going through the bootcamp but it doesn't seem to be helping much. I'm not trying to create a stopMarketOrder, rather I want to sell the stock I bought after said period of time. This strategy is just to get my bearing on the programming language.

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.


Please refer documentation on scheduled events 

https://www.quantconnect.com/docs/algorithm-reference/scheduled-events

You may note/save trade time and then schedule call to self.MarketOrder() after adding required time period.  Above link has sample/example algorithm as well.

Thanks.

0

Hey Nadeem,

A simple way of accomplishing this is by keeping track of when your entry trade was made with a variable. Then later checking whether the difference between the current time and the entry time has been at least 15 minutes before placing an exit trade. Here's a sample snippet.

class ParticleHorizontalCoil(QCAlgorithm):
     def Initialize(self):

         self.SetStartDate(2019, 10, 1) # Set Start Date
         self.SetCash(100000) # Set Strategy Cash
         self.AddEquity("SPY") # Add our equity

         self.entryTime = self.UtcTime


    def OnData(self, data):

         #If we are not already in a position
         if not self.Portfolio.Invested:
             #Place a market order and save the order time in our variable
             self.entryTime = self.MarketOrder("SPY", 100).Time
        else:
             #If we are in a position and it has been at least 15 minutes
             if (self.UtcTime - self.entryTime) >= timedelta(minutes = 15):
                  self.Liquidate("SPY")

 

3

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