예제 소스
한국투자증권 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())