Often we are more interested in the trend of a data sample than in detrending it. We can still get the trend back easily after detrending. Let's do that for one year of price data for QQQ.
Write code that gets the close price and corresponding dates for QQQ:
today = date.today() start = (today.year - 1, today.month, today.day) quotes = quotes_historical_yahoo("QQQ", start, today) quotes = np.array(quotes) dates = quotes.T[0] qqq = quotes.T[4]
Detrend the signal:
y = signal.detrend(qqq)
Create month and day locators for the dates:
alldays = DayLocator() months = MonthLocator()
Create a date formatter that creates a string of month name and year:
month_formatter = DateFormatter("%b %Y")
Create a figure and subplot:
fig = plt.figure() ax = fig.add_subplot(111)
Plot the data and underlying trend by subtracting the detrended signal:
plt.plot(dates, qqq, 'o', dates, qqq - y, '-')
Set the locators and formatter:
ax.xaxis.set_minor_locator(alldays) ax.xaxis.set_major_locator...