From 76c90698950eca2c6b96db207e34338afee91f35 Mon Sep 17 00:00:00 2001 From: Anantha Kumaran Date: Tue, 23 Aug 2022 19:25:44 +0530 Subject: [PATCH] fix gain calculation in overview page --- internal/server/overview.go | 6 ++++-- web/src/ledger.ts | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) 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) : "" } `; });