Skip to main content

Command Palette

Search for a command to run...

QuantForge v0.2.0

Updated
3 min read

GitHub: formaldehid/quantforge
crates.io: quantforge

QuantForge is research tooling, not investment advice.

Today I’m releasing QuantForge v0.2.0.

This release moves the project from an early research/backtesting CLI into a more complete single-crate trading workflow focused on data ingestion, live bot execution, and monitoring.

The direction is still the same:

  • Rust-first

  • CLI only

  • no UI

  • code-driven strategy development

  • small, incremental open-source progress

What is new in v0.2.0

QuantForge v0.2.0 now includes three major command groups:

data

The new data command feeds market data into a local SQLite database.

This makes the workflow much cleaner than pulling raw data ad hoc for every task. Data becomes a first-class local resource that can be reused for validation, research, and live bot execution.

Example:

quantforge \
  --db data/market.sqlite \
  data sync \
  --symbol BTCUSDT \
  --interval 1m

The current sync behavior is designed to be practical for ongoing usage:

  • if start is omitted, syncing starts from now

  • if end is omitted, syncing continues indefinitely

That makes data sync useful as a simple long-running feeder process.

trade

The new trade command runs the bot against live-updating data stored in SQLite.

For v0.2.0, the goal was not to build a huge execution framework, but to establish the first end-to-end path:

market data -> database -> strategy -> order execution -> trade lifecycle tracking

The current implementation supports:

  • dry-run mode

  • live mode

  • strategy-driven entry and exit

  • market-order execution flow

  • position close support

  • persisted bot run state

Example:

quantforge \
  --db data/market.sqlite \
  trade run \
  --symbol BTCUSDT \
  --interval 1m \
  --fast 20 \
  --slow 50 \
  --quote-order-qty 100 \
  --mode dry-run

This is still intentionally conservative. The project is aiming for clarity and correctness first.

monitor

The new monitor command is for observing and manually managing the trading side when needed.

This includes visibility into:

  • bot status

  • recent trades

  • open orders

  • manual order cancellation

  • manual position closing

Example:

quantforge \
  --db data/market.sqlite \
  monitor status \
  --symbol BTCUSDT

This is important because I do not want the project to become a “black box bot.” Even in a CLI-only workflow, operators need visibility and manual controls.

Current shape of the project

QuantForge is still not trying to be a polished end-user platform.

It is becoming a code-first foundation for:

  • market data ingestion

  • backtesting

  • strategy experimentation

  • controlled live execution

  • operational monitoring

That means the project remains best suited for developers who want a Rust-native CLI framework they can inspect, modify, and extend directly.

What is next

For the next iterations, I want to keep improving the reliability and ergonomics of the workflow:

  • stronger reconciliation between local run state and exchange state

  • better safety rails around live execution

  • more built-in strategies and indicators

  • improved testing around exchange behavior and order lifecycle

  • clearer contributor workflows and release discipline

If you want to follow the project or try it locally, take a look at the repository and feel free to open issues or ideas.

More updates soon.

QuantForge v0.2.0: Live Trading, Data Sync & Monitoring in R