From 7460d5fe014ac209fd901b13a048a6c2912725eb Mon Sep 17 00:00:00 2001 From: zhaoli Date: Tue, 18 Aug 2026 15:09:51 +0000 Subject: [PATCH] finish experiment 27 (exp/27-scheduled-algo-retrain-on-2026-08-17-tac) --- code/MANIFEST.txt | 10 +--------- .../__pycache__/__init__.cpython-312.pyc | Bin 374 -> 0 bytes .../data/__pycache__/__init__.cpython-312.pyc | Bin 216 -> 0 bytes .../data/__pycache__/handler.cpython-312.pyc | Bin 11073 -> 0 bytes .../model/__pycache__/__init__.cpython-312.pyc | Bin 319 -> 0 bytes .../__pycache__/rank_ensemble.cpython-312.pyc | Bin 9461 -> 0 bytes .../model/__pycache__/rank_gbdt.cpython-312.pyc | Bin 9838 -> 0 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 234 -> 0 bytes .../__pycache__/optimal_stop.cpython-312.pyc | Bin 10428 -> 0 bytes 9 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 code/tac-qlib/tac_qlib/contrib/__pycache__/__init__.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/data/__pycache__/__init__.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/data/__pycache__/handler.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/model/__pycache__/__init__.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/model/__pycache__/rank_ensemble.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/model/__pycache__/rank_gbdt.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/strategy/__pycache__/__init__.cpython-312.pyc delete mode 100644 code/tac-qlib/tac_qlib/contrib/strategy/__pycache__/optimal_stop.cpython-312.pyc diff --git a/code/MANIFEST.txt b/code/MANIFEST.txt index 788b126..f94dac7 100644 --- a/code/MANIFEST.txt +++ b/code/MANIFEST.txt @@ -1,23 +1,15 @@ # TradeAC custom-qlib-code snapshot (auto-generated) -# parent repo HEAD : 894ac260a618d3b15857567bad948b7c5a89e31e +# parent repo HEAD : 337f99222df3629f58eca0404caae2b1ccb6a994 # tac-qlib/tac_qlib/contrib # tac-qlib/tac_qlib/data # per-file hashes (git hash-object): 1b6298c4a5652f2e863cbdc385a1014a570fcd59 tac-qlib/tac_qlib/contrib/__init__.py - b5e28b7c0a10ab553eaa6303013a880731742378 tac-qlib/tac_qlib/contrib/__pycache__/__init__.cpython-312.pyc c76a9f17f680e74eea766eff27f7624359749ed6 tac-qlib/tac_qlib/contrib/data/__init__.py - 715ab312125a446af751b928fe41cf41b99ffcd0 tac-qlib/tac_qlib/contrib/data/__pycache__/__init__.cpython-312.pyc - a82a6a236db93097d48748e541c2cf9caa4e48b5 tac-qlib/tac_qlib/contrib/data/__pycache__/handler.cpython-312.pyc 0dd25ef161c6e0f15eafc84886e7e1381deb38c3 tac-qlib/tac_qlib/contrib/data/handler.py b151d139a0dcde87d74b21e7c4b729176ba5c39b tac-qlib/tac_qlib/contrib/model/__init__.py - 483221cf1d5bad779d3cf9505269b7fb0b3f165d tac-qlib/tac_qlib/contrib/model/__pycache__/__init__.cpython-312.pyc - 1286dec07a861f25691b24f71ecc22d8eb3537df tac-qlib/tac_qlib/contrib/model/__pycache__/rank_ensemble.cpython-312.pyc - 5185764bd55dbc63d16582bfcb6adc11b7e6d342 tac-qlib/tac_qlib/contrib/model/__pycache__/rank_gbdt.cpython-312.pyc d3f051f3a8650c42fedc7b367b966f7c74fb5789 tac-qlib/tac_qlib/contrib/model/rank_ensemble.py ccfe7d554989aa7f3e5a2128ae663e51b2207149 tac-qlib/tac_qlib/contrib/model/rank_gbdt.py 4afcf9058231111c412925f4c4b84e81d656db87 tac-qlib/tac_qlib/contrib/strategy/__init__.py - 13a8e4a41ce9afde97a55756d666d3ff5cbbec0e tac-qlib/tac_qlib/contrib/strategy/__pycache__/__init__.cpython-312.pyc - 0bb5804a79611c66bc25988226ca0f1cdbe1a7eb tac-qlib/tac_qlib/contrib/strategy/__pycache__/optimal_stop.cpython-312.pyc 79aaad9e39fcc740a773f4f63c512ce1086cfde0 tac-qlib/tac_qlib/contrib/strategy/optimal_stop.py 92e6e90eb0cd0a25142034560f27adb6b705b1a8 tac-qlib/tac_qlib/data/__init__.py 3cbc0686e6f863d306d93c589a607a5bdb7201f2 tac-qlib/tac_qlib/data/__pycache__/__init__.cpython-312.pyc diff --git a/code/tac-qlib/tac_qlib/contrib/__pycache__/__init__.cpython-312.pyc b/code/tac-qlib/tac_qlib/contrib/__pycache__/__init__.cpython-312.pyc deleted file mode 100644 index b5e28b7c0a10ab553eaa6303013a880731742378..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 374 zcmY+9y-ve06os#U@}ojKbOi=Bf&_g5gajQ5QUQrFd9h3rRRKE*t{FNa^&QyRcoGKQ zAX3D@#D?g`#B~G%cR2daJ=ebWYq#40te4U9Wn&~>8JF8qa zTVT|=IvSp+BGs8i*Sl23?dfnlIzIE0*y&$XE;mX~Tv-jv!r4+M%!YWcjl9Gt=Sf_H zW!`cxftUXybtI+ITFPfwVG7^7165T6r>1*%I=}WHTbTMC*pMw=j?Ny5c_}%mMMca&AwNy#TkIJ~0=L-X;}dgo;^S8`d7ehzB#0^YcoIfC4FrC5ig+@tJvui+AWXvKO%f#Q<1dHH`oO diff --git a/code/tac-qlib/tac_qlib/contrib/data/__pycache__/handler.cpython-312.pyc b/code/tac-qlib/tac_qlib/contrib/data/__pycache__/handler.cpython-312.pyc deleted file mode 100644 index a82a6a236db93097d48748e541c2cf9caa4e48b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11073 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 diff --git a/code/tac-qlib/tac_qlib/contrib/model/__pycache__/rank_ensemble.cpython-312.pyc b/code/tac-qlib/tac_qlib/contrib/model/__pycache__/rank_ensemble.cpython-312.pyc deleted file mode 100644 index 1286dec07a861f25691b24f71ecc22d8eb3537df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9461 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 diff --git a/code/tac-qlib/tac_qlib/contrib/model/__pycache__/rank_gbdt.cpython-312.pyc b/code/tac-qlib/tac_qlib/contrib/model/__pycache__/rank_gbdt.cpython-312.pyc deleted file mode 100644 index 5185764bd55dbc63d16582bfcb6adc11b7e6d342..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9838 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