New issue 280: Support implicit prices for explicitly specified pairs https://bitbucket.org/blais/beancount/issues/280/support-implicit-prices-for-explicitly
Martin Blais: Re. your first email: That's not great behavior from Beancount. Ideally at the very least it should issue a warning, or try to resolve the rates. In general, replacing the currency conversion with an unconditional graph search is too dangerous IMO, it could start getting really expensive without us noticing. Besides, if we did that I would consider redesigning the price map from scratch, avoiding filling it in with inverses in the first place. A better approach to solve the networth report issue might be to have a function which fills in missing pairs in the existing price map for particular desired currencies (i.e., the operating currencies in this case) once and then use that. What do you think? I'll comment further on your PR. Thanks, On Thursday, January 12, 2017 at 2:56:34 AM UTC-5, Justus Pendleton wrote: As a follow up to myself...to try to understand what is going on I reduced it down so I only have one operating_currency -- AUD. One surprise is the way currency conversions work in holdings_report.py:convert_to_currency. What I mean is: I have this... 2017-01-11 price AUD 0.7379 USD 2017-01-11 price USD 22,568.27 VND But because I don't have an explicit AUD <-> VND price the call to prices.get_latest_price(price_map, base_quote) returns (None, None). This results in it throwing out anything I have with a cost_currency of VND. If I add another entry, so it looks like 2017-01-11 price AUD 0.7379 USD 2017-01-11 price AUD 16,856.94 VND 2017-01-11 price USD 22,568.27 VND then things work as expected. Is it even possible to have bean-price fetch two different prices for AUD like that? One in VND and one in USD? It seems like currency/commodity conversion should be using a graph rather than just a dictionary lookup. I have a patch that does this that I can submit so long as I'm not misunderstanding how all this is supposed to work. When I change it to use a graph lookup then the problem I talked about in my original post goes away. Responsible: blais -- 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 post to this group, send email to beancount@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/20180409035941.39105.63120%40celery-worker-105.ash1.bb-inf.net. For more options, visit https://groups.google.com/d/optout.