ml_crypto_lab/scripts/predict_saved.py
2026-06-26 14:23:12 +07:00

41 lines
1.3 KiB
Python

from __future__ import annotations
import argparse
from pathlib import Path
import sys
PROJECT_ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(PROJECT_ROOT / "src"))
from ml_crypto_lab.core.config import load_yaml
from ml_crypto_lab.data.loading import load_raw_table, build_index_ohlc_and_matrices
from ml_crypto_lab.inference.predict import predict_with_saved_model
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--model-pack", required=True)
parser.add_argument("--config", required=True)
parser.add_argument("--output", required=True)
args = parser.parse_args()
cfg = load_yaml(args.config)
raw = load_raw_table(cfg["data"]["path"])
built = build_index_ohlc_and_matrices(raw, cfg["data"])
base = built["ohlc"].copy()
symbol = cfg["data"].get("symbol_candle", "INDEX")
if symbol in built["buy"].columns:
base["buy_volume"] = built["buy"][symbol]
base["sell_volume"] = built["sell"][symbol]
else:
base["buy_volume"] = built["buy"].sum(axis=1)
base["sell_volume"] = built["sell"].sum(axis=1)
pred = predict_with_saved_model(args.model_pack, base, args.output)
print(pred.tail())
print("saved:", args.output)
if __name__ == "__main__":
main()