/fava_investor

Comprehensive set of reports, analyses, and tools for investments, for Beancount and Fava (plain text, double entry accounting software). Includes Fava plugins, command line tools, and libraries for each module.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Fava Investor

Fava Investor aims to be a comprehensive set of reports, analyses, and tools for investments, for Beancount and Fava (software for plain text, double entry bookkeeping). It is developed as a collection of modules, with each module offering a Fava plugin, a Beancount library, and a shell command.

Current modules:

Demo

Play with the live demo at pythonanywhere.

Screenshots (dated):

Screenshot: TLH Screenshot: Asset Allocation

Utilities

Fava Investor ships with ticker-util, which is a collection of utilities for:

  • downloading information from Yahoo for commodities (tickers), and annotating your commodity declarations with metadata
  • discovering relationships between tickers in your Beancount file, such as equivalent and substantially identical tickers, and tax loss harvesting partner groups, from a minimal and incomplete specification
  • providing ISIN an other ticker identifying information to your importers

For more, install fava_investor via pip, and then see:

ticker-util --help
ticker-util relate --help

Installation

pip3 install fava-investor

Or to install the bleeding edge version from git:

pip3 install git+https://github.com/redstreet/fava_investor

See #55 for MacOS installation.

Running Fava Investor

Running in Fava:

Add this to your beancount source, and start up fava as usual:

2000-01-01 custom "fava-extension" "fava_investor" "{}"

You should now see an 'Investor' link in the sidebar in fava. For more on how to configure the extension, see the included huge-example.beancount.

Running on the Command-Line:

The command line interface (CLI) is accessed using the investor command, which has subcommands for each module. Eg:

investor assetalloc-class
investor tlh
investor --help

Both the CLI and the utility (ticker-util) use click. See here to enable shell completion in zsh, bash, or fish, which is highly recommended.

Problems?

  • Monitor the terminal you are running fava from to look for error output from fava_investor
  • Include the error messages you see above when opening bug reports or asking for help

Contributing

Features, fixes, and improvements welcome. Remember:

  • Feel free to send send pull requests. Please include unit tests
  • For larger changes or changes that might need discussion, please reach out and discuss first to save time (open an issue)
  • Please squash your commits (reasonably)
  • Use conventional commits for commit messages

Thank you for contributing!

Related Projects