# Database DATABASE_URL=postgresql+asyncpg://stock_backend:changeme@localhost:5432/stock_data_backend # Auth JWT_SECRET=change-this-to-a-random-secret JWT_EXPIRY_MINUTES=60 # OHLCV Provider — Alpaca Markets ALPACA_API_KEY= ALPACA_API_SECRET= # Sentiment Provider — Gemini with Search Grounding GEMINI_API_KEY= GEMINI_MODEL=gemini-2.0-flash # Sentiment Provider — OpenAI OPENAI_API_KEY= OPENAI_MODEL=gpt-4o-mini OPENAI_SENTIMENT_BATCH_SIZE=5 # Fundamentals Provider — Financial Modeling Prep FMP_API_KEY= # Fundamentals Provider — Finnhub (optional fallback) FINNHUB_API_KEY= # Fundamentals Provider — Alpha Vantage (optional fallback) ALPHA_VANTAGE_API_KEY= # Dolt bulk data — local clone of post-no-preference/earnings (workstream A). # DOLT_BINARY: path to the dolt CLI (set the full path in dev if it's not on PATH, # e.g. Windows: C:\Program Files\Dolt\bin\dolt.exe). DOLT_DATA_DIR holds the # clones; in PRODUCTION it MUST be outside the deploy tree (deploy is # rsync --delete) — e.g. /var/lib/signal-platform/dolt. The earnings clone lives # at /. Set up: dolt clone post-no-preference/earnings . DOLT_BINARY=dolt DOLT_DATA_DIR=dolt-data DOLT_EARNINGS_SUBDIR=earnings DOLT_MIN_FREE_DISK_GB=2.0 # Regime Monitor — FRED (VIX + HY credit spreads). Free key: https://fred.stlouisfed.org/docs/api/api_key.html # Optional: without it the volatility (V1) and credit (C1) pillars show as n/a. FRED_API_KEY= # Scheduled Jobs DATA_COLLECTOR_FREQUENCY=daily SENTIMENT_POLL_INTERVAL_MINUTES=30 FUNDAMENTAL_FETCH_FREQUENCY=daily RR_SCAN_FREQUENCY=daily FUNDAMENTAL_RATE_LIMIT_RETRIES=3 FUNDAMENTAL_RATE_LIMIT_BACKOFF_SECONDS=15 # Scoring Defaults DEFAULT_WATCHLIST_AUTO_SIZE=10 DEFAULT_RR_THRESHOLD=3.0 # Outcome Evaluation # Trading days before an undecided setup expires at 0R OUTCOME_EVALUATION_MAX_BARS=30 # Database Pool DB_POOL_SIZE=5 DB_POOL_TIMEOUT=30 # Logging LOG_LEVEL=INFO