Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
How do refer to previous days in algorithm

Hello. I'm a student. New to Quantopian and a bit rusty with python...

I want to create an algorithm that acts only if a certain condition is satisfied on the current trading day and the previous day or two...

for example

if data[context.stock].price >= XYZ and data[context.stock].price >= XYZ (for the previous day):  
    order...

what are some ways I could do this?

Thanks!!!

5 responses

You need to use the history function as in the API documentation.

as I understand it, the history function only works with minute data, I'd like to use daily data... is there a way to do this without the history function?

The history function can be set for daily data even if you are on minute mode.

I'd give you an example but I'm on my phone right now.

Johhny's correct, you can get both daily and minutely history data in minute-mode backtesting.

Here's an example:

prices = history(2, '1d', 'price')  # yesterday's close price and the price last minute  
yesterday_price = prices.iloc[-2]  # only get yesterday's close price  

This can be further expanded to compare prices from different days:

five_day_prices = history(6, '1d', 'price')  #close prices from last 5 days and price from the last minute  
price_three_days_ago = five_day_prices.iloc[-4]  
price_yesterday = five_day_prices.iloc[-2]  
price_last_minute = five_day_prices.iloc[-1]  

Take a look at the history documentation, it gives some more examples. History() returns a pandas dataframe, which can be easily sliced and indexed. To learn more here's the pandas documentation.

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.

somehow I missed that in the API docs
Alisa, you're awesome!

thanks everyone.
much appreciated