Skip to main content

Owl - Optimal Wealth Lab: Retirement planner with great wisdom

Project description

Owl - Optimal wealth lab

CI Version PyPI Python License: GPL v3 Docker Streamlit App

A retirement exploration tool based on mixed-integer linear programming


TL;DR

Owl is a retirement financial planning tool that uses a mixed-integer linear programming optimization algorithm to provide guidance on retirement decisions such as contributions, withdrawals, Roth conversions, and more. Users can select varying return rates to perform historical back testing, stochastic rates for performing Monte Carlo analyses, or fixed rates either derived from historical averages, or set by the user.

Owl is designed for US retirees as it considers US federal tax laws, ACA marketplace premiums (pre-65), Medicare premiums, rules for 401k including required minimum distributions, maturation rules for Roth accounts and conversions, social security rules, etc.

Among open-source retirement planning tools, Owl stands out for its unmatched capabilities and the rigor of its financial modeling. While the full API rewards those willing to invest time, the Streamlit web interface provides an accessible entry point for all users.

There are three ways to run Owl (from easiest to more complex):

  1. Streamlit Hub: Run Owl remotely as hosted on the Streamlit Community Cloud at owlplanner.streamlit.app.

  2. Docker Container: Run Owl locally on your computer using a Docker image. Follow these instructions for using this option.

  3. Self-hosting: Run Owl locally on your computer using Python code and libraries. Follow these instructions to install from the source code and self-host on your own computer.


Documentation

Document Description
docs/modeling-capabilities.md Summary of modeled components, assumptions, and limitations
INSTALL.md Installation guide, Python environment setup, and developer build steps
USER_GUIDE.md Python API usage with examples for Jupyter notebooks and scripts
PARAMETERS.md Complete reference for TOML case file parameters
CHANGELOG.md Version history and changelog
RATE_MODELS.md Available rate models (historical, stochastic, bootstrap, etc.)
papers/owl.pdf Mathematical foundations

Documentation for the app user interface is also available from the Streamlit UI.


Credits and Acknowledgements

See CREDITS.md.

Bugs and Feature Requests

Please submit bugs and feature requests through GitHub if you have a GitHub account or directly by email. Or just drop me a line to report your experience with the tool.

Privacy

This app does not store or forward any information. All data entered is lost after a session is closed. However, you can choose to download selected parts of your own data to your computer before closing the session. These data will be stored strictly on your computer and can be used to reproduce a case at a later time.


Copyright © 2024-2026 - Martin-D. Lacasse

Disclaimers: Owl is for educational and research purposes only. Nothing in this session constitutes financial, tax, or investment advice—consult a qualified professional for decisions specific to your situation.

Code output has been verified with analytical solutions when applicable, and comparative approaches otherwise. Nevertheless, accuracy of results is not guaranteed.


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

owlplanner-2026.6.1.tar.gz (7.3 MB view details)

Uploaded Source

Built Distribution

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

owlplanner-2026.6.1-py3-none-any.whl (291.7 kB view details)

Uploaded Python 3

File details

Details for the file owlplanner-2026.6.1.tar.gz.

File metadata

  • Download URL: owlplanner-2026.6.1.tar.gz
  • Upload date:
  • Size: 7.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for owlplanner-2026.6.1.tar.gz
Algorithm Hash digest
SHA256 8ccf13d341aa1e76c2403a2367bf5133d04f2d40efe7426dc9588dbc5a6dafee
MD5 7556f636ddb914054dd4b3de9a6542e7
BLAKE2b-256 6777ea9a26530838b2c5001140618c06eeb0c3b5b5248d324981d6df08cbc6aa

See more details on using hashes here.

File details

Details for the file owlplanner-2026.6.1-py3-none-any.whl.

File metadata

  • Download URL: owlplanner-2026.6.1-py3-none-any.whl
  • Upload date:
  • Size: 291.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for owlplanner-2026.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 161599660fcd6a896bcd8ee35fc222292a1bd6a6fb89f4b661c075ca13556280
MD5 d2dfa8e56346636c0917c52528df35ab
BLAKE2b-256 7e8c2f9731ae2afbcdf5d3354491442eca0fd3d31fb04e00c2391002c97e6d0d

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