ChrisCScott / forecaster

A personal finances forecasting tool for Canadian retirement planning
Other
1 stars 2 forks source link

Implement asset sale #32

Open ChrisCScott opened 6 years ago

ChrisCScott commented 6 years ago

Providing asset sales will likely require that we distinguish between accounts and non-account assets.

Consider adding an Asset subclass that mimics Account but lacks transaction information, instead having buy and sell methods. Canadian subclasses can track acb and provide suitable taxable income in the year of sale (although PrincipleResidence won't need to do that).

Forecast and Forecaster will need to be revised to stop referring to accounts as assets (e.g. add_asset needs to change to add_account, and a new add_asset can be implemented).

ChrisCScott commented 5 years ago

More straightforwardly, we can simply subclass Account and retain the transaction information - which will make it much easier to record asset sales as outflows from the account.

A further feature that Asset can provide is modelling transaction costs. Consider adding a transaction_cost property which can be set to a Decimal or Money value. If a Decimal, it's treated as a percentage (e.g. if 0.05, 5% is deducted from the asset value on sale). If Money, it's simply deducted from the asset value.