Files
DOLPHIN/prod/docs/EXF_V2_DEPLOYMENT_SUMMARY.md
hjnormey 01c19662cb initial: import DOLPHIN baseline 2026-04-21 from dolphinng5_predict working tree
Includes core prod + GREEN/BLUE subsystems:
- prod/ (BLUE harness, configs, scripts, docs)
- nautilus_dolphin/ (GREEN Nautilus-native impl + dvae/ preserved)
- adaptive_exit/ (AEM engine + models/bucket_assignments.pkl)
- Observability/ (EsoF advisor, TUI, dashboards)
- external_factors/ (EsoF producer)
- mc_forewarning_qlabs_fork/ (MC regime/envelope)

Excludes runtime caches, logs, backups, and reproducible artifacts per .gitignore.
2026-04-21 16:58:38 +02:00

9.2 KiB
Executable File

ExF System v2.0 - Deployment Summary

Date: 2026-03-17
Status: DEPLOYED (with known issues)
Components: 5 files, ~110KB total


Executive Summary

Successfully implemented a complete External Factors (ExF) data pipeline with:

  1. Hot Path: Hazelcast push every 0.5s for real-time alpha engine
  2. Durability: Disk persistence every 5min (NPZ format) for backtests
  3. Integrity: Continuous monitoring with health checks and alerts

Files Delivered

File Size Purpose Status
exf_fetcher_flow.py 12.4 KB Prefect orchestration flow Updated
exf_persistence.py 16.9 KB Disk writer (NPZ format) New
exf_integrity_monitor.py 15.1 KB Health monitoring & alerts New
test_exf_integration.py 6.9 KB Integration tests New
PROD_BRINGUP_GUIDE.md 24.5 KB Operations documentation Updated

Total: 75.8 KB new code + documentation


Architecture

┌─────────────────────────────────────────────────────────────────────┐
│                        EXF SYSTEM v2.0                              │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  Data Providers (8)                                                 │
│  ├── Binance (funding, OI, L/S, basis, spread, imbalance)          │
│  ├── Deribit (volatility, funding) ⚠️ HTTP 400                      │
│  ├── FRED (VIX, DXY, rates) ✅                                      │
│  ├── Alternative.me (F&G) ✅                                        │
│  ├── Blockchain.info (hashrate) ⚠️ HTTP 404                         │
│  ├── DeFi Llama (TVL) ✅                                            │
│  └── Coinglass (liquidations) ⚠️ HTTP 500 (needs auth)              │
│                                                                     │
│  RealTimeExFService (28 indicators defined)                         │
│  ├── In-memory cache (<1ms read)                                    │
│  ├── Per-indicator polling (0.5s to 8h intervals)                   │
│  └── Rate limiting per provider                                     │
│                                                                     │
│  Three Parallel Outputs:                                            │
│                                                                     │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐     │
│  │  HAZELCAST      │  │  DISK           │  │  MONITOR        │     │
│  │  (Hot Path)     │  │  (Off Hot Path) │  │  (Background)   │     │
│  │                 │  │                 │  │                 │     │
│  │ Interval: 0.5s  │  │ Interval: 5min  │  │ Interval: 60s   │     │
│  │ Latency: <10ms  │  │ Latency: N/A    │  │ Latency: N/A    │     │
│  │ Format: JSON    │  │ Format: NPZ     │  │ Output: Alerts  │     │
│  │ Key: exf_latest │  │ Path: eigenvalues/YYYY-MM-DD/         │     │
│  │                 │  │                 │  │                 │     │
│  │ Consumer:       │  │ Consumer:       │  │ Actions:        │     │
│  │ Alpha Engine    │  │ Backtests       │  │ Log/Alert       │     │
│  └─────────────────┘  └─────────────────┘  └─────────────────┘     │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Indicators Status (28 Defined)

Category Indicators Working Issues
Binance (9) funding_btc, funding_eth, oi_btc, oi_eth, ls_btc, ls_eth, ls_top, taker, basis, spread, imbal_* 9/9 None
Deribit (4) dvol_btc, dvol_eth, fund_dbt_btc, fund_dbt_eth ⚠️ 0/4 HTTP 400
FRED (5) vix, dxy, us10y, sp500, fedfunds 5/5 None
Sentiment (1) fng 1/1 None
On-chain (1) hashrate ⚠️ 0/1 HTTP 404
DeFi (1) tvl 1/1 None
Liquidations (4) liq_vol_24h, liq_long_ratio, liq_z_score, liq_percentile ⚠️ 0/4 HTTP 500

Total: 16/28 working, ⚠️ 12/28 with issues


ACB Readiness

ACB-Critical Indicators (must all be present for alpha engine risk calc):

ACB_KEYS = [
    "funding_btc", "funding_eth",   # ✅ Working
    "dvol_btc", "dvol_eth",        # ⚠️ HTTP 400 (Deribit)
    "fng",                          # ✅ Working
    "vix",                          # ✅ Working
    "ls_btc",                       # ✅ Working
    "taker",                        # ✅ Working
    "oi_btc",                       # ✅ Working
]

Current Status: 6/9 present → _acb_ready: False
Impact: Alpha engine risk sensitivity degraded (no volatility overlay)


DOLPHIN Compliance

NPZ File Format

# Location
/mnt/ng6_data/eigenvalues/{YYYY-MM-DD}/
extf_snapshot_{timestamp}__Indicators.npz

# Contents
{
    "_metadata": json.dumps({
        "_timestamp_utc": "2026-03-17T12:00:00+00:00",
        "_version": "1.0",
        "_staleness_s": {...},
    }),
    "basis": np.array([0.01178]),
    "spread": np.array([0.00143]),
    ...
}

# Checksum
extf_snapshot_{timestamp}__Indicators.npz.sha256

Data Sufficiency Check

sufficiency = {
    'sufficient': True/False,
    'score': 0.0-1.0,  # Overall sufficiency score
    'acb_critical': "6/9",  # ACB indicators present
    'total_indicators': 16,  # All indicators present
    'freshness': 0.95,  # % indicators fresh (<60s)
}

Operations

Start the System

cd /root/extf_docs

# Full production mode
python exf_fetcher_flow.py --warmup 30

# Test mode (no persistence/monitoring)
python exf_fetcher_flow.py --no-persist --no-monitor --warmup 15

Check Status

# Health status
python3 << 'EOF'
import hazelcast, json
client = hazelcast.HazelcastClient(cluster_name='dolphin', cluster_members=['localhost:5701'])
data = json.loads(client.get_map("DOLPHIN_FEATURES").get("exf_latest").result())
print(f"ACB Ready: {data.get('_acb_ready')}")
print(f"Indicators: {data.get('_ok_count')}/{data.get('_expected_count')}")
print(f"ACB Present: {data.get('_acb_present')}")
print(f"Missing: {data.get('_acb_missing', [])}")
client.shutdown()
EOF

# Persistence stats
ls -la /mnt/ng6_data/eigenvalues/$(date +%Y-%m-%d)/

Run Integration Tests

python test_exf_integration.py --duration 30 --test all

Known Issues

Issue Severity Indicator Root Cause Fix
Deribit HTTP 400 HIGH dvol_btc, dvol_eth, fund_dbt_* API endpoint changed or auth required Update Deribit API calls
Blockchain 404 LOW hashrate Endpoint deprecated Find alternative API
Coinglass 500 MED liq_* Needs API key Add authentication header

Next Steps

P0 (Critical)

  • Fix Deribit API endpoints for dvol_btc, dvol_eth
  • Without these, ACB will never be ready

P1 (High)

  • Add Coinglass API authentication for liquidation data
  • Add redundancy (multiple providers per indicator)

P2 (Medium)

  • Expand from 28 to 80+ indicators
  • Create Grafana dashboards
  • Add Prometheus metrics endpoint

P3 (Low)

  • Implement per-indicator optimal lags (needs 80+ days data)
  • Switch to Arrow format for better performance

Monitoring Alerts

The system generates alerts for:

Alert Severity Condition
missing_critical CRITICAL ACB indicator missing
hz_connectivity CRITICAL Hazelcast disconnected
staleness WARNING Indicator stale > 120s
divergence WARNING HZ/disk data mismatch > 3 indicators
persist_connectivity WARNING Disk writer unavailable

Alerts are logged to structured JSON and can be integrated with PagerDuty/webhooks.


Summary

DELIVERED:

  • Complete ExF pipeline (fetch → cache → HZ → disk → monitor)
  • 28 indicators configured (16 working)
  • NPZ persistence with checksums
  • Health monitoring with alerts
  • Integration tests
  • Comprehensive documentation

⚠️ BLOCKING ISSUES:

  • Deribit API returns 400 (affects ACB readiness)
  • Without dvol_btc/dvol_eth, _acb_ready stays False

Recommendation: Fix Deribit integration before full production deployment.


Generated: 2026-03-17