Some checks failed
CI / test (pull_request) Has been cancelled
- #210: init_db()에 WAL 저널 모드 적용 (파일 DB에만, :memory: 제외) - 대시보드(READ)와 거래루프(WRITE) 동시 접근 시 SQLite 락 오류 방지 - busy_timeout=5000ms 설정 - #213: RATE_LIMIT_RPS 기본값 2.0으로 통일 (.env.example이 5.0으로 잘못 표기됨) - #216: .env.example 중요 변수 추가 및 정리 - KIS_BASE_URL 모의/실전 URL 주석 명시 (포트 29443 수정 포함) - MODE, TRADE_MODE, ENABLED_MARKETS, PAPER_OVERSEAS_CASH 추가 - GEMINI_MODEL 업데이트 (gemini-pro → gemini-2.0-flash-exp) - DASHBOARD 설정 섹션 추가 테스트 2개 추가 (WAL 파일 DB 적용, 메모리 DB 미적용 검증) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
83 lines
3.1 KiB
Plaintext
83 lines
3.1 KiB
Plaintext
# ============================================================
|
|
# The Ouroboros — Environment Configuration
|
|
# ============================================================
|
|
# Copy this file to .env and fill in your values.
|
|
# Lines starting with # are comments.
|
|
|
|
# ============================================================
|
|
# Korea Investment Securities API
|
|
# ============================================================
|
|
KIS_APP_KEY=your_app_key_here
|
|
KIS_APP_SECRET=your_app_secret_here
|
|
KIS_ACCOUNT_NO=12345678-01
|
|
|
|
# Paper trading (VTS): https://openapivts.koreainvestment.com:29443
|
|
# Live trading: https://openapi.koreainvestment.com:9443
|
|
KIS_BASE_URL=https://openapivts.koreainvestment.com:29443
|
|
|
|
# ============================================================
|
|
# Trading Mode
|
|
# ============================================================
|
|
# paper = 모의투자 (safe for testing), live = 실전투자 (real money)
|
|
MODE=paper
|
|
|
|
# daily = batch per session, realtime = per-stock continuous scan
|
|
TRADE_MODE=daily
|
|
|
|
# Comma-separated market codes: KR, US, JP, HK, CN, VN
|
|
ENABLED_MARKETS=KR,US
|
|
|
|
# Simulated USD cash for paper (VTS) overseas trading.
|
|
# VTS overseas balance API often returns 0; this value is used as fallback.
|
|
# Set to 0 to disable fallback (not used in live mode).
|
|
PAPER_OVERSEAS_CASH=50000.0
|
|
|
|
# ============================================================
|
|
# Google Gemini
|
|
# ============================================================
|
|
GEMINI_API_KEY=your_gemini_api_key_here
|
|
# Recommended: gemini-2.0-flash-exp or gemini-1.5-pro
|
|
GEMINI_MODEL=gemini-2.0-flash-exp
|
|
|
|
# ============================================================
|
|
# Risk Management
|
|
# ============================================================
|
|
CIRCUIT_BREAKER_PCT=-3.0
|
|
FAT_FINGER_PCT=30.0
|
|
CONFIDENCE_THRESHOLD=80
|
|
|
|
# ============================================================
|
|
# Database
|
|
# ============================================================
|
|
DB_PATH=data/trade_logs.db
|
|
|
|
# ============================================================
|
|
# Rate Limiting
|
|
# ============================================================
|
|
# KIS API real limit is ~2 RPS. Keep at 2.0 for maximum safety.
|
|
# Increasing this risks EGW00201 "초당 거래건수 초과" errors.
|
|
RATE_LIMIT_RPS=2.0
|
|
|
|
# ============================================================
|
|
# External Data APIs (optional)
|
|
# ============================================================
|
|
# NEWS_API_KEY=your_news_api_key_here
|
|
# NEWS_API_PROVIDER=alphavantage
|
|
# MARKET_DATA_API_KEY=your_market_data_key_here
|
|
|
|
# ============================================================
|
|
# Telegram Notifications (optional)
|
|
# ============================================================
|
|
# Get bot token from @BotFather on Telegram
|
|
# Get chat ID from @userinfobot or your chat
|
|
# TELEGRAM_BOT_TOKEN=1234567890:ABCdefGHIjklMNOpqrsTUVwxyz
|
|
# TELEGRAM_CHAT_ID=123456789
|
|
# TELEGRAM_ENABLED=true
|
|
|
|
# ============================================================
|
|
# Dashboard (optional)
|
|
# ============================================================
|
|
# DASHBOARD_ENABLED=false
|
|
# DASHBOARD_HOST=127.0.0.1
|
|
# DASHBOARD_PORT=8080
|