Thanks Red, added to contrib doc!

On Sat, Aug 13, 2022 at 11:22 AM Red S <[email protected]> wrote:

> Here's a quick, single-table module I put together. Live example is here
> <http://favainvestor.pythonanywhere.com/example-beancount-file/extension/Investor/?module=minimizegains>
> . Feedback welcome.
>
> From README
> <https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/minimizegains>
> :
>
>
>
> *Gains Minimizer*
>
> *Determine lots to sell to minimize capital gains taxes.*
> *
> <https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/minimizegains#introduction>Introduction*
>
> When partially liquidating from taxable accounts, (for example, to make a
> purchase, or to draw down from one's retirement savings), capital gains are
> potentially generated and subject to taxation.
>
> Careful selection of lots to be sold will allow the tax burden to be
> minimized in this scenario. This Gains Minimizer module can help. It
> displays a table of lots to sell, ordered by their tax burden. By selling
> portfolio lots in this order, tax burden is minimized.
> *
> <https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/minimizegains#using-this-module>Using
> this module*
>
>    - most columns in the table are self-explanatory. The non-obvious ones
>    are explained below
>    - est_tax is the estimated tax on the sale. This is computed using the
>    '[sl]_t_tax_rate' fields in the configuration below
>    - est_tax_percent is the percentage of estimated taxes on the proceeds
>    (market_value). This is the column that this table is sorted by
>    - cumu_proceeds is the cumulative proceeds (sum of the market_value of
>    all rows upto and including this one)
>    - cumu_gains is the cumulative gains (sum of the gains of all rows
>    upto and including this one)
>    - percent is the ratio of cumu_gains to cumu_proceeds
>
> To use this table, look down the cumu_proceeds until the first row that
> exceeds the amount you wish to liquidate. Liquidate all preceeding rows,
> including a partial amount of the last row until you liquidate the amount
> you desire.
> *
> <https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/minimizegains#limitations>Limitations*
>
> Selling in this manner does not account for Asset allocation, which the
> sales may cause to shift. If maintaining constant allocation is desired, a
> different algorithm must be used. In addition, such an algorithm may have
> to consider the tax-advantaged portions of the portfolio.
> *
> <https://github.com/redstreet/fava_investor/tree/main/fava_investor/modules/minimizegains#example-configuration>Example
> configuration:*
> 'minimizegains' : { 'accounts_pattern': 'Assets:Investments:Taxable',
> 'account_field': 2,  'st_tax_rate': 0.30, 'lt_tax_rate': 0.15 }
>
> --
> 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 [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beancount/d0404bdf-8ee1-4f76-ba3a-5c05d1fec9aen%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/d0404bdf-8ee1-4f76-ba3a-5c05d1fec9aen%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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/CAK21%2BhOuDbUP_Lrj3Fb6ebsZNzq%3D%3D%3DFXtBaQ9ijScBTf7r4OPg%40mail.gmail.com.

Reply via email to