aboutsummarylogtreecommitdiffstats
path: root/README.md
blob: 06fb30fb41059ca69435fb0f01984971d77a20c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
## Command line stock and cryptocurrency portfolio tracker.
#### How to install:
Before installation, make sure all dependencies are installed:
* curl
* json-c
* ncurses
```bash
$ git clone https://github.com/aokellermann/tick.git
$ cd tick
$ make
$ sudo make install
```
If you are an Arch user, you can install from the AUR.
```bash
$ yaourt -S tick
```
#### Portfolio
To update your portfolio, use the options add, rm, or set. You may use the
special string "USD$" to add US Dollars to your portfolio.
```bash
$ tick [add/rm/set] [symbol/crypto_id/USD$] [quantity of shares] [USD spent]
```
For example, to add 3 shares of Tesla bought for $918.12 total, run
```bash
$ tick add tsla 3 918.12
```
You can also specify the price per share instead of total spent:
```bash
$ tick add tsla 3 306.04ea
```

The parameter "add" will add your input to the current portfolio, "rm" will
subtract from your current portfolio, and "set" will set your portfolio to
the input, discarding any existing data about that security. Trading costs/fees
should be factored into your USD spent. When adding a cryptocurrency to your
portfolio, you must use the cryptocurrency's name. For instance, to add Ripple,
you must use "ripple" instead of "xrp". This is due to some cryptocurrency
tickers also being listed on the stock market, such as ETH.

To get info about your current holdings, run
```bash
$ tick check [symbol/crypto_id/all]
```
The string "all" will list your entire portfolio, as well as produce a grand
total. Running "check" with no other arguments will also list your entire portfolio.

You may encrypt your portfolio using the RC4 algorithm
```bash
$ tick encrypt
```
and decrypt it with
```bash
$ tick decrypt
```
You can modify and check your portfolio without explicitly decrypting it.

#### Security Information

To get information about a security, you can use the info command.
```bash
$ tick info tsla
```

To get the top three news articles on a specific stock or cryptocurrency,
you can run

```bash
$ tick news [symbol]
```
If you wish to use spaces in your input, you can either surround the phrase
with quotes or replace spaces with underscores.

Once installed, you may read the man page for more information.

#### License
MIT License

Stock information is taken from IEX's free API. Mutual fund and over-the-counter
information is taken from and Morningstar's free API. Cryptocurrency information
is taken from Coinmarketcap's free API. News information is taken from News
API. Shortened links are provided by Google's URL Shortener API. Please do
not abuse the APIs by repeatedly requesting information. Read the provided
license for more information.
#### Future Ideas/To-do
* Historical support -- 7d/28d profits (wait for coinmarketcap historical release)
* Different ways to sort "check all"
* Look for API to replace Morningstar for MUTF/OTCMKTS data, preferably with
intraday data (wait for iex v2 probably)
* DEB/RPM package
* List whether stock/etf/mutual fund/crypto/etc. in portfolio for less API calls
and portfolio distribution (tried to implement, but IEX API is unpredictable; wait for v2)
* Make printouts pretty with ncurses (graph plots with historical prices?)
* Format prices with commas (set locale?)
* Function to add new attributes to portfolio if not found
* Improve code documentation