Some investors/researchers argue that we could adopt a 52-week high and low trading strategy by taking a long position if today's price is close to the maximum price achieved in the past 52 weeks and taking an opposite position if today's price is close to its 52-week low. Let's randomly choose a day of 12/31/2016. The following Python program presents this 52-week's range and today's position:
import numpy as np from datetime import datetime from dateutil.relativedelta import relativedelta from matplotlib.finance import quotes_historical_yahoo_ochl as getData # ticker='IBM' enddate=datetime(2016,12,31) # begdate=enddate-relativedelta(years=1) p =getData(ticker, begdate, enddate,asobject=True, adjusted=True) x=p[-1] y=np.array(p.tolist())[:,-1] high=max(y) low=min(y) print(" Today, Price High Low, % from low ") print(x[0], x[-1], high, low, round((x[-1]-low)/(high-low)*100,2))
The corresponding output is shown as follows: