27 lines
959 B
Python
27 lines
959 B
Python
import datetime
|
|
import time
|
|
import timeit
|
|
|
|
import pandas
|
|
|
|
from pyfacts.pyfacts 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)
|