From 3d845306fef8a5c63c4b114608fdcca595e4a94d Mon Sep 17 00:00:00 2001 From: zhaoli Date: Tue, 18 Aug 2026 07:17:36 +0000 Subject: [PATCH] finish experiment 22 (exp/22-re-run-experiment-16s-5-day-rankic-ensem) --- code/MANIFEST.txt | 5 ++++- .../data/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 522 bytes .../data/__pycache__/config.cpython-312.pyc | Bin 0 -> 11464 bytes .../data/__pycache__/providers.cpython-312.pyc | Bin 0 -> 13340 bytes 4 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 code/tac-qlib/tac_qlib/data/__pycache__/__init__.cpython-312.pyc create mode 100644 code/tac-qlib/tac_qlib/data/__pycache__/config.cpython-312.pyc create mode 100644 code/tac-qlib/tac_qlib/data/__pycache__/providers.cpython-312.pyc diff --git a/code/MANIFEST.txt b/code/MANIFEST.txt index 5634366..6af23d8 100644 --- a/code/MANIFEST.txt +++ b/code/MANIFEST.txt @@ -1,5 +1,5 @@ # TradeAC custom-qlib-code snapshot (auto-generated) -# parent repo HEAD : 2c2684b103198ce529e71c078a9a93e04f6b113d +# parent repo HEAD : 1075525d6e954dca0bb31daf6675904f8b569f1a # tac-qlib/tac_qlib/contrib # tac-qlib/tac_qlib/data # per-file hashes (git hash-object): @@ -12,5 +12,8 @@ 4afcf9058231111c412925f4c4b84e81d656db87 tac-qlib/tac_qlib/contrib/strategy/__init__.py 79aaad9e39fcc740a773f4f63c512ce1086cfde0 tac-qlib/tac_qlib/contrib/strategy/optimal_stop.py 92e6e90eb0cd0a25142034560f27adb6b705b1a8 tac-qlib/tac_qlib/data/__init__.py + b6dc9ced54f4044f5954b60ddd199acae9eef456 tac-qlib/tac_qlib/data/__pycache__/__init__.cpython-312.pyc + 5cede5184d17910b0232d343f8ecca460098ea11 tac-qlib/tac_qlib/data/__pycache__/config.cpython-312.pyc + 3a5accd6d239f342354cf1fa9410a6d2fb921de0 tac-qlib/tac_qlib/data/__pycache__/providers.cpython-312.pyc 53c9007a928841fd3c3b08450f9a6520ce1ac091 tac-qlib/tac_qlib/data/config.py 8d0644f6f0d1efb94798ed444cc73e63b643459b tac-qlib/tac_qlib/data/providers.py diff --git a/code/tac-qlib/tac_qlib/data/__pycache__/__init__.cpython-312.pyc b/code/tac-qlib/tac_qlib/data/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b6dc9ced54f4044f5954b60ddd199acae9eef456 GIT binary patch literal 522 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 literal 0 HcmV?d00001 diff --git a/code/tac-qlib/tac_qlib/data/__pycache__/providers.cpython-312.pyc b/code/tac-qlib/tac_qlib/data/__pycache__/providers.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a5accd6d239f342354cf1fa9410a6d2fb921de0 GIT binary patch literal 13340 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