Compare commits
7 Commits
a39b4fa606
...
3bf4ca9c61
Author | SHA1 | Date |
---|---|---|
Gourav Kumar | 3bf4ca9c61 | 2 years ago |
= | 941dbb36b3 | 2 years ago |
= | 21de3397a3 | 2 years ago |
= | 8bdd8922cb | 2 years ago |
Gourav Kumar | 9707c095b0 | 2 years ago |
Gourav Kumar | 306a2d730c | 2 years ago |
Gourav Kumar | 371f7e2279 | 2 years ago |
10 changed files with 15288 additions and 30 deletions
@ -0,0 +1,35 @@ |
|||
# type: ignore |
|||
|
|||
import datetime |
|||
import time |
|||
|
|||
import pandas as pd |
|||
|
|||
from fincal.fincal import TimeSeries |
|||
|
|||
df = pd.read_csv('test_files/nav_history_daily.csv') |
|||
df = df.sort_values(by=['amfi_code', 'date']) # type: ignore |
|||
data_list = [(i.date, i.nav) for i in df[df.amfi_code == 118825].itertuples()] |
|||
|
|||
start = time.time() |
|||
ts_data = TimeSeries(data_list, frequency='M') |
|||
print(f"Instantiation took {round((time.time() - start)*1000, 2)} ms") |
|||
# ts_data.fill_missing_days() |
|||
start = time.time() |
|||
# ts_data.calculate_returns(as_on=datetime.datetime(2022, 1, 4), closest='next', years=1) |
|||
rr = ts_data.calculate_rolling_returns(datetime.datetime(2015, 1, 1), |
|||
datetime.datetime(2022, 1, 21), |
|||
frequency='M', |
|||
as_on_match='next', |
|||
prior_match='previous', |
|||
closest='previous', |
|||
years=1) |
|||
|
|||
# ffill_data = ts_data.bfill() |
|||
print(f"Calculation took {round((time.time() - start)*1000, 2)} ms") |
|||
rr.sort() |
|||
for i in rr[:10]: |
|||
print(i) |
|||
# print(ffill_data) |
|||
# print(ts_data) |
|||
# print(repr(ts_data)) |
@ -0,0 +1,37 @@ |
|||
# type: ignore |
|||
|
|||
if __name__ == "__main__": |
|||
|
|||
import datetime |
|||
import time |
|||
|
|||
import pandas as pd |
|||
|
|||
from fincal.fincal import TimeSeries |
|||
|
|||
df = pd.read_csv('test_files/msft.csv') |
|||
df = df.sort_values(by='Date') # type: ignore |
|||
data_list = [(i.Date, i.Close) for i in df.itertuples()] |
|||
|
|||
start = time.time() |
|||
ts_data = TimeSeries(data_list, frequency='D', date_format='%d-%m-%Y') |
|||
print(f"Instantiation took {round((time.time() - start)*1000, 2)} ms") |
|||
# ts_data.fill_missing_days() |
|||
start = time.time() |
|||
# ts_data.calculate_returns(as_on=datetime.datetime(2022, 1, 4), closest='next', years=1) |
|||
rr = ts_data.calculate_rolling_returns(datetime.datetime(1994, 1, 1), |
|||
datetime.datetime(2022, 2, 17), |
|||
frequency='D', |
|||
as_on_match='next', |
|||
prior_match='previous', |
|||
closest='previous', |
|||
years=1) |
|||
|
|||
# ffill_data = ts_data.bfill() |
|||
print(f"Calculation took {round((time.time() - start)*1000, 2)} ms") |
|||
rr.sort() |
|||
for i in rr[:10]: |
|||
print(i) |
|||
# print(ffill_data) |
|||
# print(ts_data) |
|||
# print(repr(ts_data)) |
File diff suppressed because it is too large
@ -0,0 +1,25 @@ |
|||
import datetime |
|||
|
|||
from fincal.core import Series |
|||
|
|||
s1 = Series([2.5, 6.2, 5.6, 8.4, 7.4, 1.5, 9.6, 5]) |
|||
|
|||
dt_lst = [ |
|||
datetime.datetime(2020, 12, 4, 0, 0), |
|||
datetime.datetime(2019, 5, 16, 0, 0), |
|||
datetime.datetime(2019, 9, 25, 0, 0), |
|||
datetime.datetime(2016, 2, 18, 0, 0), |
|||
datetime.datetime(2017, 8, 14, 0, 0), |
|||
datetime.datetime(2018, 1, 4, 0, 0), |
|||
datetime.datetime(2017, 5, 21, 0, 0), |
|||
datetime.datetime(2018, 7, 17, 0, 0), |
|||
datetime.datetime(2016, 4, 8, 0, 0), |
|||
datetime.datetime(2020, 1, 7, 0, 0), |
|||
datetime.datetime(2016, 12, 24, 0, 0), |
|||
datetime.datetime(2020, 6, 19, 0, 0), |
|||
datetime.datetime(2016, 3, 16, 0, 0), |
|||
datetime.datetime(2017, 4, 25, 0, 0), |
|||
datetime.datetime(2016, 7, 10, 0, 0) |
|||
] |
|||
|
|||
s2 = Series(dt_lst) |
File diff suppressed because it is too large
Loading…
Reference in new issue