On Mon, Sep 13, 2021 at 8:12 PM Bman Q <mplo...@gmail.com> wrote: > thank you for your reply, > > i understand that beangrow is experimental, and i really appreciate what > it can do even in this form, hopefully we (i see some users on github) will > contribute to work too. Your work is really helpful to lots of people, one > more time thank you. > > I managed to make bean grow work, i needed to add "commodity" > declarations. (surprisingly beancount / fava worked without them just fine) > Plus couple windows related bugs for which i opened issues on beangrow's > github providing temp fixes. >
Ah I see. I may have assumed you use the "check_commodity" plugin, which ensures all commodities have a corresponding declarations. (This will be default in v3.) > > I have couple of additional questions on bean grow set-up: > 1. configure.py seems to ignore closed accounts, is it how it supposed to > work? > (usually for strictness i was closing accounts after i exited/sold > position, example: "2020-10-06 close Assets:Investing:CSchwab:RDFN") > I don't remember, but I'm pretty sure I calculated returns on closed accounts. > > 2. "Including Uninvested Cash" > Do i understand it right that the easiest way to account for uninvested > cash is to create > -commodity "IDDLEUSD" > -account Assets:Investing:IDDLEUSD > buy IDDLEUSD for all cash (USD) that i can invest at rate 1:1, > and then at each interval i do reports "price IDDLEUSD 1 USD", > and when i want to buy smng sell IDDLEUSD for USD, and buy what i want. > ? > > OR is there a way to make my investment cash accounts > "Assets:Investing:CSchwab:Cash", etc to be counted as investment (with 0 > return) ? > I don't remember, honestly, but this is a really important aspect. Uninvested cash has to count. I doubt I ignored it. > > 3. Is there recommended time frame for "price" quotes? > Usually i open positions for 3-5 years, so not interested in daily or even > monthly fluctuations. > Do i understand it right that if i use > -"plugin "beancount.plugins.implicit_prices"" (to get price from buy/sell > transactions) > -price my investments on 1st of each Quarter > -run compute_returns.py with -e DATE = 1st of each Quarter (basically same > cut off as date of last price quote) > then i will be fine and won't need any more price quotes > ? > Yes, that's good enough. IIRC I was using a weekly or monthly interval. Just depends how smooth you want the curve to be. On Sunday, September 12, 2021 at 9:59:55 PM UTC-4 bl...@furius.ca wrote: > >> On Sun, Sep 12, 2021 at 8:40 PM Bman Q <mpl...@gmail.com> wrote: >> >>> Guys hi >>> >>> First of all i want to thank Martin for superb work! I have been using >>> beancount for 2 years and flexibility / functionality beancount provides >>> are simply amazing. I always recommend beancount on plain text accounting >>> sub and now have 1 extra reason to suggest it :) >>> >> >> Thanks! >> >> >>> >>> Secondly i have several questions / issues with installation and will >>> appreciate your help: >>> 1. should i use "v2 master + beangrow repo" OR "beancount 2.3.3" ? >>> >> >> v2 if you like stability >> beangrow should work with it >> master if you want the bleeding edge, but frankly right now it's ~ the >> same. New code is being written in there but it's not being run through the >> main pass (there are two parsers in there, the new one is still undergoing >> development). >> >> >> >>> 2. when i run configure.py, it generates empty file, what can be the >>> reason for this? >>> >> [...] >> >> beangrow has been written a good long time ago and it did work great at >> the time. >> I haven't run it in about a year myself, since I've switch a much more >> active trading style, so there may have been drift and breakage. >> (FWIW I've been developing a completely different trade reporting system >> to accommodate active trading (https://github.com/beancount/johnny) but >> it's much more complicated and doesn't integrate well into beancount yet.) >> >> Unlike beancount, beangrow is a bit more experimental and much less >> mature than beancount, you'll have to insert debugging code and figure out >> why somehow the inferred configuration isn't working. It's not something I >> have ongoing tests for, and I have more than 10 active projects + a full >> time job, not enough cycles to keep all of those in tip-top shape. >> >> >> >>> 3. Do i understand it right that the only change we need to do in main >>> beancount file is add signature handlers? >>> >> >> No you shouldn't have to do that. >> You should be able to create an input configuration that works on your >> regular Beancount file. >> >> >> 4. I tried creating simple config file myself >>> investments { >>> # Accounts at Schwab. >>> investment { >>> currency: "RDFN" >>> asset_account: "Assets:Investing:CSchwab:RDFN" >>> cash_accounts: "Assets:Investing:CSchwab:Cash" >>> } >>> investment { >>> currency: "SQ" >>> asset_account: "Assets:Investing:CSchwab:SQ" >>> cash_accounts: "Assets:Investing:CSchwab:Cash" >>> } >>> } >>> >>> groups { >>> group { >>> name: "stocks" >>> investment: "Assets:Investing:CSchwab:RDFN" >>> investment: "Assets:Investing:CSchwab:SQ" >>> } >>> group { >>> name: "all" >>> investment: "Assets:Investing:*" >>> currency: "USD" >>> } >>> } >>> >>> but it resulted in error: >>> (using beancount master and beangrow repo) >>> python beangrow/compute_returns.py b.beancount conf-returns out >>> R:\b\b-office>python beangrow/compute_returns.py b.beancount >>> conf-returns out >>> Traceback (most recent call last): >>> File "beangrow/compute_returns.py", line 105, in <module> >>> main() >>> File "beangrow/compute_returns.py", line 80, in main >>> account_data_map = investments.extract( >>> File "R:\b\b-office\beangrow\investments.py", line 553, in extract >>> account_data = [process_account_entries(pruned_entries, >>> config.investments, aconfig, >>> File "R:\b\b-office\beangrow\investments.py", line 553, in <listcomp> >>> account_data = [process_account_entries(pruned_entries, >>> config.investments, aconfig, >>> File "R:\b\b-office\beangrow\investments.py", line 399, in >>> process_account_entries >>> comm = commodity_map[currency] if currency else None >>> KeyError: 'RDFN' >>> >> >> Do you have postings with the currency RDFN in your Beancount file? >> >> >> >> >>> (using beancount 2.3.2) >>> R:\b\b-office>python returns/compute_returns.py b.beancount conf-returns >>> out >>> Traceback (most recent call last): >>> File "returns/compute_returns.py", line 97, in <module> >>> main() >>> File "returns/compute_returns.py", line 73, in main >>> config = configlib.read_config(args.config, args.filter_reports, >>> accounts) >>> File "R:\b\b-office\returns\config.py", line 44, in read_config >>> text_format.Merge(infile.read(), config) >>> File >>> "C:\Users\Btycoon\AppData\Local\Programs\Python\Python38\lib\site-packages\google\protobuf\text_format.py", >>> line 696, in Merge >>> return MergeLines( >>> File >>> "C:\Users\Btycoon\AppData\Local\Programs\Python\Python38\lib\site-packages\google\protobuf\text_format.py", >>> line 770, in MergeLines >>> return parser.MergeLines(lines, message) >>> File >>> "C:\Users\Btycoon\AppData\Local\Programs\Python\Python38\lib\site-packages\google\protobuf\text_format.py", >>> line 795, in MergeLines >>> self._ParseOrMerge(lines, message) >>> File >>> "C:\Users\Btycoon\AppData\Local\Programs\Python\Python38\lib\site-packages\google\protobuf\text_format.py", >>> line 817, in _ParseOrMerge >>> self._MergeField(tokenizer, message) >>> File >>> "C:\Users\Btycoon\AppData\Local\Programs\Python\Python38\lib\site-packages\google\protobuf\text_format.py", >>> line 907, in _MergeField >>> raise tokenizer.ParseErrorPreviousToken( >>> google.protobuf.text_format.ParseError: 15:1 : Message type >>> "beancount.returns.Config" has no field named "groups". >>> >> >> Not sure what's up. >> >> >> >>> >>> 5. Could someone please share sample beancount and returns config files? >>> >> >> Yeah it would be nice if the config worked on the big example.beancount >> file from the beancount repo. >> >> >> >>> On Saturday, February 20, 2021 at 9:13:59 PM UTC-5 bl...@furius.ca >>> wrote: >>> >>>> Move to https://github.com/beancount/beangrow/issues/6 >>>> >>>> >>>> On Mon, Dec 28, 2020 at 6:44 AM redst...@gmail.com <redst...@gmail.com> >>>> wrote: >>>> >>>>> I have a case that doesn't produce the desired output: a transfer out >>>>> of an account, in-kind. This gets categorized as an ASSET_OTHERASSET. I'm >>>>> not sure I understand the reasoning for why this category cashflows out >>>>> the >>>>> *cost basis* of the other asset. Shouldn't it be outflowing the market >>>>> value instead? >>>>> >>>>> More generally, in-kind transfers (in or out) don't seem to work >>>>> correctly for this reason. They only work if both source and target >>>>> accounts are considered together in a group. >>>>> >>>>> Source: >>>>> -------------------------------------------------------------------------------------------- >>>>> >>>>> option "operating_currency" "USD" >>>>> plugin "beancount.plugins.implicit_prices" >>>>> >>>>> 2005-01-01 commodity USD >>>>> 2005-01-01 commodity HOOL >>>>> >>>>> 2000-01-01 open Assets:Brokerage:USD >>>>> 2000-01-01 open Assets:Brokerage:HOOL "STRICT" >>>>> 2000-01-01 open Assets:Zero-Sum-Accounts:Transfers "STRICT" >>>>> >>>>> 2020-01-01 * "Buy" >>>>> Assets:Brokerage:HOOL 1000 HOOL {1 USD} >>>>> Assets:Brokerage:USD >>>>> >>>>> 2020-10-01 price HOOL 1.1 USD >>>>> >>>>> 2020-10-02 * "Transfer out, in kind" >>>>> Assets:Brokerage:HOOL -1000 HOOL {1 USD} >>>>> Assets:Zero-Sum-Accounts:Transfers 1000 HOOL {1 USD} >>>>> >>>>> Config: >>>>> >>>>> -------------------------------------------------------------------------------------------- >>>>> investments { >>>>> investment { >>>>> currency: "HOOL" >>>>> asset_account: "Assets:Brokerage:HOOL" >>>>> cash_accounts: "Assets:Brokerage:USD" >>>>> dividend_accounts: "Income:Dividends:Brokerage:HOOL" >>>>> } >>>>> } >>>>> groups { >>>>> group { >>>>> name: "currency.HOOL" >>>>> investment: "Assets:Brokerage:HOOL" >>>>> } >>>>> } >>>>> >>>>> Results: >>>>> -------------------------------------------------------------------------------------------- >>>>> >>>>> Desired (meaningful) output: 12% CAGR >>>>> Actual output: 0.00% (since the cashflow is -1000 for the buy, and >>>>> +1000 for the transfer). >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 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+...@googlegroups.com. >>>>> >>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/beancount/fdb4dad4-1d92-4f7b-92e0-26e3732e7603n%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/beancount/fdb4dad4-1d92-4f7b-92e0-26e3732e7603n%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+...@googlegroups.com. >>> >> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/beancount/50e30e64-b537-4fc3-8654-75a2fa3945c2n%40googlegroups.com >>> <https://groups.google.com/d/msgid/beancount/50e30e64-b537-4fc3-8654-75a2fa3945c2n%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/702f73e7-70b1-4dfe-b119-706ab320243bn%40googlegroups.com > <https://groups.google.com/d/msgid/beancount/702f73e7-70b1-4dfe-b119-706ab320243bn%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/CAK21%2BhPsxnxYnWbRYXN31HZk-QczGt5V8mqYbAiyN0Kg2irYyg%40mail.gmail.com.