Đây là một hàm ATR nguồn mở được viết bởi các chủ sở hữu và các nhà quản lý, xin các bạn hãy viết một phiên bản của PANDAS mà không sử dụng chức năng TALIB.
def ATR ((đăng ký, khoảng thời gian=14):
if len ((records) == 0:
trả lại []
nếu
R = Std._zeros(len(records))
m = 0.0
n = 0.0
for i in xrange(0, len(records)):
TR = 0
if i == 0:
TR = records[i]['High'] - records[i]['Low']
else:
TR = max(records[i]['High'] - records[i]['Low'], abs(records[i]['High'] - records[i - 1]['Close']), abs(records[i - 1]['Close'] - records[i]['Low']))
m += TR
if i < period:
n = m / (i + 1)
else:
n = (((period - 1) * n) + TR) / period
R[i] = n
return R
Cỏ nhỏKhông có sự khác biệt về tốc độ