46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# main.py
|
|
# -----------------------------------------------------------------------------
|
|
# Finder - Main Execution File
|
|
# -----------------------------------------------------------------------------
|
|
|
|
import backtester
|
|
import time
|
|
|
|
def main() -> None:
|
|
"""
|
|
Finder 프로그램의 메인 실행 함수
|
|
|
|
Returns:
|
|
None
|
|
"""
|
|
print("="*50)
|
|
print(" Finder (Stock Screening & Backtesting Tool) ".center(50, "="))
|
|
print("="*50)
|
|
|
|
start_time = time.time()
|
|
|
|
try:
|
|
# 백테스터 모듈의 run_backtest 함수를 호출합니다.
|
|
backtester.run_backtest()
|
|
|
|
except ImportError as e:
|
|
print(f"\n[에러] 필요한 라이브러리가 설치되지 않았습니다: {e}")
|
|
print("pip install pandas numpy yfinance pykrx requests beautifulsoup4 scipy")
|
|
except KeyboardInterrupt:
|
|
print("\n[중단] 사용자가 프로그램을 중단했습니다.")
|
|
except Exception as e:
|
|
print(f"\n[치명적 에러] 예상치 못한 오류: {type(e).__name__}")
|
|
print(f"상세: {e}")
|
|
raise
|
|
|
|
end_time = time.time()
|
|
elapsed_time = end_time - start_time
|
|
|
|
print("\n" + "="*50)
|
|
print(f"프로그램 총 실행 시간: {elapsed_time:.2f} 초")
|
|
print("Finder 프로그램 실행이 종료되었습니다.")
|
|
print("="*50)
|
|
|
|
if __name__ == "__main__":
|
|
# 이 스크립트가 직접 실행되었을 때만 main() 함수를 호출합니다.
|
|
main() |