Hi Vivek, I am currently exploring beancount to track an investment
portfolio. In this example, I want to track buy/sell transactions of BTC
from Coinbase.
I exactly do not understand the various switches that beanprice utility
provides.
I plan to use bean price to populate a prices.db file which I plan to
include in the beancount file and later use to track the value of the
portfolio at different times. Is this a workflow that can be achieved with
beancount?
What exactly does the --update option do if my beancount file already has
transactions made at corresponding prices in USD. Below is an example from
my beancount file
2020-10-31 * "Buy BTC at Coinbase"
Assets:US:Crypto:Coinbase:BTC 0.03528803 BTC {} @ 14169.11 USD
Assets:US:BofA:Checking -500.00 USD
2020-11-03 * "Buy BTC at Coinbase"
Assets:US:Crypto:Coinbase:BTC 0.03598271 BTC {} @ 13895.56 USD
Assets:US:BofA:Checking -500.00 USD
Regarding the combination of using --update AND --date, Per the
> documentation, the way I have things setup is that when --update is used,
> it will "Fetch prices from most recent price for each source up to present
> day or specified --date" . So in this scenario it will look at the last
> date fetched and fill in the gaps up till the specified date (2020-10-26).
> If you already have a price after 2020-10-26 it's not going to do anything.
Can you point me to this documentation that describes the behavior of the
bean-price utility? Also where are the prices stored? Is that in cache? Can
I use it to populate an explicit file?
Thank you for taking time to go through my (lengthy) query.
Ghanashyam
On Sun 10 Jan, 2021, 19:24 [email protected], <[email protected]> wrote:
> I'll be honest I haven't had time to use beancount or run the latest, but
> looking briefly at the code there's a few things that comes to mind:
>
>
> - I wasn't expecting one to use the --update feature without a
> beancount file (i.e. how you're using -e). --update was really meant for a
> workflow with an existing beancount file, where there's dates defined
> around the commodity and prior prices and transactions to help figure out.
>
> Is this a use case you see yourself regularly using? I know earlier I
> considered changing things to have a specified --start-date and --end-date
> but that would've likely broken how so many others already use bean-price
> in conjunction with a basic shell script to grab multiple prices. Another
> option is to just mock up a beancount file with the initial commodity entry
> date (e.g. "2020-10-26 commodity BTC") then run bean-price --update (no
> --date needed).
>
> - "--data" - just as a sanity check I assume you meant "--date" here.
>
> - Regarding the combination of using --update AND --date, Per the
> documentation, the way I have things setup is that when --update is used,
> it will "Fetch prices from most recent price for each source up to present
> day or specified --date" . So in this scenario it will look at the last
> date fetched and fill in the gaps up till the specified date (2020-10-26).
> If you already have a price after 2020-10-26 it's not going to do anything.
>
>
>
> -Vivek
>
>
>
> On Sunday, January 10, 2021 at 2:40:43 PM UTC-8 [email protected] wrote:
>
>> Apologies for the trivial question. I re-installed the latest beancount
>> and beanprice from the repository using
>>
>> sudo pip3 install git+
>> https://github.com/beancount/beancount#egg=beancount
>> sudo pip3 install git+
>> https://github.com/beancount/beanprice#egg=beanprice
>>
>> With this I do see --update-rate switch when I run bean-price -h
>> However, I could not figure out the switch combinations to use to get a
>> dump of the price on a specific range
>>
>> An example that I tried out is here
>> bean-price --update --update-rate daily --data 2020-10-26 -e
>> USD:coinbase/BTC-USD
>>
>> Please suggest the correct command to fetch prices from a date (say
>> 2020-10-26) to present day.
>>
>> Thanks
>> Ghanashyam
>>
>>
>> On Sun, 20 Dec 2020 at 12:27, Martin Blais <[email protected]> wrote:
>>
>>> Merged.
>>>
>>> beancount (master):
>>>
>>> https://github.com/beancount/beancount/commit/00c0b71fb03c074be08ad10f709c9b6f7e99aa70
>>>
>>> beanprice:
>>>
>>> https://github.com/beancount/beanprice/commit/f1bcfea1c217c460ef419e05aa7b9ab2dff0bab2
>>>
>>>
>>>
>>>
>>>
>>> On Sun, Dec 20, 2020 at 1:42 PM [email protected] <[email protected]>
>>> wrote:
>>>
>>>> Thanks Martin!
>>>>
>>>> On Sunday, December 20, 2020 at 10:31:52 AM UTC-8 [email protected]
>>>> wrote:
>>>>
>>>>> Had a quick look; updating the branch in v2 isn't trivial (I deleted
>>>>> and revived beanprice during the move by accident).
>>>>> I'll merge manually the changes to ops/lifetimes.py and create a new
>>>>> change in the new repo.
>>>>>
>>>>>
>>>>> On Sun, Dec 20, 2020 at 1:20 PM Martin Blais <[email protected]> wrote:
>>>>>
>>>>>> Vivek, the repository has moved to
>>>>>> https://github.com/beancount/beanprice
>>>>>> Would you like to resubmit it there?
>>>>>>
>>>>>>
>>>>>> On Sun, Dec 20, 2020 at 12:48 PM [email protected] <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Ghanashyam,
>>>>>>> Yes, during the migration from bitbucket to github Martin Blais
>>>>>>> moved it to
>>>>>>> https://github.com/beancount/beancount/tree/pr128_seltzered_beanpriceupdate
>>>>>>> . It hasn't been reviewed/accepted yet, but perhaps it could be updated
>>>>>>> so
>>>>>>> it's easier to consider again. I haven't had time to touch beancount
>>>>>>> this
>>>>>>> year so that is the latest commit.
>>>>>>>
>>>>>>> On Saturday, December 19, 2020 at 11:27:13 PM UTC-8
>>>>>>> [email protected] wrote:
>>>>>>>
>>>>>>>> Hi Vivek, Do you have this update? The bitbucket link is not
>>>>>>>> available anymore. Curious if this feature was ever reviewed and
>>>>>>>> accepted,
>>>>>>>> seems like a very good feature
>>>>>>>>
>>>>>>>> On Sunday, 19 January 2020 at 21:33:06 UTC-8 [email protected]
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Andrzej! Nice to hear you're interested in the price update
>>>>>>>>> feature. There was some discussion between me and Johannes Harms late
>>>>>>>>> last
>>>>>>>>> year in a related issue (
>>>>>>>>> https://bitbucket.org/blais/beancount/issues/329/bean-price-support-fetch-over-range-of
>>>>>>>>> ) We may want to continue discussion there - last thing we were
>>>>>>>>> looking into was optimizing how a bunch of historical prices are
>>>>>>>>> fetched.
>>>>>>>>>
>>>>>>>>> I honestly don't know how the review process works for beancount,
>>>>>>>>> I've just been using my own fork in the meantime, so a script like
>>>>>>>>> Justus
>>>>>>>>> uses may be a better solution for your needs.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sunday, January 19, 2020 at 6:46:09 PM UTC-8, Justus Pendleton
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> On Monday, January 20, 2020 at 5:14:13 AM UTC+7, Andrzej wrote:
>>>>>>>>>>
>>>>>>>>>>> Alternatively, does anyone know if there a tool that does
>>>>>>>>>>> something similar but is outside of beancount main repository? (I'm
>>>>>>>>>>> not a
>>>>>>>>>>> fan of maintaining my own fork of beancount for this patch)
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Vivek mentioned in his original post that people wrote their own
>>>>>>>>>> scripts, so you could just do that. Depending on what you want, it
>>>>>>>>>> isn't
>>>>>>>>>> especially complicated. Here's one I had for when I wanted to
>>>>>>>>>> populate the
>>>>>>>>>> price map with historical data.
>>>>>>>>>>
>>>>>>>>>> If uses gdate because I usually run it on a mac. If you wanted to
>>>>>>>>>> update prices weekly instead of daily, just change the "+ 1 day" to
>>>>>>>>>> something else.
>>>>>>>>>>
>>>>>>>>>> #!/bin/bash -e
>>>>>>>>>>
>>>>>>>>>> DATE=gdate
>>>>>>>>>>
>>>>>>>>>> if [ -z $1 ]; then
>>>>>>>>>> echo "Must supply start date, e.g. 1983-05-22"
>>>>>>>>>> exit 1
>>>>>>>>>> else
>>>>>>>>>> from=$1
>>>>>>>>>> fi
>>>>>>>>>>
>>>>>>>>>> if [ -z $2 ]; then
>>>>>>>>>> to=$(${DATE} -I)
>>>>>>>>>> else
>>>>>>>>>> to=$2
>>>>>>>>>> fi
>>>>>>>>>>
>>>>>>>>>> d=$from
>>>>>>>>>> while [ "$d" != "$to" ]; do
>>>>>>>>>> echo Fetching prices on $d...
>>>>>>>>>> bean-price --date $d my.beancount >> prices.beancount
>>>>>>>>>> d=$(${DATE} -I -d "$d + 1 day")
>>>>>>>>>> done
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Beancount" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/beancount/b471b460-1e64-47f1-91a0-4aba5789aa59n%40googlegroups.com
>>>>>>> <https://groups.google.com/d/msgid/beancount/b471b460-1e64-47f1-91a0-4aba5789aa59n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Beancount" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/beancount/d52cdaea-f55e-49b7-b543-8fdac7fb9823n%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/beancount/d52cdaea-f55e-49b7-b543-8fdac7fb9823n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Beancount" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>>
>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/beancount/CAK21%2BhPG%2B5-9rfzu93GCRXaKVi865D4bhABfiZVXNOCut9LsYg%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/beancount/CAK21%2BhPG%2B5-9rfzu93GCRXaKVi865D4bhABfiZVXNOCut9LsYg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> You received this message because you are subscribed to the Google Groups
> "Beancount" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/224355f3-4f1e-4047-a3fd-5d556d41077dn%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/224355f3-4f1e-4047-a3fd-5d556d41077dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/CABieCESRri4CymO4s9cX6rAs%2Bv3Ox6VoSw47qVB1eu-%2B68SVuw%40mail.gmail.com.