Here's another example:

2020-06-02 * "Mining reward of 0.05 BTC"
  Assets:Ledger:BTC  0.05 BTC
  Income:Mining:USD

$ bean-price -vn price-fetch-test.beancount
INFO    : Using price cache at "/tmp/bean-price.cache" (with indefinite
expiration)
INFO    : Processing at date: 2023-08-08
INFO    : Loading "price-fetch-test.beancount"
BTC /USD                         @ latest     [
beanprice.sources.yahoo(BTC-USD) ]

None of the transactions I enter seem to cause bean-price to fetch anything
but @latest.

Is there some annotation I need to be putting on my transactions to say
"hey, price is needed here" ?



On Tue, Aug 8, 2023 at 9:07 PM Eric Altendorf <ericaltend...@gmail.com>
wrote:

> Thanks, William.
>
> On Tue, Aug 8, 2023 at 4:04 PM William Bean <wbea...@gmail.com> wrote:
>
>> Hey Eric,
>>
>> Check out the repo for this that is located here:
>> https://github.com/beancount/beanprice
>>
>> There is a little documentation there that you can take a look at, but
>> basically you'll want to use:
>>
>
> I have read that too.
>
>
>> bean-price --update ledger.beancount
>>
>> That will fetch all historical prices (as needed by your ledger) up to
>> the current day.
>>
>
> Thanks for confirming that it is supposed to fetch historical prices.
>
> Do you know what beancount considers "needed by the ledger"?  I can't seem
> to make sense of it; as I reported in my original post, it's not fetching
> the prices that it seems to *me* the ledger would need.
>
> I'm assuming bean-price is designed for a different use case than mine and
> offers different behavior, but I can't quite figure out what that use case
> or behavior is, and without understanding that I can't figure out whether I
> can adapt bean-price for my case...
>
>
>
>
>>
>> On Monday, August 7, 2023 at 7:39:31 PM UTC-4 erical...@gmail.com wrote:
>>
>>> Let me ask a more basic question.  What is bean-price actually supposed
>>> to do?
>>>
>>> Re-reading
>>> https://beancount.github.io/docs/fetching_prices_in_beancount.html ,
>>> I'm piecing together that perhaps the only thing bean-price does is
>>> value your assets as of a certain date.  Is that true?  TBH it's not clear
>>> from the docs.
>>>
>>> There are other uses for prices, e.g., establishing cost basis for a
>>> purchase, or establishing the value of the transfer of an asset at a
>>> particular point in time be that for income or expenses.  Are there
>>> existing plugins that can look up historical prices and annotate
>>> transactions with them where they're missing?
>>>
>>> On Tue, Aug 1, 2023 at 5:54 PM Eric Altendorf <erical...@gmail.com>
>>> wrote:
>>>
>>>> I'm having trouble understanding how automatic price fetching works,
>>>> and I think it's being additionally complicated by questions of price
>>>> imputation and maybe PnL accounts.  Let's start with the simplest case.
>>>> Consider (commodity declarations omitted for brevity):
>>>>
>>>> 2020-01-01 * "Buy BTC (from USD)"
>>>>   Assets:Coinbase:BTC       0.50000000 BTC
>>>>   Assets:Coinbase:USD  -4750.00000000 USD
>>>>
>>>> I would have expected bean-price to fetch a price for BTC for
>>>> 2020-01-01, but instead it fails, saying the transaction doesn't balance.
>>>> Now, if I supply a price
>>>>
>>>> 2020-01-01 * "Buy BTC (from USD)"
>>>>   Assets:Coinbase:BTC       0.50000000 BTC @ 9500.0 USD
>>>>   Assets:Coinbase:USD  -4750.00000000 USD
>>>>
>>>> or supply a price spec with no number:
>>>>
>>>> 2020-01-01 * "Buy BTC (from USD)"
>>>>   Assets:Coinbase:BTC       0.50000000 BTC @ USD
>>>>   Assets:Coinbase:USDT  -4750.00000000 USD
>>>>
>>>> then there is no error, but bean-price fetches *today's* price.
>>>>
>>>> Now let's consider a more complex example:
>>>>
>>>> 2020-02-01 * "Buy BTC (from USDT)"
>>>>   Assets:Coinbase:BTC       0.50000000 BTC
>>>>   Assets:Coinbase:USDT  -4750.00000000 USDT
>>>>   Income:PnL
>>>>
>>>> Here, I'd like to fetch the USD prices of both BTC and USDT, which
>>>> would allow PnL to be computed, but bean-price fetches nothing.  Now, if I
>>>> put "@ USD" at the end of the BTC posting (as above), instead of getting
>>>> the price on 2020-01-01 (as I desire), or the price today (as in the
>>>> earlier example), I get "Too many missing numbers for currency group 
>>>> 'USD'".
>>>>
>>>> I can't quite figure out what bean-price is doing, or square it against the
>>>> documentation
>>>> <https://docs.google.com/document/d/1thYRAMell_QT1Da1F_laprSs6BlROZjyK_h3V8qHW9c/edit>.
>>>> Any tips to get me unblocked?
>>>>
>>>> thanks,
>>>> eric
>>>>
>>> --
>> 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 beancount+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/beancount/ede58116-e234-4ffb-8d69-4188304af919n%40googlegroups.com
>> <https://groups.google.com/d/msgid/beancount/ede58116-e234-4ffb-8d69-4188304af919n%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 beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAFXPr0v-PtEhQP5q511k9xpkV_L8cpiVQBsyYhzGK%2BLaTd-oZQ%40mail.gmail.com.

Reply via email to