CLI Overview
QuantLab provides a comprehensive command-line interface for all trading research operations.
Command Structure
quantlab [COMMAND] [SUBCOMMAND] [OPTIONS] [ARGUMENTS]
Main Commands
Data Management
quantlab data check # Check data availability
quantlab data tickers [--type] # List available tickers
quantlab data query TICKER # Query price/options data
quantlab data range TICKER # Show date range
Analysis
quantlab analyze ticker TICKER [OPTIONS] # Analyze single ticker
quantlab analyze portfolio NAME [OPTIONS] # Analyze portfolio
Portfolio Management
quantlab portfolio create NAME # Create portfolio
quantlab portfolio list # List portfolios
quantlab portfolio show NAME # Show portfolio details
quantlab portfolio add NAME TICKER [OPTS] # Add position
quantlab portfolio remove NAME TICKER # Remove position
quantlab portfolio update NAME TICKER # Update position
Visualization
quantlab visualize price TICKER [OPTIONS] # Price charts
quantlab visualize compare TICKER1 TICKER2 ... [OPTS] # Multi-ticker
quantlab visualize options STRATEGY [OPTIONS] # Options payoff
quantlab visualize portfolio NAME [OPTIONS] # Portfolio charts
quantlab visualize backtest PATH [OPTIONS] # Backtest results
Lookup Tables
quantlab lookup init # Initialize lookup tables
quantlab lookup stats # Show statistics
quantlab lookup refresh [--type] # Refresh data
quantlab lookup get company TICKER # Get company info
quantlab lookup get ratings TICKER # Get analyst ratings
quantlab lookup get treasury [--maturity] # Get risk-free rate
Common Options
Price Charts
--period PERIOD # Time period (e.g., 30d, 90d, 1year, ytd, max)
--interval INTERVAL # Intraday interval (1min, 5min, 15min, 1hour)
--chart-type TYPE # Chart type (candlestick, line)
--output PATH # Save chart to file
--show-volume # Include volume bars
--mas MA_PERIODS # Moving averages (e.g., 20,50,200)
Examples:
# Daily candlestick with volume
quantlab visualize price AAPL --period 90d --chart-type candlestick --show-volume
# Intraday 5-minute chart
quantlab visualize price AAPL --interval 5min --period 5d --chart-type line
# With moving averages
quantlab visualize price AAPL --period 1year --mas 50,200
Options Strategy
--current-price PRICE # Current stock price
--strike1, --strike2, # Strike prices (strategy-dependent)
--strike3, --strike4
--premium PREMIUM # Net premium paid/received
--iv IV # Implied volatility (for Greeks)
--dte DAYS # Days to expiration
--risk-free-rate RATE # Risk-free rate (default: treasury)
Available strategies:
Single leg:
long_call,long_put,short_call,short_putCovered:
covered_call,protective_put,collarSpreads:
bull_call_spread,bear_put_spread,bull_put_spread,bear_call_spreadVolatility:
long_straddle,short_straddle,long_strangle,short_strangleComplex:
iron_condor,iron_butterfly,butterfly,calendar_spread
Analysis Options
--output PATH # Save analysis to JSON file
--no-fundamentals # Skip fundamental analysis
--no-options # Skip options analysis
--no-technicals # Skip technical analysis
--no-sentiment # Skip sentiment analysis
Examples:
# Full analysis
quantlab analyze ticker AAPL --output results/aapl_analysis.json
# Options-only analysis
quantlab analyze ticker AAPL --no-fundamentals --no-technicals --no-sentiment
Environment Variables
QUANTLAB_CONFIG_PATH # Custom config file path
POLYGON_API_KEY # Polygon.io API key
ALPHA_VANTAGE_API_KEY # Alpha Vantage API key
QUANTLAB_DB_PATH # Database file path
Configuration File
Default location: ~/.quantlab/config.yaml
# API Keys
api_keys:
polygon: "YOUR_API_KEY"
alpha_vantage: "YOUR_API_KEY"
# Data paths
data:
qlib_data_path: "/path/to/qlib/data"
# Database
database:
path: "~/.quantlab/quantlab.duckdb"
# Default settings
defaults:
period: "90d"
chart_type: "candlestick"
Output Formats
JSON Output
Analysis commands support --output to save JSON:
quantlab analyze ticker AAPL --output analysis.json
# Pretty-print JSON
cat analysis.json | python -m json.tool
HTML Charts
Visualization commands generate interactive HTML:
quantlab visualize price AAPL --output chart.html
# Open in browser
open chart.html # macOS
xdg-open chart.html # Linux
start chart.html # Windows
Piping and Integration
Use with jq
# Extract specific fields
quantlab analyze ticker AAPL --output - | jq '.options.chain[] | select(.strike == 180)'
# Count options contracts
quantlab analyze ticker AAPL --output - | jq '.options.chain | length'
Use with grep
# Filter tickers
quantlab data tickers | grep "^AA"
# Search in analysis
quantlab analyze ticker AAPL --output - | grep -i "recommendation"
Batch Processing
# Analyze multiple tickers
for ticker in AAPL GOOGL MSFT; do
quantlab analyze ticker $ticker --output results/${ticker}.json
done
# Parallel processing
echo "AAPL GOOGL MSFT NVDA" | xargs -P 4 -n 1 bash -c '
quantlab analyze ticker "$1" --output "results/$1.json"
' _
Error Handling
Return Codes
0: Success
1: General error
2: Invalid arguments
3: Data not found
4: API error
Logging
Set log level:
# Debug level
QUANTLAB_LOG_LEVEL=DEBUG quantlab visualize price AAPL
# Quiet mode
QUANTLAB_LOG_LEVEL=ERROR quantlab analyze ticker AAPL
Advanced Usage
Custom Scripts
Import QuantLab in your Python scripts:
from quantlab.core.analyzer import Analyzer
from quantlab.visualization.price_charts import create_candlestick_chart
# Initialize analyzer
analyzer = Analyzer()
# Get data and create chart
df = analyzer.get_price_data("AAPL", period="90d")
fig = create_candlestick_chart(df, "AAPL", show_volume=True)
fig.write_html("aapl_chart.html")
Backtesting Integration
Use qrun for backtesting:
# Run backtest
qrun configs/my_strategy.yaml
# Visualize results
quantlab visualize backtest results/mlruns/[exp_id]/[run_id]
Next Steps
Visualization Guide - Detailed visualization guide
Options Analysis Guide - Options analysis guide
CLI API - CLI API reference
Examples - More examples