How allanfoulo/hft-sys works
jev-loop is a continuously runnable paper-trading harness. A user selects a crypto pair or equity; the loop resolves asset rules, reads Alpaca market data, builds deterministic state, asks Jev’s seven-question battery (or uses a mock client), composes a strategy action, applies an independent hard-risk veto, then prices and executes quotes. The loop tracks fills and inventory and publishes logs/latest state for the dashboard; calibration evaluates logged decisions. README documents these capabilities, but pricing, risk, serving, and several loop call sites were not sampled, so uncertain wiring is omitted.
Main entry points: loop.py Tick loop · __main__.py CLI entry · battery.py Jev battery · alpaca.py Order execution
Components 24
Judgment and policy
- Jev battery
jevloop/battery.py - Question guard
jevloop/split.py - Decision client
jevloop/client.py - Policy engine
jevloop/policy.py - Strategy hook
jevloop/strategy.py - Fallback ladder
jevloop/ladder.py - Quote pricing
jevloop/pricing.py - Risk veto
jevloop/risk.py - Hard limits
jevloop/limits.py
Venue integration
- Asset resolver
jevloop/assets.py - Alpaca client
jevloop/execution/alpaca.py - Order execution
jevloop/execution/alpaca.py
State and monitoring
- State snapshot
jevloop/state.py - Inventory state
jevloop/state.py - Tick logs
jevloop/loop.py - Dashboard server
jevloop/serve.py - Dashboard UI
dashboard/index.html - Wall display
dashboard/wall.html - Calibration
jevloop/calibrate.py
Other components
- Trader
- Alpaca services
- Jev APIs
Connections 25
- Trader → CLI entry: starts run
- CLI entry → Tick loop: starts ticks
- CLI entry → Asset resolver: resolves symbol
- Tick loop → Alpaca client: reads market data
- Alpaca client → Alpaca services: requests data
- Tick loop → State snapshot: builds state
- State snapshot → Inventory state: updates inventory
- Tick loop → Jev battery: requests judgments
- Jev battery → Question guard: validates questions
- Jev battery → Decision client: asks questions
- Decision client → Jev APIs: sends request
- Tick loop → Fallback ladder: selects rung
- Tick loop → Policy engine: composes action
- Policy engine → Strategy hook: applies hook
- Tick loop → Quote pricing: prices quotes
- Tick loop → Risk veto: checks action
- Risk veto → Hard limits: reads caps
- Tick loop → Order execution: submits orders
- Order execution → Alpaca services: places orders
- Order execution → Inventory state: records fills
- Tick loop → Tick logs: writes ticks
- Dashboard server → Tick logs: reads latest
- Dashboard UI → Dashboard server: served by
- Wall display → Dashboard server: served by
- Calibration → Tick logs: reads history