#investment #portfolio #command-line-tool #command-line-application #file #portfolios

app portfolio_rs

A command line tool for managing financial investment portfolios written in Rust

10 releases

0.1.9 Nov 20, 2023
0.1.8 Aug 26, 2023
0.1.7 Apr 6, 2023
0.1.6 Jan 1, 2023
0.1.1 Sep 22, 2022

#13 in Finance

MIT license

1MB
448 lines

portfolio_rs logo
build status badge clippy analyze status badge

A command line tool for managing financial investment portfolios written in Rust.

This project is the modern successor of finance.

Installation

Install/run via pkgx:

pkgx portfolio_rs

You can install portfolio_rs directly from cargo (via crates.io):

cargo install portfolio_rs

Usage

1. Create your portfolio file

Create a JSON file with your portfolio positions.

Look at the example data for the format and data scheme.

2. Use the subcommands to gain insight on your portfolio:

Show the current balances of your portfolio:

portfolio_rs balances <JSON_FILE>

Show the current allocation of your portfolio:

portfolio_rs allocation <JSON_FILE>

Show the performance of your portfolio:

portfolio_rs performance <JSON_FILE>

If you need help, try portfolio_rs help [SUBCOMMAND] for usage information.

Demo

demo

Configuration

Upon first run, portfolio_rs will create a default config.yml file. The location of the config file depends on the operating system. Use portfolio_rs config to print the config directory.

Probably the most useful entry in the config is portfolio_file where you can set the absolute path to a data file that will be used when no data file is passed as an argument.

Bonus: GPG Encryption

This tool supports (gpg) encrypted json files. Decrypted values are never written to disk.

# you will need a valid gpg key in ~/.gnupg/
portfolio_rs [COMMAND] data.json.gpg

Pro Tip: Use a plugin like vim-gnupg for editing your data file.

Dependencies

~12–27MB
~411K SLoC