Bitcoincharts Beancount converter
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Alan Pearce 269e7b208e
Initial commit
5 years ago
.gitignore Initial commit 5 years ago
LICENSE Initial commit 5 years ago
README.org Initial commit 5 years ago
index.js Initial commit 5 years ago
package-lock.json Initial commit 5 years ago
package.json Initial commit 5 years ago

README.org

Bitcoincharts Beancount converter

This is a quick tool I hacked together to convert historic bitcoin prices from bitcoincharts CSVs into beancount price directives.

The files are gzipped CSVs of (unixtime, price, tradeamount)

For each month with trades on the 1st, the tool calculates a weighted average of trades on that day and outputs a beancount price directive.

Running

The tool does not download files on its own. Download the files before running.

$ node index.js some.csv.gz
# or
$ node index.js some.csv.gz EUR
# or
$ node index.js some.csv.gz EUR BTC

Parameters

  • filename (gzipped CSV)
  • currency [optional] (currency code used in beancount {USD,EUR, etc})
  • commodity [optional] (currency code of commodity) {BTC,BCH,LTC, etc}

Status

It works. I don't plan on working on it much further.

It's not very efficent. I suspect the main problem is the group function probably doesn't assume that the input is sorted and therefore buffers its entire input. Patches welcome.

License

MIT