Browse Source

Move portfolio calculator

pull/3204/head
Thomas Kaul 1 year ago
parent
commit
97aae0e4ed
  1. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts
  2. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts
  3. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts
  4. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts
  5. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts
  6. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-msft-buy-with-dividend.spec.ts
  7. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-no-orders.spec.ts
  8. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts
  9. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts
  10. 2
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.spec.ts
  11. 12
      apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts
  12. 2
      apps/api/src/app/portfolio/portfolio.service.ts

2
apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell-in-two-activities.spec.ts

@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-baln-buy-and-sell.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy-and-sell.spec.ts

@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-baln-buy.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-baln-buy.spec.ts

@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-btcusd-buy-and-sell-partially.spec.ts

@ -6,7 +6,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-googl-buy.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-googl-buy.spec.ts

@ -6,7 +6,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-msft-buy-with-dividend.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-msft-buy-with-dividend.spec.ts

@ -6,7 +6,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-no-orders.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-no-orders.spec.ts

@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { subDays } from 'date-fns';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell-partially.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell-partially.spec.ts

@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator-novn-buy-and-sell.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator-novn-buy-and-sell.spec.ts

@ -5,7 +5,7 @@ import { parseDate } from '@ghostfolio/common/helper';
import { Big } from 'big.js';
import { CurrentRateServiceMock } from './current-rate.service.mock';
import { CurrentRateServiceMock } from '../../current-rate.service.mock';
import { PortfolioCalculator } from './portfolio-calculator';
jest.mock('@ghostfolio/api/app/portfolio/current-rate.service', () => {

2
apps/api/src/app/portfolio/portfolio-calculator.spec.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.spec.ts

@ -2,7 +2,7 @@ import { ExchangeRateDataService } from '@ghostfolio/api/services/exchange-rate-
import { Big } from 'big.js';
import { CurrentRateService } from './current-rate.service';
import { CurrentRateService } from '../../current-rate.service';
import { PortfolioCalculator } from './portfolio-calculator';
describe('PortfolioCalculator', () => {

12
apps/api/src/app/portfolio/portfolio-calculator.ts → apps/api/src/app/portfolio/calculator/twr/portfolio-calculator.ts

@ -30,12 +30,12 @@ import {
} from 'date-fns';
import { cloneDeep, first, isNumber, last, sortBy, uniq } from 'lodash';
import { CurrentRateService } from './current-rate.service';
import { CurrentPositions } from './interfaces/current-positions.interface';
import { PortfolioOrderItem } from './interfaces/portfolio-calculator.interface';
import { PortfolioOrder } from './interfaces/portfolio-order.interface';
import { TransactionPointSymbol } from './interfaces/transaction-point-symbol.interface';
import { TransactionPoint } from './interfaces/transaction-point.interface';
import { CurrentRateService } from '../../current-rate.service';
import { CurrentPositions } from '../../interfaces/current-positions.interface';
import { PortfolioOrderItem } from '../../interfaces/portfolio-calculator.interface';
import { PortfolioOrder } from '../../interfaces/portfolio-order.interface';
import { TransactionPointSymbol } from '../../interfaces/transaction-point-symbol.interface';
import { TransactionPoint } from '../../interfaces/transaction-point.interface';
export class PortfolioCalculator {
private static readonly ENABLE_LOGGING = false;

2
apps/api/src/app/portfolio/portfolio.service.ts

@ -86,11 +86,11 @@ import {
} from 'date-fns';
import { isEmpty, last, uniq, uniqBy } from 'lodash';
import { PortfolioCalculator } from './calculator/twr/portfolio-calculator';
import {
HistoricalDataContainer,
PortfolioPositionDetail
} from './interfaces/portfolio-position-detail.interface';
import { PortfolioCalculator } from './portfolio-calculator';
import { RulesService } from './rules.service';
const asiaPacificMarkets = require('../../assets/countries/asia-pacific-markets.json');

Loading…
Cancel
Save