Some checks failed
Deploy to Production / deploy (push) Failing after 6m46s
- KOSPIMarketStateDetector: KOSPI MA 기반 시장 상태 판단 (bull/neutral/bear/crash) - VolumeScreener: 거래대금 2000억+ 스크리닝 (상한가 우선, 희소성 체크, 대형주 예외) - SectorPortfolioManager: 섹터 기반 비중 배분 - KJBScreeningSignalGenerator: 눌림목 진입, 5MA 손절, 단계적 익절 - KISTradeExecutor: KIS API 자동 매수/매도 (기본값 모의투자) - ScreeningSignal / AutoOrder DB 모델 추가 - screening API 엔드포인트 추가 - 스케줄러 잡 3종 추가 (08:30/5분/15:35) - Price.trading_value 컬럼 추가 - MarketIndex 테이블 추가 (KOSPI/KOSDAQ 지수 일봉) - IndexCollector 추가 (일일 수집 잡 등록) - intraday_exit_check 시간 필터 추가 (09:05~15:20 KST) - 드라이런 스크립트 추가 (scripts/screening_dryrun.py)
57 lines
1.2 KiB
Python
57 lines
1.2 KiB
Python
"""
|
|
Application configuration using Pydantic Settings.
|
|
"""
|
|
|
|
from pydantic_settings import BaseSettings
|
|
from functools import lru_cache
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# Application
|
|
app_name: str = "Galaxis-Po"
|
|
debug: bool = False
|
|
|
|
# Database
|
|
database_url: str
|
|
|
|
# JWT
|
|
jwt_secret: str
|
|
jwt_algorithm: str = "HS256"
|
|
access_token_expire_minutes: int = 60 * 24 # 24 hours
|
|
|
|
# CORS
|
|
cors_origins: str = "http://localhost:3000"
|
|
|
|
# Admin user (auto-created on startup if not exists)
|
|
admin_username: str = ""
|
|
admin_email: str = ""
|
|
admin_password: str = ""
|
|
|
|
# External APIs
|
|
kis_app_key: str = ""
|
|
kis_app_secret: str = ""
|
|
kis_account_no: str = ""
|
|
kis_paper_trade: bool = True
|
|
dart_api_key: str = ""
|
|
krx_openapi_key: str = ""
|
|
|
|
# LLM Provider (optional)
|
|
anthropic_api_key: str = ""
|
|
openai_api_key: str = ""
|
|
llm_fast_model: str = ""
|
|
llm_strong_model: str = ""
|
|
|
|
# Notifications (optional)
|
|
discord_webhook_url: str = ""
|
|
telegram_bot_token: str = ""
|
|
telegram_chat_id: str = ""
|
|
|
|
class Config:
|
|
env_file = ".env"
|
|
case_sensitive = False
|
|
|
|
|
|
@lru_cache
|
|
def get_settings() -> Settings:
|
|
return Settings()
|