# ======================================================================= # Stock Bot Platform Environment Configuration # ======================================================================= # Core Application Settings NODE_ENV=development PORT=3001 APP_NAME=stock-bot APP_VERSION=1.0.0 # ======================================================================= # DATABASE CONFIGURATIONS # ======================================================================= # PostgreSQL - Operational Data (orders, positions, strategies) POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DATABASE=trading_bot POSTGRES_USERNAME=trading_user POSTGRES_PASSWORD=trading_pass_dev DB_HOST=localhost DB_PORT=5432 DB_NAME=trading_bot DB_USER=trading_user DB_PASSWORD=trading_pass_dev DB_POOL_MIN=2 DB_POOL_MAX=10 DB_POOL_IDLE_TIMEOUT=30000 DB_SSL=false DB_SSL_REJECT_UNAUTHORIZED=true DB_QUERY_TIMEOUT=30000 DB_CONNECTION_TIMEOUT=5000 # QuestDB - Time-series Data (OHLCV, indicators, performance) QUESTDB_HOST=localhost QUESTDB_HTTP_PORT=9000 QUESTDB_PG_PORT=8812 QUESTDB_INFLUX_PORT=9009 QUESTDB_USER= QUESTDB_PASSWORD= QUESTDB_CONNECTION_TIMEOUT=5000 QUESTDB_REQUEST_TIMEOUT=30000 QUESTDB_RETRY_ATTEMPTS=3 QUESTDB_TLS_ENABLED=false QUESTDB_DEFAULT_DATABASE=qdb QUESTDB_TELEMETRY_ENABLED=false # MongoDB - Document Storage (sentiment, raw docs, unstructured data) MONGODB_HOST=localhost MONGODB_PORT=27017 MONGODB_DATABASE=trading_documents MONGODB_USERNAME=trading_admin MONGODB_PASSWORD=trading_mongo_dev MONGODB_AUTH_SOURCE=admin MONGODB_URI= MONGODB_MAX_POOL_SIZE=10 MONGODB_MIN_POOL_SIZE=0 MONGODB_MAX_IDLE_TIME=30000 MONGODB_CONNECT_TIMEOUT=10000 MONGODB_SOCKET_TIMEOUT=30000 MONGODB_SERVER_SELECTION_TIMEOUT=5000 MONGODB_TLS=false MONGODB_RETRY_WRITES=true MONGODB_JOURNAL=true MONGODB_READ_PREFERENCE=primary MONGODB_WRITE_CONCERN=majority # Dragonfly - Redis Replacement (caching and events) DRAGONFLY_HOST=localhost DRAGONFLY_PORT=6379 DRAGONFLY_PASSWORD= DRAGONFLY_USERNAME= DRAGONFLY_DATABASE=0 DRAGONFLY_MAX_RETRIES=3 DRAGONFLY_RETRY_DELAY=50 DRAGONFLY_CONNECT_TIMEOUT=10000 DRAGONFLY_COMMAND_TIMEOUT=5000 DRAGONFLY_POOL_SIZE=10 DRAGONFLY_POOL_MIN=1 DRAGONFLY_POOL_MAX=20 DRAGONFLY_TLS=false DRAGONFLY_ENABLE_KEEPALIVE=true DRAGONFLY_KEEPALIVE_INTERVAL=60 DRAGONFLY_CLUSTER_MODE=false DRAGONFLY_CLUSTER_NODES= DRAGONFLY_MAX_MEMORY=2gb DRAGONFLY_CACHE_MODE=true # ======================================================================= # MONITORING & LOGGING CONFIGURATIONS # ======================================================================= # Logging Configuration LOG_LEVEL=debug LOG_FORMAT=json LOG_CONSOLE=true LOG_FILE=false LOG_FILE_PATH=logs LOG_FILE_MAX_SIZE=20m LOG_FILE_MAX_FILES=14 LOG_FILE_DATE_PATTERN=YYYY-MM-DD LOG_ERROR_FILE=true LOG_ERROR_STACK=true LOG_PERFORMANCE=false LOG_SQL_QUERIES=false LOG_HTTP_REQUESTS=true LOG_STRUCTURED=true LOG_TIMESTAMP=true LOG_CALLER_INFO=false LOG_SILENT_MODULES= LOG_VERBOSE_MODULES= LOG_SERVICE_NAME=stock-bot LOG_SERVICE_VERSION=1.0.0 LOG_ENVIRONMENT=development # Loki - Log Aggregation LOKI_HOST=localhost LOKI_PORT=3100 LOKI_URL= LOKI_USERNAME= LOKI_PASSWORD= LOKI_TENANT_ID= LOKI_PUSH_TIMEOUT=10000 LOKI_BATCH_SIZE=1024 LOKI_BATCH_WAIT=1000 LOKI_RETENTION_PERIOD=30d LOKI_MAX_CHUNK_AGE=1h LOKI_TLS_ENABLED=false LOKI_TLS_INSECURE=false LOKI_DEFAULT_LABELS= LOKI_SERVICE_LABEL=stock-bot LOKI_ENVIRONMENT_LABEL=development # Prometheus - Metrics Collection PROMETHEUS_HOST=localhost PROMETHEUS_PORT=9090 PROMETHEUS_URL= PROMETHEUS_USERNAME= PROMETHEUS_PASSWORD= PROMETHEUS_SCRAPE_INTERVAL=15s PROMETHEUS_EVALUATION_INTERVAL=15s PROMETHEUS_RETENTION_TIME=15d PROMETHEUS_TLS_ENABLED=false PROMETHEUS_TLS_INSECURE=false # Grafana - Visualization GRAFANA_HOST=localhost GRAFANA_PORT=3000 GRAFANA_URL= GRAFANA_ADMIN_USER=admin GRAFANA_ADMIN_PASSWORD=admin GRAFANA_ALLOW_SIGN_UP=false GRAFANA_SECRET_KEY= GRAFANA_DATABASE_TYPE=sqlite3 GRAFANA_DATABASE_URL= GRAFANA_DISABLE_GRAVATAR=true GRAFANA_ENABLE_GZIP=true # ======================================================================= # DATA PROVIDER CONFIGURATIONS # ======================================================================= # Default Data Provider DEFAULT_DATA_PROVIDER=alpaca # Alpaca Markets ALPACA_ENABLED=true ALPACA_API_KEY=your_alpaca_key_here ALPACA_SECRET_KEY=your_alpaca_secret_here ALPACA_BASE_URL=https://paper-api.alpaca.markets ALPACA_DATA_URL=https://data.alpaca.markets ALPACA_PAPER_TRADING=true # Polygon.io POLYGON_ENABLED=false POLYGON_API_KEY=your_polygon_key_here POLYGON_BASE_URL=https://api.polygon.io # Yahoo Finance YAHOO_ENABLED=true YAHOO_BASE_URL=https://query1.finance.yahoo.com # IEX Cloud IEX_ENABLED=false IEX_API_KEY=your_iex_key_here IEX_BASE_URL=https://cloud.iexapis.com # Alpha Vantage ALPHA_VANTAGE_ENABLED=false ALPHA_VANTAGE_API_KEY=demo # Data Provider Settings DATA_PROVIDER_TIMEOUT=30000 DATA_PROVIDER_RETRIES=3 DATA_PROVIDER_RETRY_DELAY=1000 DATA_CACHE_ENABLED=true DATA_CACHE_TTL=300 DATA_CACHE_MAX_SIZE=1000 # ======================================================================= # TRADING & RISK MANAGEMENT # ======================================================================= # Trading Configuration PAPER_TRADING=true MAX_POSITION_SIZE=0.1 MAX_DAILY_LOSS=1000 # Risk Management RISK_MAX_POSITION_SIZE=0.25 RISK_MAX_LEVERAGE=2.0 RISK_DEFAULT_STOP_LOSS=0.02 RISK_DEFAULT_TAKE_PROFIT=0.06 RISK_MAX_DRAWDOWN=0.10 RISK_MAX_CONSECUTIVE_LOSSES=5 RISK_POSITION_SIZING_METHOD=fixed_percentage RISK_CIRCUIT_BREAKER_ENABLED=true RISK_CIRCUIT_BREAKER_THRESHOLD=0.05 RISK_CIRCUIT_BREAKER_COOLDOWN=3600000 RISK_ALLOW_WEEKEND_TRADING=false RISK_MARKET_HOURS_ONLY=true # ======================================================================= # FEATURE FLAGS # ======================================================================= ENABLE_ML_SIGNALS=false ENABLE_SENTIMENT_ANALYSIS=false ENABLE_SOCIAL_SIGNALS=false ENABLE_OPTIONS_TRADING=false ENABLE_CRYPTO_TRADING=false ENABLE_BACKTESTING=true ENABLE_PAPER_TRADING=true ENABLE_LIVE_TRADING=false # ======================================================================= # DEVELOPMENT & DEBUGGING # ======================================================================= DEBUG_MODE=true VERBOSE_LOGGING=true MOCK_DATA_PROVIDERS=false ENABLE_API_RATE_LIMITING=true ENABLE_REQUEST_LOGGING=true