#portfolio #investment #command-line-tool

app portfolio_rs

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

7 releases

0.1.6 Jan 1, 2023
0.1.5 Dec 18, 2022
0.1.4 Nov 20, 2022
0.1.2 Oct 22, 2022
0.1.1 Sep 22, 2022

#3 in Finance

22 downloads per month

MIT license

456 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.


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

cargo install portfolio_rs


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.




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.


~364K SLoC