Kannst du bitte diesen Code in den Code von PANDAS umwandeln?

Schriftsteller:- Ich weiß., Erstellt: 2021-06-29 21:03:55, Aktualisiert:

Dies ist eine Open-Source-ATR-Funktion, die von den Vorgesetzten geschrieben wurde. Bitte schreiben Sie eine PANDAS-Version, ohne die TALIB-Funktion zu verwenden.

def ATR ((Einträge, Zeitraum=14)): wenn len ((Einträge) == 0: Rückgabe [] wenn Close nicht in den Aufzeichnungen enthalten ist[0]: Erheben Sie TA.ATR-Argument muss 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

Mehr

Das GrasEs gibt keinen Unterschied.