Commit Graph

  • b63d536db1 feature(Docs): added sphinx docs generation workfl;ow main Mark Aron Szulyovszky 2022-11-07 17:03:41 +01:00
  • 4dfd75eb3e chore(Project): removed code that was used to "close-source" the repo Mark Aron Szulyovszky 2022-11-07 17:00:11 +01:00
  • 0ca1d0ed2f Delete copy_repo.yml Mark Aron Szulyovszky 2022-11-07 16:52:58 +01:00
  • 2606639cc2 fix(Labelling): didn't forward shift forward returns previously, introduced major lookahead bias (#249) Mark Aron Szulyovszky 2022-03-15 19:12:40 +01:00
  • 7deeb2de01 feat(Baseline): added one-split baseline, pure sklearn (#247) Mark Aron Szulyovszky 2022-03-15 18:16:12 +01:00
  • 5482e3fc95 feat(Config): added start_date property (#245) Mark Aron Szulyovszky 2022-03-15 17:48:43 +01:00
  • 0395715fa1 fix(Config): set remove_overlapping_events=True (#246) Mark Aron Szulyovszky 2022-03-15 17:39:39 +01:00
  • d0c519dc5b refactor(Training): remove non-expanding window option (#244) Mark Aron Szulyovszky 2022-03-15 16:21:06 +01:00
  • b5ddee8dce feat(HPO): added run_hpo script (#237) Mark Aron Szulyovszky 2022-03-15 14:43:16 +01:00
  • 345b48a67c feat(Filters): added numba compiled cusum filter (#243) Mark Aron Szulyovszky 2022-03-15 14:32:49 +01:00
  • 4fc1070f45 fix(DataLoader): sort the dataframe when fetching data (#239) Mark Aron Szulyovszky 2022-03-15 14:12:05 +01:00
  • 95b0499430 fix(Config): rename sliding_window_size to initial_window_size (#235) Mark Aron Szulyovszky 2022-03-13 16:05:16 +01:00
  • 717e0ac979 feat(Models): added optional hpsklearn (#236) Mark Aron Szulyovszky 2022-03-13 14:59:42 +01:00
  • d6df773267 fix(Linter): ran Mark Aron Szulyovszky 2022-03-12 22:25:03 +01:00
  • 5b7bcbb5e9 fix(DataLoader): sort the data before merging (this corrupted the pipeline completely) Mark Aron Szulyovszky 2022-03-12 22:22:10 +01:00
  • c1d79ac8c2 fix(Labeling): use X.loc instead of X.filter, remove Nan from event_start_times Mark Aron Szulyovszky 2022-03-12 13:27:44 +01:00
  • b656f790f5 feat(Data): resample exogenous/other datasource when their frequency is different (#234) Mark Aron Szulyovszky 2022-03-10 20:00:06 +01:00
  • 4a9f74d645 fix(Project): m1 support (#233) Mark Aron Szulyovszky 2022-03-10 13:07:41 +01:00
  • 567cd5e9f0 refactor(Evaluate): print out accuracy, f1, etc. for the final & meta predictions, separated out evaluation step (#228) Mark Aron Szulyovszky 2022-03-03 17:40:17 +01:00
  • 75157c6285 feat(Labeling): purge overlapping events, sort dataframe at loading time (#226) Mark Aron Szulyovszky 2022-03-02 00:26:33 +01:00
  • 10a0803c91 fix(Data): make sure we have data in chronological order Mark Aron Szulyovszky 2022-02-20 18:01:01 +01:00
  • c9f8ed1304 feat(Data): added script to download data from binance (#224) Mark Aron Szulyovszky 2022-02-20 12:30:53 +01:00
  • 7a443d93e4 feat(Transformations): added robust scaler (#223) Mark Aron Szulyovszky 2022-02-20 00:41:46 +01:00
  • 229f16c4b3 fix(Ensembling): stacking now works (although performance is poor) Mark Aron Szulyovszky 2022-02-19 19:19:02 +01:00
  • 7c08a87243 feat(Ensembling): added possiblity of stacking models Mark Aron Szulyovszky 2022-02-19 18:55:17 +01:00
  • cfb65c135e feat(Pipeline): added multi-asset pipeline, ensembling_method to config Mark Aron Szulyovszky 2022-02-19 15:37:19 +01:00
  • 7db1c4dc00 feat(Config): added flag to save models Mark Aron Szulyovszky 2022-02-19 15:06:05 +01:00
  • 77206a5d0a fix(Config): adjusted parameters to 5 minute timeframe Mark Aron Szulyovszky 2022-02-19 14:58:34 +01:00
  • 3b9d7f554a feature(Config): added transformation parameters to Config, removed expanding_window (it's ON now) Mark Aron Szulyovszky 2022-02-19 14:44:49 +01:00
  • 8dd2d88740 chore(Linter): reformatted code with black (#211) Mark Aron Szulyovszky 2022-02-17 19:22:17 +01:00
  • f3fee4a4e1 fix(Codemod): restored original docstring replacement Mark Aron Szulyovszky 2022-02-17 16:53:09 +01:00
  • 9d47ee942d feat(Project): use SKLearn models directly, removed custom ensembling, use 5 minute data, batch inference, numba cusum filter (#192) Mark Aron Szulyovszky 2022-02-17 16:36:35 +01:00
  • 5c94af8b01 fix(CI): removed sphinx workflow from private repo Mark Aron Szulyovszky 2022-02-14 23:09:56 +01:00
  • 522757c282 fix(CI): push to the public repo without the private repo's history (#207) Mark Aron Szulyovszky 2022-02-08 01:07:16 +01:00
  • 62686393f5 feat(Docs): prepare for sphinx-pages (#205) Mark Aron Szulyovszky 2022-02-02 17:56:25 +01:00
  • 1f813f89e3 Create copy_repo.yml (#200) Daniel Szemerey 2022-02-02 17:23:16 +01:00
  • d817605873 Create strip-action.yaml Daniel Szemerey 2022-02-02 12:52:19 +01:00
  • f85ee6bb9c fix(MetaLabeling): previously misinterpreted meta-labeling, now also multiplying base model's prediction with the meta model's prediction (#193) Mark Aron Szulyovszky 2022-02-01 13:09:00 +01:00
  • 3eb3ea94e3 Refactor(Training): new outcome types, representative pipeline steps, bet-sizing (#187) Mark Aron Szulyovszky 2022-01-29 06:41:40 +01:00
  • 42a1bc59cb feat(Events): added EventFilter, EventLabeller (#186) Mark Aron Szulyovszky 2022-01-26 23:22:43 +01:00
  • 1042c82333 Update README.md Mark Aron Szulyovszky 2022-01-26 22:06:40 +01:00
  • e6e2317fe0 refactor(Training): use date indexes instead of integers, need this to prepare for Events (#185) Mark Aron Szulyovszky 2022-01-24 12:22:30 +01:00
  • e80fffdb65 refactor(Config): use a Config object instead of dictionary of dictionaries! (#184) Mark Aron Szulyovszky 2022-01-23 18:37:43 +01:00
  • 5c4a5b0cf1 refactor(Project): removed regression method (we can still use regression models, but we'll need map them to classification later) (#182) Mark Aron Szulyovszky 2022-01-23 17:15:08 +01:00
  • 516c8bcc87 feat(Inference): Inference now runs on the entire pipeline, only train/predict one asset, adjust trading costs (#173) Daniel Szemerey 2022-01-23 11:38:40 +01:00
  • 6b26643ece feat(Transformations): replaced feature selection pre-processing step with online version (with cache) (#170) Mark Aron Szulyovszky 2022-01-17 11:43:51 +01:00
  • 31dc847be1 Feature(Speed): Python launches faster by conditionally importing models. (#169) Daniel Szemerey 2022-01-14 14:29:24 +01:00
  • 797d45d036 feat(Inference): pipeline wired up (#171) Mark Aron Szulyovszky 2022-01-14 10:34:28 +01:00
  • 4aefba33ea fix(Pipeline): remove PCA step that introduced clear lookahead bias (#164) Mark Aron Szulyovszky 2022-01-13 12:11:38 +01:00
  • 3c2a0d4247 refactor(Types): added nested types for Reporting (#162) Mark Aron Szulyovszky 2022-01-13 09:21:07 +01:00
  • 1856fcad22 feat(Transformations): added Transformations abstraction & handling in walk_forward_train() & inference() (#161) Mark Aron Szulyovszky 2022-01-12 23:22:55 +01:00
  • 3084f5e271 Refractor(Main Pipeline): Refractored the two main steps and the data processing. (#156) Daniel Szemerey 2022-01-12 23:10:18 +01:00
  • c611481eb6 refactor(WalkForward): separate train / test functions to help with inference later (#158) Mark Aron Szulyovszky 2022-01-12 14:42:16 +01:00
  • 5db2a3b935 fix(Reporting): identify primary models correctly with the new column names Mark Aron Szulyovszky 2022-01-11 19:44:01 +01:00
  • 55f083638f feature(Inference): Created the inference process, added model saving. (#153) Daniel Szemerey 2022-01-11 19:15:58 +01:00
  • 255910cb40 chore(Config): try to turn off PCA to see the results (#152) Mark Aron Szulyovszky 2022-01-11 15:25:36 +01:00
  • 580500a46a feat(Evaluation): adjusted transaction costs to be more realistic 0.3% (#150) Mark Aron Szulyovszky 2022-01-11 12:41:02 +01:00
  • 54ea59c0cf feat(Sweep): try to filter out some not great models (#144) Mark Aron Szulyovszky 2022-01-11 10:33:18 +01:00
  • 2c03959315 feat(Reporting): added backtesting with vectorbt (#148) Mark Aron Szulyovszky 2022-01-11 09:34:08 +01:00
  • 18768c3925 fix(FeatureExtractor): use a rolling z-score instead of StandardScaler with unavoidable lookahead bias (#146) Mark Aron Szulyovszky 2022-01-10 14:24:51 +01:00
  • 73cfc67336 fix(Evaluation): correlation test should work on a per asset level, not per model level (#142) Mark Aron Szulyovszky 2022-01-10 14:17:06 +01:00
  • ba2ab752d2 feat(Sweep): updated primary model sweep config (#140) Mark Aron Szulyovszky 2022-01-09 20:06:35 +01:00
  • f5bbc266a4 feat(Reporting): added robustness / correlation test (#138) Mark Aron Szulyovszky 2022-01-09 20:00:03 +01:00
  • b1c04afb13 refactor(Naming): use new convention, added Ensemble model parameter back, support multiple Meta-Labeling models (#132) Mark Aron Szulyovszky 2022-01-09 17:21:06 +01:00
  • 22b3167cb9 feat(Evaluate): increase transactions costs, to get a more realistic view on performance (#137) Mark Aron Szulyovszky 2022-01-09 14:18:20 +01:00
  • fc5eba4e2d feat(Models): added lightGBM, moved other models to separate files (#128) Mark Aron Szulyovszky 2022-01-08 12:02:42 +01:00
  • 6982187872 feat(Sweep): new config to test dynamic features selection, number of features, etc. (#127) Mark Aron Szulyovszky 2022-01-08 00:10:45 +01:00
  • 81c217a401 feat(Portfolio): reporting MVP (#108) Mark Aron Szulyovszky 2022-01-08 00:05:36 +01:00
  • f8af5641e8 chore(Project): added output folder (#124) Mark Aron Szulyovszky 2022-01-07 19:03:17 +01:00
  • 57f63f1e93 fix(Selection): dynamic step size for feature selection (#123) Mark Aron Szulyovszky 2022-01-07 18:45:03 +01:00
  • 34105f7ca1 feat(Evaluation): added minimal transaction costs to penalize higher turnover (#125) Mark Aron Szulyovszky 2022-01-07 18:27:24 +01:00
  • 78a7fe028e feat(Inference): Models are collected and structured. (#120) Daniel Szemerey 2022-01-07 15:33:50 +01:00
  • c8211e90ff fix(Reporting): raise exception if wandb is not available but with_wandb is True (#122) Mark Aron Szulyovszky 2022-01-07 15:32:18 +01:00
  • d0bf8e4cd5 fix: Changed config registering to not mutate (#119) Daniel Szemerey 2022-01-07 10:33:32 +01:00
  • d87389a135 fix(Selection): use step size of 5, speeding up feature selection by 5x (overall 3x improvement) (#115) Mark Aron Szulyovszky 2022-01-06 18:13:19 +01:00
  • 9488e92597 feature(MetaLabeling): replaced previous non-functional Ensembling method with Meta-labeling method available for both lvl1 and lvl2 models (#110) Mark Aron Szulyovszky 2022-01-06 16:36:45 +01:00
  • b1dcdfc09d chore(Documentation): updated README (#113) Mark Aron Szulyovszky 2022-01-06 11:27:24 +01:00
  • 087b72714e refractor(Pipeline): Tiny refractor of code. (#111) Daniel Szemerey 2022-01-05 18:35:52 +01:00
  • ee35332f58 feature(Models): Implemented a basic Neural Network with Pytorch-Lightning (#101) Daniel Szemerey 2022-01-05 12:25:03 +01:00
  • 1cd0119589 feat(DataLoader): caching MVP, added ability to use standard scaling for exogenous data, scaling is now also done before feature selection (#105) Mark Aron Szulyovszky 2022-01-04 11:44:35 +01:00
  • 867269df2b feat(Data): added daily_glassnode DataCollection (#99) Mark Aron Szulyovszky 2022-01-03 13:57:36 +01:00
  • 442915f847 feat(Data): create DataSource, DataCollection, added hourly crypto data (#96) Mark Aron Szulyovszky 2021-12-31 19:04:27 +01:00
  • f762ceed2a feat(FeatureExtraction): added fractionally differentiated returns to remove lagged returns (#95) Mark Aron Szulyovszky 2021-12-28 22:50:09 +01:00
  • cc70d3f907 feat(Selection): added toggleable feature selection step into the pipeline (#83) Mark Aron Szulyovszky 2021-12-27 21:59:22 +01:00
  • a9b05dbd42 fix(Reporting): use weighted average (with no_of_samples as weights) and only report level-1 OR level-2 model performance (#91) Mark Aron Szulyovszky 2021-12-26 12:15:11 +01:00
  • fc4e59a7d2 feat(Sweep): separated level-1 and level-2 sweep configs, skip assets with too few samples to train on, simplified model mapping (#84) Daniel Szemerey 2021-12-23 23:48:59 +01:00
  • eea88103f4 feat(Metrics): added probabilistic sharpe ratio (#82) Mark Aron Szulyovszky 2021-12-23 17:06:22 +01:00
  • 4fb1f303d7 fix(Sweep): config with constants Mark Aron Szulyovszky 2021-12-23 14:13:52 +01:00
  • 95573eb9dd feat(Data): add option to predict 3 classes (#79) Mark Aron Szulyovszky 2021-12-23 13:24:56 +01:00
  • b6cd6b14fe feat(Config): feature extractors are enabled one-by-one with a bool, added previous model to model.fit() (#77) Mark Aron Szulyovszky 2021-12-23 10:35:20 +01:00
  • 6ae8acf70e feat(Models): added debug_future_lookahead, sped up LogisticRegression & DecisionTreeClassifier (#74) Mark Aron Szulyovszky 2021-12-22 16:59:03 +01:00
  • 25b64f5a3d refactor(Reporting): only report the last model's results, moved wandb-related functions to reporting (#69) Mark Aron Szulyovszky 2021-12-22 12:04:38 +01:00
  • cfc9529274 chore(Config): added more options to sweep.yaml (#66) Mark Aron Szulyovszky 2021-12-21 19:23:36 +01:00
  • 1c1b8b2e54 Feature: Added sweep functionality (#65) Daniel Szemerey 2021-12-21 17:28:36 +01:00
  • d3d7184ea4 feat(Models): added StaticAverageModel for average ensembling & StaticNaiveModel (#64) Mark Aron Szulyovszky 2021-12-21 15:57:08 +01:00
  • 79d84cf0a3 feat(Model): added own Model class, SkLearnModel wrapper and StaticMomentumModel (#61) Mark Aron Szulyovszky 2021-12-21 10:30:09 +01:00
  • 85ad937078 refactor(Core): small refactor in the pipeline to streamline classification/regression model handling (#60) Mark Aron Szulyovszky 2021-12-21 09:23:06 +01:00
  • 52268d0141 feat: Added Weight and Biases single run logging. (#58) Daniel Szemerey 2021-12-20 17:49:11 +01:00
  • 122b7bb128 feat(Evaluation): added "no_of_samples", "ratio_of_classes" metrics to aid model debugging (#56) Mark Aron Szulyovszky 2021-12-20 16:38:44 +01:00
  • a7414eac23 feature: Added Weights and Biases configuration to the repo. (#48) Daniel Szemerey 2021-12-20 14:01:14 +01:00