Xin các bạn có thể chuyển mã này thành mã của Pandas không?

Tác giả:Syue, Tạo: 2021-06-29 21:03:55, Cập nhật:

Đâ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 Close không có trong hồ sơ[0]: nâng TA.ATR lập luận phải KLine

    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

Thêm nữa

Cỏ nhỏKhông có sự khác biệt về tốc độ