"Yeah it would be nice if the config worked on the big example.beancount 
file from the beancount repo."
- i tried to create sample project from example.beantcount file, but there 
were too many moving pieces, and some things were not clear (like 
"Dividends on portfolio" was not clear to which investment it belongs to)
so i created another one:
https://github.com/gety9/beangrow/tree/examples/examples

it has capital gains returns, dividend returns, grouping growth / value, 
investments separated in difference accounts and i explain a bit how math 
and cashflows work showing that computed IRR is accurate.

could you have a look and tell what you think? if it's fine i will create PR

"I don't remember, honestly, but this is a really important aspect. 
Uninvested cash has to count. I doubt I ignored it."
- it's in the section of "Future Work" of google doc file :)
but we can achieve "uninvested cash account" now with following setting in 
config
  investment {
    asset_account: "Assets:Investing:CSchwab:Cash"
    cash_accounts: "Assets:Personal:Checking"
    cash_accounts: "Income:Investing:CSchwab:KO:Dividends" 
    cash_accounts: "Income:Investing:CSchwab:Gains"
    cash_accounts: "Expenses:Investing:CSchwab:Fees"
  }

it works exactly as it should, with no interest return is 0, with interest 
return equals to interest,
the downsides: 
- "--check-explicit-flows" fails (cause of ASSET_OTHERASSET when assets are 
purchased / sold)
but general rules produce list of cash flows perfectly fine.
- if one have lots of Dividend accounts he have to enter all of them or 
combine them in one account

if you think above solution is appropriate then i can add it to aove 
example files

i also create brunch for https://github.com/beancount/beangrow/issues/4
https://github.com/gety9/beangrow/commit/5a0368a3637fbb1bf21cc370767d8b1c6c49535c
and added minimal instructions to readme (things i notice asked in github 
issues and here) 
https://github.com/gety9/beangrow/tree/read-me

if you think they are ok i will create PR.
On Monday, September 13, 2021 at 9:33:01 PM UTC-4 bl...@furius.ca wrote:

> On Mon, Sep 13, 2021 at 8:12 PM Bman Q <mpl...@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+...@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/4cc5d407-55af-4a02-89ca-712225618908n%40googlegroups.com.

Reply via email to