Giter VIP home page Giter VIP logo

fava_investor's Introduction

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.