High-performance Rust CLI for downloading historical tick data from Dukascopy.
- Fast: Concurrent downloads with connection pooling
- Flexible: CSV, JSON, and Parquet output formats
- Complete: All 1000+ Dukascopy instruments supported
- Aggregation: Built-in OHLCV aggregation (1m, 5m, 15m, 30m, 1h, 4h, 1d)
- Background Jobs: Run long downloads as detached daemon processes
cargo install paracas# Download all available EUR/USD tick data (outputs to eurusd.csv by default)
paracas download eurusd
# Download with specific date range
paracas download eurusd -s 2024-01-01 -e 2024-01-31
# Download BTC/USD as Parquet
paracas download btcusd -f parquet
# Download with 1-hour OHLCV aggregation
paracas download eurusd -s 2024-01-01 -e 2024-01-31 -t h1
# Specify custom output file
paracas download eurusd -o my_data.csv
# Run download in background
paracas download eurusd -s 2024-01-01 -e 2024-12-31 --background# Download all forex instruments
paracas download-all --category forex -o ./data/
# Download all crypto as Parquet in background
paracas download-all --category crypto -f parquet --background# List all instruments
paracas list
# Filter by category
paracas list --category forex
# Search instruments
paracas list --search btcparacas info eurusd# Check job status
paracas status --all
# Watch running jobs
paracas status --follow 5
# Manage jobs
paracas job pause <job-id>
paracas job resume <job-id>
paracas job kill <job-id>
paracas job clean| Format | Extension | Description |
|---|---|---|
| CSV | .csv |
Comma-separated values |
| JSON | .json |
JSON array |
| Parquet | .parquet |
Apache Parquet columnar format |
| Timeframe | Flag | Description |
|---|---|---|
| Tick | (default) | Raw tick data |
| 1 minute | -t m1 |
1-minute OHLCV bars |
| 5 minutes | -t m5 |
5-minute OHLCV bars |
| 15 minutes | -t m15 |
15-minute OHLCV bars |
| 30 minutes | -t m30 |
30-minute OHLCV bars |
| 1 hour | -t h1 |
1-hour OHLCV bars |
| 4 hours | -t h4 |
4-hour OHLCV bars |
| 1 day | -t d1 |
Daily OHLCV bars |
Benchmark comparing paracas against dukascopy-node for downloading EUR/USD tick data:
| Data Range | paracas | dukascopy-node | Speedup |
|---|---|---|---|
| 1 day | 5.24s | 8.26s | 1.6x |
| 3 days | 18.97s | 24.27s | 1.3x |
Benchmarks run on macOS (Apple Silicon). Results may vary based on network conditions.
# Run benchmark and output markdown table
just bench-table
# Run criterion benchmarks
just benchTo compare against dukascopy-node, install it first:
npm install -g dukascopy-nodeMIT License - see LICENSE for details.