DataFrame resample ohlc from daily to weekly

joel
Jul 12, 2020

import pandas_datareader as pdr# Load the Data
datadf = pdr.DataReader(“MSFT”,
start=’2019–1–1',
end=’2020–12–31',
data_source=’yahoo’)[[‘Open’, ‘High’, ‘Low’, ‘Close’, ‘Volume’]]
data = bt.feeds.PandasData(dataname=datadf)
cerebro.adddata(data) # First add the original data — smaller timeframe
# this is key function to resample data to weekly
datadf1 = datadf.resample(‘W’, label=’left’).agg({
‘Open’: ‘first’,
‘High’: ‘max’,
‘Low’: ‘min’,
‘Close’: ‘last’,
‘Volume’: ‘sum’
})
datadf1.reset_index(level=0, inplace=True)
# have to add 1 day to each ‘Date’, tried many ways, only this works.
datadf1[‘Date’] = pd.to_datetime(datadf1[‘Date’]).apply(pd.DateOffset(1))
datadf1 = datadf1.set_index(‘Date’)
# end of resample to weekly

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response