Bugfix/fix average buy price calculation (#204)
* Fix average buy price calculation * Update changelog
This commit is contained in:
parent
f22991b090
commit
f403807f2d
@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- Fixed rendering of currency and platform in dialogs (account and transaction)
|
- Fixed rendering of currency and platform in dialogs (account and transaction)
|
||||||
|
- Fixed an issue in the calculation of the average buy prices in the position detail chart
|
||||||
|
|
||||||
## 1.24.0 - 07.07.2021
|
## 1.24.0 - 07.07.2021
|
||||||
|
|
||||||
|
@ -18,6 +18,7 @@ import { REQUEST } from '@nestjs/core';
|
|||||||
import { DataSource } from '@prisma/client';
|
import { DataSource } from '@prisma/client';
|
||||||
import {
|
import {
|
||||||
add,
|
add,
|
||||||
|
addMonths,
|
||||||
endOfToday,
|
endOfToday,
|
||||||
format,
|
format,
|
||||||
getDate,
|
getDate,
|
||||||
@ -227,19 +228,18 @@ export class PortfolioService {
|
|||||||
impersonationUserId || this.request.user.id
|
impersonationUserId || this.request.user.id
|
||||||
);
|
);
|
||||||
|
|
||||||
const positions = portfolio.getPositions(new Date())[aSymbol];
|
const position = portfolio.getPositions(new Date())[aSymbol];
|
||||||
|
|
||||||
if (positions) {
|
if (position) {
|
||||||
let {
|
const {
|
||||||
averagePrice,
|
averagePrice,
|
||||||
currency,
|
currency,
|
||||||
firstBuyDate,
|
firstBuyDate,
|
||||||
investment,
|
investment,
|
||||||
marketPrice,
|
|
||||||
quantity,
|
quantity,
|
||||||
transactionCount
|
transactionCount
|
||||||
} = portfolio.getPositions(new Date())[aSymbol];
|
} = position;
|
||||||
|
let marketPrice = position.marketPrice;
|
||||||
const orders = portfolio.getOrders(aSymbol);
|
const orders = portfolio.getOrders(aSymbol);
|
||||||
|
|
||||||
const historicalData = await this.dataProviderService.getHistorical(
|
const historicalData = await this.dataProviderService.getHistorical(
|
||||||
@ -267,13 +267,14 @@ export class PortfolioService {
|
|||||||
isSameDay(currentDate, parseISO(orders[0]?.getDate())) ||
|
isSameDay(currentDate, parseISO(orders[0]?.getDate())) ||
|
||||||
isAfter(currentDate, parseISO(orders[0]?.getDate()))
|
isAfter(currentDate, parseISO(orders[0]?.getDate()))
|
||||||
) {
|
) {
|
||||||
// Get snapshot of first day of month
|
// Get snapshot of first day of next month
|
||||||
const snapshot = portfolio.get(setDate(currentDate, 1))[0]
|
const snapshot = portfolio.get(
|
||||||
.positions[aSymbol];
|
addMonths(setDate(currentDate, 1), 1)
|
||||||
|
)?.[0]?.positions[aSymbol];
|
||||||
orders.shift();
|
orders.shift();
|
||||||
|
|
||||||
if (snapshot?.averagePrice) {
|
if (snapshot?.averagePrice) {
|
||||||
currentAveragePrice = snapshot?.averagePrice;
|
currentAveragePrice = snapshot.averagePrice;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user