Skip to content

Commit ec87aae

Browse files
committed
REF: Rename _Data.__i to more appropriate _Data.__len
1 parent 0ce24d8 commit ec87aae

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

backtesting/_util.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class _Data:
109109
"""
110110
def __init__(self, df: pd.DataFrame):
111111
self.__df = df
112-
self.__i = len(df)
112+
self.__len = len(df) # Current length
113113
self.__pip: Optional[float] = None
114114
self.__cache: Dict[str, _Array] = {}
115115
self.__arrays: Dict[str, _Array] = {}
@@ -124,8 +124,8 @@ def __getattr__(self, item):
124124
except KeyError:
125125
raise AttributeError(f"Column '{item}' not in data") from None
126126

127-
def _set_length(self, i):
128-
self.__i = i
127+
def _set_length(self, length):
128+
self.__len = length
129129
self.__cache.clear()
130130

131131
def _update(self):
@@ -136,18 +136,18 @@ def _update(self):
136136
self.__arrays['__index'] = index
137137

138138
def __repr__(self):
139-
i = min(self.__i, len(self.__df)) - 1
139+
i = min(self.__len, len(self.__df)) - 1
140140
index = self.__arrays['__index'][i]
141141
items = ', '.join(f'{k}={v}' for k, v in self.__df.iloc[i].items())
142142
return f'<Data i={i} ({index}) {items}>'
143143

144144
def __len__(self):
145-
return self.__i
145+
return self.__len
146146

147147
@property
148148
def df(self) -> pd.DataFrame:
149-
return (self.__df.iloc[:self.__i]
150-
if self.__i < len(self.__df)
149+
return (self.__df.iloc[:self.__len]
150+
if self.__len < len(self.__df)
151151
else self.__df)
152152

153153
@property
@@ -160,7 +160,7 @@ def pip(self) -> float:
160160
def __get_array(self, key) -> _Array:
161161
arr = self.__cache.get(key)
162162
if arr is None:
163-
arr = self.__cache[key] = cast(_Array, self.__arrays[key][:self.__i])
163+
arr = self.__cache[key] = cast(_Array, self.__arrays[key][:self.__len])
164164
return arr
165165

166166
@property

0 commit comments

Comments
 (0)