# Copy this file outside the repository, then replace paths and secrets. # ${NAME} values are expanded from the service environment; they are never stored in code. scheduler: # The daemon polls cheaply, but executes only once for each completed 8H boundary. poll_seconds: 60 # Wait for banbot/exchange ingestion after 00:00, 08:00 and 16:00 UTC. grace_seconds: 120 state_file: /var/lib/cbpred/prediction-service-state.json prediction: working_dir: /data/quant/cbpred banbot_dir: /data/ban/banbot banbot_config: /data/ban/banbot/biz/config.yml data_dir: /data/quant/cbpred/data artifact: /data/quant/cbpred/artifacts/v1/model.joblib output_dir: /data/quant/cbpred/predictions/latest_v1_8h history_months: 36 holdout_months: 10 min_age_days: 730 chunk_size: 100 db_type: auto exchange: binance notifications: http: - url: https://example.internal/hooks/cbpred method: POST timeout_seconds: 15 headers: Authorization: "Bearer ${CBPRED_WEBHOOK_TOKEN}" # Set false when the receiving service only needs report.json fields. include_predictions: true # Optional. Without this, all prediction rows are sent. # max_rows: 100 email: enabled: true host: smtp.example.com port: 465 ssl: true # With ssl=true this defaults to false. For port 587, set ssl: false and starttls: true. username: alerts@example.com password: "${CBPRED_SMTP_PASSWORD}" from: alerts@example.com to: - trader@example.com subject: cbpred 8H prediction completed attach_csv: true