reduced the use of self.dates
This commit is contained in:
parent
56af7c33aa
commit
b9366541f3
@ -124,11 +124,11 @@ class TimeSeriesCore:
|
|||||||
data = _preprocess_timeseries(data, date_format=date_format)
|
data = _preprocess_timeseries(data, date_format=date_format)
|
||||||
|
|
||||||
self.time_series = dict(data)
|
self.time_series = dict(data)
|
||||||
self.dates = set(list(self.time_series))
|
self.dates = list(self.time_series)
|
||||||
if len(self.dates) != len(data):
|
if len(self.time_series) != len(data):
|
||||||
print("Warning: The input data contains duplicate dates which have been ignored.")
|
print("Warning: The input data contains duplicate dates which have been ignored.")
|
||||||
self.start_date = list(self.time_series)[0]
|
self.start_date = self.dates[0]
|
||||||
self.end_date = list(self.time_series)[-1]
|
self.end_date = self.dates[-1]
|
||||||
self.frequency = getattr(AllFrequencies, frequency)
|
self.frequency = getattr(AllFrequencies, frequency)
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
|
@ -177,10 +177,14 @@ class TimeSeries(TimeSeriesCore):
|
|||||||
) -> List[tuple]:
|
) -> List[tuple]:
|
||||||
"""Calculates the rolling return"""
|
"""Calculates the rolling return"""
|
||||||
|
|
||||||
all_dates = create_date_series(from_date, to_date, getattr(AllFrequencies, frequency))
|
try:
|
||||||
dates = set(all_dates)
|
frequency = getattr(AllFrequencies, frequency)
|
||||||
|
except AttributeError:
|
||||||
|
raise ValueError(f"Invalid argument for frequency {frequency}")
|
||||||
|
|
||||||
|
dates = create_date_series(from_date, to_date, frequency)
|
||||||
if frequency == AllFrequencies.D:
|
if frequency == AllFrequencies.D:
|
||||||
dates = all_dates.intersection(self.dates)
|
dates = [i for i in dates if i in self.time_series]
|
||||||
|
|
||||||
rolling_returns = []
|
rolling_returns = []
|
||||||
for i in dates:
|
for i in dates:
|
||||||
@ -193,8 +197,8 @@ class TimeSeries(TimeSeriesCore):
|
|||||||
closest=closest,
|
closest=closest,
|
||||||
)
|
)
|
||||||
rolling_returns.append((i, returns))
|
rolling_returns.append((i, returns))
|
||||||
self.rolling_returns = rolling_returns
|
rolling_returns.sort()
|
||||||
return self.rolling_returns
|
return rolling_returns
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
Loading…
Reference in New Issue
Block a user