Zentos

Human-Agent Collaboration

Shared research environment for creating the human performance baseline.

Overview

The collab server is where the performance baseline is created. Quant researchers write strategy logic in JupyterHub; AI agents handle parameter optimization and batch backtesting. Results are deployed to Alpaca paper trading as the benchmark the automatic agent tries to beat.

Server Details

PropertyValue
IP Address64.23.228.132
OSUbuntu 24.04 LTS
JupyterHubhttps://64.23.228.132:8443
SSH Port22
AuthSSH key only

Access

SSH

ssh your-username@64.23.228.132

With explicit key:

ssh -i ~/.ssh/your_key your-username@64.23.228.132

JupyterHub

Navigate to https://64.23.228.132:8443 and log in with admin-provided credentials.

Requesting Access

  1. Generate a key: ssh-keygen -t ed25519 -C "your-email@example.com"
  2. Send ~/.ssh/id_ed25519.pub to the team admin.
  3. Admin creates your account and adds the key.
  4. JupyterHub credentials provided separately.

Shared Data

PathContents
/data/marketHistorical OHLCV and fundamentals
/data/trading-trackerPaper trading records and P&L logs
/data/evalBraintrust evaluation results
/data/strategiesShared notebooks and templates

Tools

ToolPurpose
vectorbtVectorized backtesting
Alpaca SDKPaper trading execution
PapermillBatch notebook execution
trading-trackerTrade logging and querying

Agent Services

ServicePortFunction
Param Optimizer8501Grid/random search over parameter ranges
Signal Analyzer8502Signal performance by market regime
Backtest Runner8503Batch Papermill execution

All agents respond to explicit requests only — no autonomous execution.

Workflow: Quant Researchers

  1. Explore ideas in Jupyter using /data/market.
  2. Prototype with vectorbt.
  3. Submit to Param Optimizer with parameter ranges.
  4. Review heatmaps, Sharpe ratios, drawdown analysis.
  5. Deploy best config to Alpaca paper trading.
  6. Monitor via trading-tracker.
import requests

job = {
    "notebook": "/data/strategies/momentum_v2.ipynb",
    "parameters": {
        "lookback_window": [10, 20, 30, 60],
        "atr_multiplier": [1.5, 2.0, 2.5, 3.0],
        "stop_loss_atr": [1.0, 1.5, 2.0]
    },
    "metric": "sharpe_ratio",
    "walk_forward": True
}

response = requests.post("http://localhost:8501/optimize", json=job)
results = response.json()

Workflow: Engineers

# Agent health
systemctl status param-optimizer signal-analyzer backtest-runner

# Agent logs
journalctl -u param-optimizer -f

# Recent trades
psql -d trading_tracker -c "SELECT * FROM trades ORDER BY timestamp DESC LIMIT 20;"

Troubleshooting

SSH denied — Verify key was added. Use -i /path/to/key with correct username (not root).

JupyterHub won't loadsystemctl status jupyterhub on the server.

Agent not respondingsudo systemctl restart param-optimizer && ss -tlnp | grep 8501

On this page