Commit Graph

116 Commits

Author SHA1 Message Date
a19f7e7b21 added max_drawdown function 2022-03-14 23:54:54 +05:30
1758df0124 Added average rolling return function 2022-03-13 22:52:23 +05:30
810e0bfb65 changed interval_type to return_period_unit
Added documentation to volatility function
2022-03-13 14:28:08 +05:30
d7b06fbe24 improved getitem, head, and tail functions 2022-03-12 10:24:40 +05:30
6bbdac35ec parse_dates decorator works with optional date params 2022-03-11 09:42:22 +05:30
f00305771b Changes for number of days and skip weekends 2022-03-11 09:41:35 +05:30
793d5b1ad7 Expanded the volatility function, added annualisation 2022-03-07 09:57:14 +05:30
24d5d253b5 Added volatility function 2022-03-06 15:36:23 +05:30
17b3e348a2 improved documentation and usage of date_parser decorator 2022-03-05 23:23:31 +05:30
32e4f25f59 improved limit calculation
Added basic test for limit
2022-03-02 23:35:57 +05:30
60f25de710 changed pos = [] to *pos in date_parser decorator 2022-03-01 15:34:16 +05:30
347634f536 date_parser decorator now only needs positions
Implemented using inspector.signature
2022-02-27 19:26:03 +05:30
eeda4064b2 implemented decorator 2022-02-27 16:29:18 +05:30
00ac66219b created decorator function, yet to be implemented 2022-02-27 14:49:50 +05:30
ad68dcd930 improved documentation 2022-02-27 00:22:08 +05:30
cad4e1f45c general code improvements 2022-02-26 22:45:39 +05:30
0cbfede7b6 added limit parameter to closest lookups 2022-02-26 22:18:10 +05:30
336276cf4b Implemented DateOutOfRange error in find closes date 2022-02-26 20:42:27 +05:30
c9bfa485f5 Added DateOutOfRangeError 2022-02-26 20:41:21 +05:30
7cac5cc307 separated utility functions and exceptions in standalone files 2022-02-26 12:46:42 +05:30
d1f9e3924f improved calculate_returns function
Using find_closest_date function
2022-02-26 00:44:45 +05:30
1be38ce7d4 Added custom error, refactored preprocess_timeseries
Added _find_closes_date function
2022-02-26 00:43:15 +05:30
870d0bd96b option to return nan in case of failure in return_calc
return calc returns tuple
2022-02-25 10:38:20 +05:30
=
308a4f1abb changed years to any period in return calc 2022-02-24 22:38:53 +05:30
=
0fbca4ae4c modified return calculation to include motnhs and days 2022-02-24 11:28:37 +05:30
=
66ccd2a3f8 added interval_to_years function 2022-02-24 11:28:16 +05:30
3bf4ca9c61 Added __contains__ and some tests for it 2022-02-24 08:16:45 +05:30
=
941dbb36b3 removed print 2022-02-24 00:15:59 +05:30
=
8bdd8922cb added items() to TimeSeriesCore 2022-02-24 00:00:52 +05:30
306a2d730c Series repr now show data type 2022-02-22 13:05:05 +05:30
371f7e2279 Added support for string dates in create_date_series 2022-02-22 13:04:44 +05:30
3aa38d31d1 Series data_type takes strings
added ge and le to Series
2022-02-22 11:28:26 +05:30
9ddf70fc61 rolling return now returned as TimeSeries object 2022-02-21 23:08:13 +05:30
04176646b6 improved slicer class 2022-02-21 23:07:43 +05:30
03283f7ed4 changed return TimeSeries to return self.__class__ 2022-02-21 22:48:24 +05:30
b99f0d67c1 implemented getitem in Series to prevent error 2022-02-21 22:48:00 +05:30
3391f04e19 replaced self.time_series with self.data 2022-02-21 22:27:48 +05:30
e22f6acc87 series type is now user defined 2022-02-21 22:27:26 +05:30
59c9c658ca TimeSeriesCore is now a subclass of UserDict 2022-02-21 15:23:20 +05:30
44d5ea7b29 date parsing replaced with _parse_date function
This is to avoid ambiguity and keep date parsing uniform
2022-02-21 13:11:19 +05:30
cbace875c1 implemented _parse_date function to formalise date parsing
made Series a subclass of UserList to improve compatibility
2022-02-21 13:09:58 +05:30
053a93900a Rolling return was passing frequency object
instea of frequency.symbol
2022-02-21 08:27:01 +05:30
81856b2c1a changed IndexSlicer to _IndexSlicer
And other minor changes
2022-02-21 08:26:29 +05:30
47e11546a0 Created Series class for slicing support 2022-02-20 22:49:45 +05:30
141ec97a2c converted dates and values to properties
ts['dates'] and ts['values'] keys implemted
2022-02-20 21:52:33 +05:30
439fa86b5c ffill and bfill now return TimeSeries objects instead of lists 2022-02-20 21:51:54 +05:30
2c1d508734 implemented iterator 2022-02-20 21:36:44 +05:30
58524aae7e improved slicing with a separte iloc slider 2022-02-20 19:00:39 +05:30
e8b4607c29 backfill now works with frequency 2022-02-20 18:19:34 +05:30
23bc0b71a6 create_date_series no longer returns dates > end_date 2022-02-20 16:07:50 +05:30
b4597da4af added frequency symbol, improved repr and str 2022-02-20 16:06:34 +05:30
f48d79afb9 test files 2022-02-20 11:36:56 +05:30
4173736014 changed to generic types 2022-02-20 09:40:45 +05:30
b9366541f3 reduced the use of self.dates 2022-02-20 09:19:43 +05:30
56af7c33aa ffill now fills based on frequency
create date series supports eomonth parameter
2022-02-19 23:03:41 +05:30
01a05d66a2 Split core functions & classes into separate file 2022-02-19 23:03:00 +05:30
8fdaa25a1e handled slicing in getitem
Also changed class representation to list[tuple]
2022-02-19 16:47:53 +05:30
2790106790 reverted more unitended changes 2022-02-19 15:43:52 +05:30
c3928f756e reverted unitended changes 2022-02-19 15:42:35 +05:30
6851fedbca as_on_match and prior_match params for return calc
Also separated core methods & added getitem, len, head, and tail methods
2022-02-19 13:23:15 +05:30
5a51cb1a8b Capitalized frequency variable 2022-02-19 09:39:37 +05:30
335a6fc2e9 Separate function for initial data formatting
Added _preprocess_timeseries function for initial data processing
2022-02-18 21:17:04 +05:30
b6b2381163 Changed frequency into a dataclass
For more compact and pythonic code
2022-02-17 22:50:19 +05:30
1f2b75282b Added frequencies as classes 2022-02-17 22:27:22 +05:30
115e667bde Setup package and tested with tox 2022-02-17 16:20:48 +05:30
c9ead1a561 first commit with basic time series operations 2022-02-16 23:17:50 +05:30