Skip to main content

Modern Python tool for Buffett's Owner Earnings, DCF fair value, and robust quarterly analysis.

Project description

MarketSwimmer - Owner Earnings Analysis Tool 🏊‍♂️📈

A comprehensive Python tool for analyzing Warren Buffett's "Owner Earnings" from financial statement data, now with robust quarterly support, enhanced fair value calculation, and professional visualizations.

🚀 What's New in v2.5.2 (2025-08-16)

  • Accurate Quarterly Analysis: Full quarter-by-quarter extraction and charting (no more Q1-only bug!)
  • Improved Fair Value DCF: Enhanced scenario modeling and balance sheet adjustments
  • Cleaner Repo & Packaging: Streamlined for PyPI, with automated cleanup and build scripts
  • GUI & CLI: Modern PyQt6 GUI and powerful command-line interface
  • Professional Visualizations: Multiple chart types, improved color schemes, and export options

Key Features

  • 📊 Owner Earnings & DCF Analysis: 10-year average, scenario-based, and per-share valuation
  • 🗂️ Automated Data Pipeline: XLSX-to-CSV conversion, smart file detection, and logging
  • 🖥️ GUI & CLI: Easy-to-use interface and full command-line support
  • 📈 Charts & Reports: High-quality PNG charts and CSV exports for any ticker
  • 🔍 Open Source & Extensible: MIT licensed, Python 3.8+, easy to extend

Quick Start

pip install marketswimmer
marketswimmer gui
marketswimmer analyze TICKER

📦 Installation

pip install marketswimmer

� Quick Start

Command Line Usage

# Launch GUI
marketswimmer gui

# Process downloaded data
python process_financial_data.py TICKER

# Create visualizations
marketswimmer visualize --ticker TICKER

# Full analysis
marketswimmer analyze TICKER

GUI Workflow

  1. Launch GUI: marketswimmer gui or double-click launch_clean_gui.bat
  2. Select Ticker: Choose a stock symbol (e.g., AAPL, MSFT, BRK.B)
  3. Download Data: System opens StockRow page for manual data download
  4. Process Data: Run python process_financial_data.py TICKER
  5. Analyze: Use GUI "Calculate Owner Earnings" and "Create Visualizations" buttons

📊 Output Files

  • Charts: charts/[ticker]_*.png - Visual analysis charts
  • Data: data/owner_earnings_*.csv - Raw analysis data
  • Logs: logs/marketswimmer_*.log - Application logs

💡 Owner Earnings Formula

Owner Earnings = Net Income + Depreciation/Amortization - CapEx - Working Capital Changes

🎯 Features

  • ✅ Ticker-specific analysis
  • ✅ Annual and quarterly data processing
  • ✅ Professional visualizations
  • ✅ Automated chart generation
  • ✅ Clean directory organization
  • ✅ Comprehensive logging

📋 Requirements

  • Python 3.12+
  • pandas, matplotlib, seaborn
  • PyQt6 (for GUI)
  • Internet connection (for data download)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marketswimmer-2.5.3.tar.gz (84.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marketswimmer-2.5.3-py3-none-any.whl (74.4 kB view details)

Uploaded Python 3

File details

Details for the file marketswimmer-2.5.3.tar.gz.

File metadata

  • Download URL: marketswimmer-2.5.3.tar.gz
  • Upload date:
  • Size: 84.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for marketswimmer-2.5.3.tar.gz
Algorithm Hash digest
SHA256 709782eeb47c95011c88f6782b29a3362f07840f0777b5be70849e93a767525b
MD5 c3fe3a21a247382e76c8c71fcf741519
BLAKE2b-256 076d65c2c9628fdc5c1df122d9f24d2b435c034f7591420df9c564db98eff90f

See more details on using hashes here.

File details

Details for the file marketswimmer-2.5.3-py3-none-any.whl.

File metadata

  • Download URL: marketswimmer-2.5.3-py3-none-any.whl
  • Upload date:
  • Size: 74.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for marketswimmer-2.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8fdb63f4f39f4f3d7a039d75d6f31eef83cac965473e4dca32abd920ceacbc9b
MD5 fdcb20c558b8d782ec3dc9ddcd80029b
BLAKE2b-256 94cd417412884fd890fa646e28b39990cdbd0514db6f0d7d1bba6055c72221d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page