diff --git a/internal/server/overview.go b/internal/server/overview.go index 018f607..1a3727d 100644 --- a/internal/server/overview.go +++ b/internal/server/overview.go @@ -65,13 +65,15 @@ func computeOverviewTimeline(db *gorm.DB, postings []posting.Posting) []Overview } }, 0) - gain := lo.Reduce(pastPostings, func(agg float64, p posting.Posting, _ int) float64 { + balance := lo.Reduce(pastPostings, func(agg float64, p posting.Posting, _ int) float64 { if service.IsInterest(db, p) { return p.Amount + agg } else { - return service.GetMarketPrice(db, p, start) - p.Amount + agg + return service.GetMarketPrice(db, p, start) + agg } }, 0) + + gain := balance + withdrawal - investment networths = append(networths, Overview{Date: start, InvestmentAmount: investment, WithdrawalAmount: withdrawal, GainAmount: gain}) } return networths diff --git a/web/src/ledger.ts b/web/src/ledger.ts index 6505eb1..2464958 100644 --- a/web/src/ledger.ts +++ b/web/src/ledger.ts @@ -130,7 +130,7 @@ function renderBreakdowns(breakdowns: Breakdown[]) { b.investment_amount != 0 && gain != 0 ? formatCurrency(gain) : "" } ${ - b.xirr > 0.0001 ? formatFloat(b.xirr) : "" + b.xirr > 0.0001 || b.xirr < -0.0001 ? formatFloat(b.xirr) : "" } `; });