Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Backtest intraday strategy with daily bar data

Hi,

Could you help understand how to backtest intraday strategy?

For example, in the handle_data function I would like to open position with open price and close it with close price.

I do it this way:

order(context.security, 10, limit_price = data[context.security].open_price)  
order(context.security, -10, limit_price = data[context.security].close_price)  

But I don't see this 2 transaction in the transactions.

Do you have example for this kind of backtesting?

Thanks.

2 responses

Hi Denis,

In order to implement an intraday strategy, you will need to run your backtest in minute mode. If you would like to only order at market open and market close, you can use the schedule_function() to schedule each of these methods.

As an example:

def initialize(context):  
  schedule_function(  
    func=open_positions,  
    date_rule=date_rules.every_day(),  
    time_rule=time_rules.market_open(minutes=1),  
    half_days=True  
  )

  schedule_function(  
    func=close_positions,  
    date_rule=date_rules.every_day(),  
    time_rule=time_rules.market_close(minutes=1),  
    half_days=True  
  )  

And then you can define the open_positions(context, data) and close_positions(context, data) methods to trade as you would like!

Disclaimer

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 Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian 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.

Thank you, that's is helpful.