Skip to main content

Owl - Optimal Wealth Lab: Retirement planner with great wisdom

Project description

Owl - Optimal Wealth Lab

A retirement exploration tool based on linear programming


TL;DR

Owl is a retirement financial planning tool that uses a 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, Medicare premiums, rules for 401k including required minimum distributions, maturation rules for Roth accounts and conversions, social security rules, etc.

There are three ways to run Owl:

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

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

  • 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

  • Documentation for the app user interface is available from the interface itself.
  • Installation guide and software requirements can be found here.
  • User guide for the underlying Python package as used in a Jupyter notebook can be found here.

Credits

  • Contributors: Robert E. Anderson (NH-RedAnt) for bug fixes and suggestions, Clark Jefcoat (hubcity) for fruitful interactions, kg333 for fixing an error in Docker's instructions, John Leonard (jleonard99) for great suggestions, website, logger, stochastic rate generation, and more to come, Benjamin Quinn (blquinn) for improvements and bug fixes, Dale Seng (sengsational) for great insights, testing, and suggestions, Josh Williams (noimjosh) for Docker image code, Gene Wood (gene1wood) for improvements and bug fixes.
  • Greg Grothaus for developing ssa.tools and providing an integration with Owl.
  • Owl image is from freepik.
  • Historical rates are from Aswath Damodaran.
  • Linear programming optimization solvers are from HiGHS and PuLP. It can also run on MOSEK if available on your computer.
  • Owl planner relies on the following Python packages:

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: This code is for educatonal purposes only and does not constitute financial advice.

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.2.19.tar.gz (5.0 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.2.19-py3-none-any.whl (167.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: owlplanner-2026.2.19.tar.gz
  • Upload date:
  • Size: 5.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for owlplanner-2026.2.19.tar.gz
Algorithm Hash digest
SHA256 2d6449406ab0b5cb1b2e625f7512258f241be211e25dd9d390a084aecbb38395
MD5 0225d3bbc03dbd3a816e1cf9ba5ff42b
BLAKE2b-256 102b80b080dda56205e3668e5be8dc2ccbe37a33b238ed693c2bb5ba4e78d27b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: owlplanner-2026.2.19-py3-none-any.whl
  • Upload date:
  • Size: 167.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for owlplanner-2026.2.19-py3-none-any.whl
Algorithm Hash digest
SHA256 d9d331e362e7e48d834d4d4ab1ae2b1498bbedaf9daf65b3200a50d2f3bdc6e2
MD5 3c9b323e6c3ffcfe6ad9b41cc5cd88af
BLAKE2b-256 38c1ea9525d478da0c79c9abf8873f6de15f93883d0de74750a700d4a0108e2c

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