게시판한국투자증권 API와 LLM 주식 응용 프로그램예제 소스

예제 소스

한국투자증권 API와 LLM 주식 응용 프로그램 · 파일 19개

__main__.py

# -*- coding: utf-8 -*-
"""`python -m training` 으로 하위 스크립트 실행.

  python -m training                          # 기본: train_surge_lora
  python -m training train_surge_lora.py      # 동일
  python -m training train_surge_lora --help
  python -m training build_surge_dataset.py --csv surge_paper_trades_2026-05-13.csv
  python -m training surge_paper_train_loop -- --interval-sec 60

chart 디렉터리를 현재 작업 디렉터리로 두고 실행하는 것을 권장합니다.
"""

from __future__ import annotations

import subprocess
import sys
from pathlib import Path


def main() -> int:
    argv = sys.argv[1:]
    if not argv:
        argv = ["train_surge_lora"]
    script = argv[0].removesuffix(".py")
    rest = argv[1:]

    if script in ("surge_paper_train_loop", "paper_train_loop"):
        loop_py = Path(__file__).resolve().parent.parent / "surge_paper_train_loop.py"
        return int(subprocess.call([sys.executable, str(loop_py), *rest], cwd=str(loop_py.parent)))

    if script == "train_surge_lora":
        from training import train_surge_lora

        sys.argv = [train_surge_lora.__file__ or "train_surge_lora.py"] + rest
        return int(train_surge_lora.main())

    if script == "build_surge_dataset":
        from training import build_surge_dataset

        sys.argv = [build_surge_dataset.__file__ or "build_surge_dataset.py"] + rest
        return int(build_surge_dataset.main())

    print(
        f"알 수 없는 명령: {argv[0]!r}\n"
        "사용 가능: train_surge_lora, build_surge_dataset, surge_paper_train_loop",
        file=sys.stderr,
    )
    return 1


if __name__ == "__main__":
    raise SystemExit(main())