diff --git a/CHANGELOG.md b/CHANGELOG.md
index 48d622193..8445ff222 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Extended the content of the pricing page
- Added a _Storybook_ story for the holdings table component
+### Added
+
+- Add Average Buy Price in holdings table
+
### Changed
- Disabled the zoom functionality in the _Progressive Web App_ (PWA)
diff --git a/apps/api/src/app/endpoints/public/public.controller.ts b/apps/api/src/app/endpoints/public/public.controller.ts
index b09ced4fb..0604ede57 100644
--- a/apps/api/src/app/endpoints/public/public.controller.ts
+++ b/apps/api/src/app/endpoints/public/public.controller.ts
@@ -168,6 +168,7 @@ export class PublicController {
allocationInPercentage:
portfolioPosition.valueInBaseCurrency / totalValue,
assetClass: hasDetails ? portfolioPosition.assetClass : undefined,
+ averagePrice: hasDetails ? portfolioPosition.averagePrice : undefined,
countries: hasDetails ? portfolioPosition.countries : [],
currency: hasDetails ? portfolioPosition.currency : undefined,
dataSource: portfolioPosition.dataSource,
diff --git a/apps/api/src/app/portfolio/portfolio.service.ts b/apps/api/src/app/portfolio/portfolio.service.ts
index b74b779f6..53d7c049a 100644
--- a/apps/api/src/app/portfolio/portfolio.service.ts
+++ b/apps/api/src/app/portfolio/portfolio.service.ts
@@ -569,6 +569,7 @@ export class PortfolioService {
}
for (const {
+ averagePrice,
currency,
dividend,
firstBuyDate,
@@ -624,6 +625,7 @@ export class PortfolioService {
: valueInBaseCurrency.div(filteredValueInBaseCurrency).toNumber(),
assetClass: assetProfile.assetClass,
assetSubClass: assetProfile.assetSubClass,
+ averagePrice: averagePrice?.toNumber(),
countries: assetProfile.countries,
dataSource: assetProfile.dataSource,
dateOfFirstActivity: parseDate(firstBuyDate),
diff --git a/libs/common/src/lib/interfaces/portfolio-position.interface.ts b/libs/common/src/lib/interfaces/portfolio-position.interface.ts
index e277ba468..d14fcc46a 100644
--- a/libs/common/src/lib/interfaces/portfolio-position.interface.ts
+++ b/libs/common/src/lib/interfaces/portfolio-position.interface.ts
@@ -12,6 +12,7 @@ export interface PortfolioPosition {
assetClassLabel?: string;
assetSubClass?: AssetSubClass;
assetSubClassLabel?: string;
+ averagePrice?: number;
countries: Country[];
currency: string;
dataSource: DataSource;
diff --git a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
index cb06800be..460ac06b6 100644
--- a/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
+++ b/libs/common/src/lib/interfaces/responses/public-portfolio-response.interface.ts
@@ -15,6 +15,7 @@ export interface PublicPortfolioResponse extends PublicPortfolioResponseV1 {
PortfolioPosition,
| 'allocationInPercentage'
| 'assetClass'
+ | 'averagePrice'
| 'countries'
| 'currency'
| 'dataSource'
diff --git a/libs/ui/src/lib/holdings-table/holdings-table.component.html b/libs/ui/src/lib/holdings-table/holdings-table.component.html
index d3afe9de9..289269b4e 100644
--- a/libs/ui/src/lib/holdings-table/holdings-table.component.html
+++ b/libs/ui/src/lib/holdings-table/holdings-table.component.html
@@ -88,6 +88,33 @@
+
+ |
+ Avg. Buy Price
+ |
+
+
+
+
+ |
+
+
|