Output and Reporting

Output and Reporting

Output modes

Specify one or more output modes with --output-mode:

ModeDescription
summaryPerformance statistics
tradesDetailed trade list
graphASCII equity curve (for futures contracts, margin requirements are overlaid on the same graph)
returnsMonthly/yearly return matrix
configParsed configuration display
allAll modes combined
silentNo output

Combine modes with commas: --output-mode summary,graph,returns

Reading the summary report

The summary report includes these key metrics:

MetricDescription
Net ProfitTotal realised profit after costs
Total TradesNumber of completed round-trip trades
Win %Percentage of profitable trades
Profit FactorGross profit / gross loss
Avg TradeAverage profit per trade
Max DrawdownLargest peak-to-trough equity decline
SharpeAnnualised risk-adjusted return (Sharpe ratio)
SortinoLike Sharpe, but only penalises downside volatility
NP/DDNet Profit divided by Max Drawdown
R-SquaredLinearity of the equity curve (1.0 = perfectly linear)

The trades list

The trades output mode shows every individual trade with:

  • Entry date, time, and price
  • Exit date, time, and price
  • Direction (Long/Short)
  • Quantity
  • Profit/Loss in currency and points
  • MFE (Maximum Favourable Excursion) – the best the trade achieved
  • MAE (Maximum Adverse Excursion) – the worst the trade experienced
  • Bars held

Fills that occurred on shadow bars (out-of-session) are annotated with *.

The returns matrix

The returns output mode shows a year-by-month matrix of returns, making it easy to identify seasonal patterns, drawdown periods, and consistency across time.

Exporting trades

Export the trade list to a JSON file for external analysis or portfolio construction:

algo run --strategy kbt --symbols @ES --export trades.json

The exported JSON file can be used with the algo portfolio command to generate HTML reports.