Changelog

What's new in EasyCompare for Mac

The app checks for updates daily and asks before installing.

Version 1.1

The first public release of EasyCompare for Mac, a native SwiftUI app.

  • Up to 200 stocks and ETFs on one chart, all starting from the same day and measured against a benchmark
  • Every period from today's session to forty years, plus one-click replays of past crashes and bull markets
  • A ranked table of return, CAGR, volatility, Sharpe ratio and max drawdown
  • Related-ticker suggestions, and chart export to an image with ⇧⌘C
  • Lists sync with your EasyCompare account on the web

The Go engine

We rebuilt EasyCompare's backend in Go as a single in-memory server, so every comparison is computed fresh, for any set of tickers, in tens of milliseconds.

  • About 53 million daily prices for 15,000 stocks, ETFs and mutual funds, held in memory in one process
  • Each request is computed when it arrives, with no cached results, even for 200 tickers with every metric
  • Dozens of metrics per ticker: returns over 13 standard periods, CAGR, volatility, Sharpe ratio, drawdowns with dates, correlation with the S&P 500, a trend score, and how each ticker fared in every S&P 500 drawdown from -5% to -50%
  • About 10 times the throughput of our earlier Python and pandas backend on the same two cores, with median latency down from about 190 ms to 40 ms
  • Every metric was checked against the Python results across 84 test cases before the switch
  • Live prices are checked every 15 seconds during market hours