Skip to content

v0.2.0

Choose a tag to compare

@alwank alwank released this 22 May 06:53
· 49 commits to main since this release

What's New in v0.2.0

Added

  • Seasonals view — TradingView-style seasonals chart showing cumulative year-over-year returns with year range selection and average line toggle. Supports high-resolution matplotlib rendering (via optional [charts] dependency) with automatic fallback to plotext ASCII charts.
  • Period returns table — Standard return periods (1W, 1M, 3M, 6M, YTD, 1Y, 3Y, 5Y, Max) displayed alongside the seasonals chart.
  • Watchlist dashboard — Track ETFs with at-a-glance metrics including holdings count, top holding, top-10 weight, effective N, concentration verdict, top sectors, overlap vs portfolio, and data freshness. Supports search, filter by issuer, add/remove with undo (Ctrl+Z), double-click to open, and CSV export.
  • Fund metadata via Yahoo Finance — Overview now shows category, inception date, expense ratio, dividend yield, beta (3Y), YTD/3Y/5Y returns, exchange, average volume, NAV, and fund description sourced from yfinance.
  • Price history service — Yahoo Finance OHLCV data with local SQLite caching (24-hour TTL) and automatic retry logic.
  • w keybinding — Press w from any ETF view to add the current ETF to the watchlist.
  • [charts] optional dependencypip install etfray[charts] installs matplotlib and textual-image for high-resolution seasonals charts.

Changed

  • Overview view — Now combines SEC N-PORT filing data with Yahoo Finance fund profile for a richer summary.
  • Architecture — Added market_data_service, price_history_service, seasonals_analytics, seasonals_plot, and watchlist_view modules.
  • Data sources — Yahoo Finance added as a third data source alongside EDGAR and web scraper.

Install / Upgrade

pip install --upgrade etfray
# Optional: for high-res seasonals charts
pip install --upgrade etfray[charts]

Full changelog: https://github.com/alwank/etfray/blob/main/CHANGELOG.md
Documentation: https://etfray.readthedocs.io