hledger/examples/lots/Makefile
Simon Michael a1de9148f2 ;examples:
2025-03-05 16:19:29 -10:00

35 lines
1.7 KiB
Makefile

subaccounts.beancount: subaccounts.hledger
sed -E 's/_[^0-9]*([0-9]+)[.,]([0-9]+)/-\1-\2/' $< | hledger print --alias revenues=income -f- -O beancount | bean-format - >$@
lotter.lotter: lotter.hledger
lotter -f $< >$@
hledger-bal-%:
@printf "$$ "
hledger -f $*.hledger bal -YE aaa
ledger-bal-%:
@printf "$$ "
ledger -f $*.hledger bal --flat -E aaa
lotter-bal: lotter.lotter
@printf "$$ "
hledger -f lotter.lotter bal -YE --invert Lot cur:AAA
ledger-lots:
@printf "$$ "
ledger -f ledger.ledger bal --lots --flat -E --no-total aaa
beancount-bal-%:
@printf "$$ "
bean-query subaccounts.beancount "SELECT account, units(sum(position)), cost(sum(position)) WHERE account ~ 'Aaa' GROUP BY 1 ORDER BY account;"
beancount-lots-%:
@printf "$$ "
bean-query $*.beancount "SELECT account, units(sum(position)) as units, cost_number as cost, cost_date as acquisition_date WHERE account ~ 'Aaa' GROUP BY account, cost_date, currency, cost_currency, cost_number, account_sortkey(account) ORDER BY account_sortkey(account), currency, cost_date"
@printf "$$ "
bean-query $*.beancount "SELECT account, units(sum(position)) as units, cost_number as cost, first(getprice(currency, cost_currency)) as price, cost(sum(position)) as book_value, value(sum(position)) as market_value, safediv((abs(sum(number(value(position)))) - abs(sum(number(cost(position))))), sum(number(cost(position)))) * 100 as unrealized_profit_pct, cost_date as acquisition_date WHERE account ~ 'Aaa' GROUP BY account, cost_date, currency, cost_currency, cost_number, account_sortkey(account) ORDER BY account_sortkey(account), currency, cost_date"
bals: hledger-bal-subaccounts ledger-bal-subaccounts beancount-bal-subaccounts beancount-bal-beancount