Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
MA crossover on weekly price data.

I'm trying to understand schedule_function in Quantopian. I understand that initialise context runs once at start of backtest and downloads daily price data from Quantopian, quandl or similar. I'm trying to build a trendfollowing strategy where I buy when 10 MA goes above 50MA and sell when the opposite happens (long only) . This should be quite similar to a 50/200 Daily MA crossover strategy bu I'm tring to convert daily data into weekly data with schedule function. Looking at backtest however it seems that this schedule function simply gives every day of week same price as end of week (weekly steps in AAPL price) and therefore weekly steps in MA lines? Ids there any way to have weekly price data and therefore MA values in quantopian? Price history doesnt seem to allow weekly intervalls?
Hopefully somebody can point me into right direction...

4 responses

Hi Dirk,

schedule_function doesn't affect the frequency of data bars; data.history always returns minute or daily bars depending on the frequency argument you give it, '1m' or '1d'. However, there is a way to convert daily data into weekly data if you need to. We can do it using Pandas's resample method.

Simply take the daily bars you got from data.history, for instance, price_history10, and do something like this:

price_history10_weekly = price_history10.resample('W', how='mean')  

The 'W' is specifying that the data be converted to weekly bars. The how keyword argument specifies how the data for each week should be consolidated. Besides 'mean', you can specify 'sum', 'first', 'last', 'min', 'max', etc. The resample function is documented here.

Let me know if this helps!

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 Nathan! You're the first person in all the forum to explain this clearly! How does weekly data typically consolidate? If I pull up a weekly chart with TDAMERITRADE(for example), is it providing a sum of the week, or just the last price of the week?

Hi Addison

Did you ever get an answer to this question? I'm wondering the same thing.

Hi Caleb, I never did get the answer to the question. Sorry to report. I'll keep the assumption that TDAmeritrade will use the week's close until I prove otherwise.