pybacktest icon indicating copy to clipboard operation
pybacktest copied to clipboard

builtins.AttributeError: 'Series' object has no attribute 'ix'

Open enjoysmath opened this issue 4 years ago • 1 comments

This is an issue with the pictured hello world code (bottom left).

image

Actually, here is the shortest MWE:


import matplotlib
import matplotlib.pyplot as plt
import pybacktest
import pandas as pd

short_ma = 50
long_ma = 200

ohlc = pybacktest.load_from_yahoo('AAPL', start=2000)
ohlc.tail()

ms = ohlc.C.rolling(short_ma).mean()
ml = ohlc.C.rolling(long_ma).mean()

buy = cover = (ms > ml) & (ms.shift() < ml.shift())  # ma cross up
sell = short = (ms < ml) & (ms.shift() > ml.shift())  # ma cross down

bt = pybacktest.Backtest(locals(), 'ma_cross')

print(bt.summary())

matplotlib.rcParams['figure.figsize'] = (15.0, 8.0)

bt.plot_equity()

enjoysmath avatar May 01 '21 08:05 enjoysmath

replacing ix with loc, it may be solved.

aiot-tech avatar Jun 17 '22 15:06 aiot-tech