Phase 1: - Real-time signal alerts (Discord/Telegram webhook) - Trading journal with entry/exit tracking - Position sizing calculator (Fixed/Kelly/ATR) Phase 2: - Pension asset allocation (DC/IRP 70% risk limit) - Drawdown monitoring with SVG gauge - Benchmark dashboard (portfolio vs KOSPI vs deposit) Phase 3: - Tax benefit simulation (Korean pension tax rules) - Correlation matrix heatmap - Parameter optimizer with grid search + overfit detection
49 lines
1010 B
Python
49 lines
1010 B
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 = ""
|
|
dart_api_key: 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()
|