import datetime import time import timeit import pandas from fincal.fincal import AllFrequencies, TimeSeries, create_date_series dfd = pandas.read_csv('test_files/msft.csv') dfm = pandas.read_csv('test_files/nav_history_monthly.csv') dfq = pandas.read_csv('test_files/nav_history_quarterly.csv') data_d = [(i.date, i.nav) for i in dfd.itertuples()] data_m = [{'date': i.date, 'value': i.nav} for i in dfm.itertuples()] data_q = {i.date: i.nav for i in dfq.itertuples()} data_q.update({'14-02-2022': 93.7}) tsd = TimeSeries(data_d, frequency='D') tsm = TimeSeries(data_m, frequency='M', date_format='%d-%m-%Y') tsq = TimeSeries(data_q, frequency='Q', date_format='%d-%m-%Y') start = time.time() # ts.calculate_rolling_returns(datetime.datetime(2015, 1, 1), datetime.datetime(2022, 2, 1), years=1) bdata = tsq.bfill() # rr = tsd.calculate_rolling_returns(datetime.datetime(2022, 1, 1), datetime.datetime(2022, 2, 1), years=1) print(time.time() - start)