尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
Modular trading framework for Mid-Frequency Trading
翻譯準備中
正在載入完整 README。 以下為已儲存的摘錄。
AI-assisted trading for Hyperliquid perpetual futures.
Jeeva is an AI-assisted trading application for Hyperliquid perpetual futures. It watches the market, periodically asks an AI decision model ("Jev") whether a given market should be long, short, or flat, and moves each position to match — either against a simulated paper-trading wallet or a real Hyperliquid wallet.
A dashboard lets you turn markets on/off, tune how often and how aggressively each one trades, choose which decision engine drives it, and watch the resulting decisions, positions, and P&L in real time.檢視完整 README ↗A modular trading engine, initially built to test trading with Jev. But turned out to be a pretty useful tool that can be extended with other algorithm's for Mid-Frequency trading.
A dashboard lets you turn markets on/off, tune how often and how aggressively each one trades, choose which decision engine drives it, and watch the resulting decisions, positions, and P&L in real time.
MARKET_DATA_TTL_DAYS) are pruned automatically, so history doesn't grow unbounded.long, short, or flat.flowchart LR
subgraph Browser
FE["Next.js Dashboard\n(frontend/)"]
end
subgraph API["Express API (api/)"]
REST["REST endpoints\n/perps, /engine-mode,\n/decisions, /positions ..."]
end
subgraph Engine["Rust Trading Engine (engine/)"]
SUP["Decision Supervisor\none task per trading-enabled PERP"]
DM["DecisionMaker\n(Fake / TypeSafe Jev / OpenRouter Jev)"]
EXEC["ExecutionAdapter\n(Mock or Live)"]
SAMP["Market-Data Sampler"]
end
Mongo[("MongoDB\nperpConfigs, engineConfig\n(watched live via change streams)")]
PG[("TimescaleDB / Postgres\nmarket data, decisions,\npositions, funding history")]
HL["Hyperliquid\n(market data + order API)"]
Jev["Jev\n(TypeSafe System One model,\ndirect or via OpenRouter)"]
FE <--> REST
REST -->|read/write PERP & mode config| Mongo
REST -->|read history for charts| PG
Mongo -->|change streams,\nno restart needed| SUP
Mongo --> SAMP
SUP --> DM
DM -->|market state summary| Jev
Jev -->|target direction| DM
SUP --> EXEC
EXEC -->|mock: simulate fill| PG
EXEC -->|live: real order| HL
SAMP -->|price / OI / volume / spread| HL
SAMP --> PG
SUP -->|decision log, health| PG
frontend/ — the operator dashboard (Next.js). Lists markets, shows live price/positions/health, and is where you enable trading/sampling per PERP, pick a PERP's decision maker, and flip the engine between mock and live execution. Its API URL is resolved at runtime from the container's API_URL (served to the browser from /runtime-config), so one built image can be reused across instances pointing at different API backends.
api/ — a small Express service that mediates between the dashboard and the shared state: PERP configuration and engine mode live in MongoDB; market data, decisions, positions, and funding history live in TimescaleDB (used as plain Postgres).
engine/ — the always-running Rust process that actually trades. It watches MongoDB for configuration changes and, for every PERP with trading enabled, runs an independent loop on that PERP's configured frequency. Nothing here requires a restart to pick up a config change (enabling a market, changing its frequency/leverage/decision maker, flipping mock/live) — every loop iteration reads the latest config fresh.
Each tick of a trading-enabled PERP's loop does the following, in order:
ExecutionAdapter.| Current | Target | Action |
|---|---|---|
| flat | long/short | open |
| long/short | flat | close |
| long | short (or vice versa) | close, then open the opposite side |
| long/short | same direction | no-op (no pyramiding) |
ExecutionAdapter — a simulated fill in mock mode, a real signed Hyperliquid order in live mode.以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗