add gross performance

pull/239/head
Valentin Zickner 3 years ago committed by Thomas
parent 836df69e68
commit 19bcd601d1

@ -573,19 +573,19 @@ describe('PortfolioCalculator', () => {
expect(timeline).toEqual([
{
date: '2019-01-01',
grossPerformance: 0,
grossPerformance: new Big('0'),
investment: new Big('0'),
value: new Big('0')
},
{
date: '2020-01-01',
grossPerformance: 0,
grossPerformance: new Big('498.3'),
investment: new Big('2923.7'),
value: new Big('3422') // 20 * (144.38 + days=335 * 0.08)
},
{
date: '2021-01-01',
grossPerformance: 0,
grossPerformance: new Big('349.35'),
investment: new Big('652.55'),
value: new Big('1001.9') // 5 * (144.38 + days=700 * 0.08)
}
@ -613,181 +613,181 @@ describe('PortfolioCalculator', () => {
expect(timeline).toEqual([
{
date: '2019-01-01',
grossPerformance: 0,
grossPerformance: new Big('0'),
investment: new Big('0'),
value: new Big('0')
},
{
date: '2019-02-01',
grossPerformance: 0,
grossPerformance: new Big('0'),
investment: new Big('1443.8'),
value: new Big('1443.8') // 10 * (144.38 + days=0 * 0.08)
},
{
date: '2019-03-01',
grossPerformance: 0,
grossPerformance: new Big('22.4'),
investment: new Big('1443.8'),
value: new Big('1466.2') // 10 * (144.38 + days=28 * 0.08)
},
{
date: '2019-04-01',
grossPerformance: 0,
grossPerformance: new Big('47.2'),
investment: new Big('1443.8'),
value: new Big('1491') // 10 * (144.38 + days=59 * 0.08)
},
{
date: '2019-05-01',
grossPerformance: 0,
grossPerformance: new Big('71.2'),
investment: new Big('1443.8'),
value: new Big('1515') // 10 * (144.38 + days=89 * 0.08)
},
{
date: '2019-06-01',
grossPerformance: 0,
grossPerformance: new Big('96'),
investment: new Big('1443.8'),
value: new Big('1539.8') // 10 * (144.38 + days=120 * 0.08)
},
{
date: '2019-07-01',
grossPerformance: 0,
grossPerformance: new Big('120'),
investment: new Big('1443.8'),
value: new Big('1563.8') // 10 * (144.38 + days=150 * 0.08)
},
{
date: '2019-08-01',
grossPerformance: 0,
grossPerformance: new Big('144.8'),
investment: new Big('1443.8'),
value: new Big('1588.6') // 10 * (144.38 + days=181 * 0.08)
},
{
date: '2019-09-01',
grossPerformance: 0,
grossPerformance: new Big('303.1'),
investment: new Big('2923.7'),
value: new Big('3226.8') // 20 * (144.38 + days=212 * 0.08)
},
{
date: '2019-10-01',
grossPerformance: 0,
grossPerformance: new Big('351.1'),
investment: new Big('2923.7'),
value: new Big('3274.8') // 20 * (144.38 + days=242 * 0.08)
},
{
date: '2019-11-01',
grossPerformance: 0,
grossPerformance: new Big('400.7'),
investment: new Big('2923.7'),
value: new Big('3324.4') // 20 * (144.38 + days=273 * 0.08)
},
{
date: '2019-12-01',
grossPerformance: 0,
grossPerformance: new Big('448.7'),
investment: new Big('2923.7'),
value: new Big('3372.4') // 20 * (144.38 + days=303 * 0.08)
},
{
date: '2020-01-01',
grossPerformance: 0,
grossPerformance: new Big('498.3'),
investment: new Big('2923.7'),
value: new Big('3422') // 20 * (144.38 + days=335 * 0.08)
},
{
date: '2020-02-01',
grossPerformance: 0,
grossPerformance: new Big('547.9'),
investment: new Big('2923.7'),
value: new Big('3471.6') // 20 * (144.38 + days=365 * 0.08)
},
{
date: '2020-03-01',
grossPerformance: 0,
grossPerformance: new Big('226.95'),
investment: new Big('652.55'),
value: new Big('879.5') // 5 * (144.38 + days=394 * 0.08)
},
{
date: '2020-04-01',
grossPerformance: 0,
grossPerformance: new Big('239.35'),
investment: new Big('652.55'),
value: new Big('891.9') // 5 * (144.38 + days=425 * 0.08)
},
{
date: '2020-05-01',
grossPerformance: 0,
grossPerformance: new Big('251.35'),
investment: new Big('652.55'),
value: new Big('903.9') // 5 * (144.38 + days=455 * 0.08)
},
{
date: '2020-06-01',
grossPerformance: 0,
grossPerformance: new Big('263.75'),
investment: new Big('652.55'),
value: new Big('916.3') // 5 * (144.38 + days=486 * 0.08)
},
{
date: '2020-07-01',
grossPerformance: 0,
grossPerformance: new Big('275.75'),
investment: new Big('652.55'),
value: new Big('928.3') // 5 * (144.38 + days=516 * 0.08)
},
{
date: '2020-08-01',
grossPerformance: 0,
grossPerformance: new Big('288.15'),
investment: new Big('652.55'),
value: new Big('940.7') // 5 * (144.38 + days=547 * 0.08)
},
{
date: '2020-09-01',
grossPerformance: 0,
grossPerformance: new Big('300.55'),
investment: new Big('652.55'),
value: new Big('953.1') // 5 * (144.38 + days=578 * 0.08)
},
{
date: '2020-10-01',
grossPerformance: 0,
grossPerformance: new Big('312.55'),
investment: new Big('652.55'),
value: new Big('965.1') // 5 * (144.38 + days=608 * 0.08)
},
{
date: '2020-11-01',
grossPerformance: 0,
grossPerformance: new Big('324.95'),
investment: new Big('652.55'),
value: new Big('977.5') // 5 * (144.38 + days=639 * 0.08)
},
{
date: '2020-12-01',
grossPerformance: 0,
grossPerformance: new Big('336.95'),
investment: new Big('652.55'),
value: new Big('989.5') // 5 * (144.38 + days=669 * 0.08)
},
{
date: '2021-01-01',
grossPerformance: 0,
grossPerformance: new Big('349.35'),
investment: new Big('652.55'),
value: new Big('1001.9') // 5 * (144.38 + days=700 * 0.08)
},
{
date: '2021-02-01',
grossPerformance: 0,
grossPerformance: new Big('358.85'),
investment: new Big('2684.05'),
value: new Big('3042.9') // 15 * (144.38 + days=731 * 0.08)
},
{
date: '2021-03-01',
grossPerformance: 0,
grossPerformance: new Big('392.45'),
investment: new Big('2684.05'),
value: new Big('3076.5') // 15 * (144.38 + days=759 * 0.08)
},
{
date: '2021-04-01',
grossPerformance: 0,
grossPerformance: new Big('429.65'),
investment: new Big('2684.05'),
value: new Big('3113.7') // 15 * (144.38 + days=790 * 0.08)
},
{
date: '2021-05-01',
grossPerformance: 0,
grossPerformance: new Big('465.65'),
investment: new Big('2684.05'),
value: new Big('3149.7') // 15 * (144.38 + days=820 * 0.08)
},
{
date: '2021-06-01',
grossPerformance: 0,
grossPerformance: new Big('502.85'),
investment: new Big('2684.05'),
value: new Big('3186.9') // 15 * (144.38 + days=851 * 0.08)
}
@ -819,49 +819,49 @@ describe('PortfolioCalculator', () => {
expect(timeline).toEqual([
{
date: '2019-01-01',
grossPerformance: 0,
grossPerformance: new Big('0'),
investment: new Big('0'),
value: new Big('0')
},
{
date: '2020-01-01',
grossPerformance: 0,
grossPerformance: new Big('498.3'),
investment: new Big('2923.7'),
value: new Big('3422') // 20 * (144.38 + days=335 * 0.08)
},
{
date: '2021-01-01',
grossPerformance: 0,
grossPerformance: new Big('349.35'),
investment: new Big('652.55'),
value: new Big('1001.9') // 5 * (144.38 + days=700 * 0.08)
},
{
date: '2021-02-01',
grossPerformance: 0,
grossPerformance: new Big('358.85'),
investment: new Big('2684.05'),
value: new Big('3042.9') // 15 * (144.38 + days=731 * 0.08)
},
{
date: '2021-03-01',
grossPerformance: 0,
grossPerformance: new Big('392.45'),
investment: new Big('2684.05'),
value: new Big('3076.5') // 15 * (144.38 + days=759 * 0.08)
},
{
date: '2021-04-01',
grossPerformance: 0,
grossPerformance: new Big('429.65'),
investment: new Big('2684.05'),
value: new Big('3113.7') // 15 * (144.38 + days=790 * 0.08)
},
{
date: '2021-05-01',
grossPerformance: 0,
grossPerformance: new Big('465.65'),
investment: new Big('2684.05'),
value: new Big('3149.7') // 15 * (144.38 + days=820 * 0.08)
},
{
date: '2021-06-01',
grossPerformance: 0,
grossPerformance: new Big('502.85'),
investment: new Big('2684.05'),
value: new Big('3186.9') // 15 * (144.38 + days=851 * 0.08)
}
@ -897,223 +897,223 @@ describe('PortfolioCalculator', () => {
expect(timeline).toEqual([
{
date: '2019-01-01',
grossPerformance: 0,
grossPerformance: new Big('0'),
investment: new Big('0'),
value: new Big('0')
},
{
date: '2020-01-01',
grossPerformance: 0,
grossPerformance: new Big('498.3'),
investment: new Big('2923.7'),
value: new Big('3422') // 20 * (144.38 + days=335 * 0.08)
},
{
date: '2021-01-01',
grossPerformance: 0,
grossPerformance: new Big('349.35'),
investment: new Big('652.55'),
value: new Big('1001.9') // 5 * (144.38 + days=700 * 0.08)
},
{
date: '2021-02-01',
grossPerformance: 0,
grossPerformance: new Big('358.85'),
investment: new Big('2684.05'),
value: new Big('3042.9') // 15 * (144.38 + days=731 * 0.08)
},
{
date: '2021-03-01',
grossPerformance: 0,
grossPerformance: new Big('392.45'),
investment: new Big('2684.05'),
value: new Big('3076.5') // 15 * (144.38 + days=759 * 0.08)
},
{
date: '2021-04-01',
grossPerformance: 0,
grossPerformance: new Big('429.65'),
investment: new Big('2684.05'),
value: new Big('3113.7') // 15 * (144.38 + days=790 * 0.08)
},
{
date: '2021-05-01',
grossPerformance: 0,
grossPerformance: new Big('465.65'),
investment: new Big('2684.05'),
value: new Big('3149.7') // 15 * (144.38 + days=820 * 0.08)
},
{
date: '2021-06-01',
grossPerformance: 0,
grossPerformance: new Big('502.85'),
investment: new Big('2684.05'),
value: new Big('3186.9') // 15 * (144.38 + days=851 * 0.08)
},
{
date: '2021-06-02',
grossPerformance: 0,
grossPerformance: new Big('504.05'),
investment: new Big('2684.05'),
value: new Big('3188.1') // 15 * (144.38 + days=852 * 0.08) / +1.2
},
{
date: '2021-06-03',
grossPerformance: 0,
grossPerformance: new Big('505.25'),
investment: new Big('2684.05'),
value: new Big('3189.3') // +1.2
},
{
date: '2021-06-04',
grossPerformance: 0,
grossPerformance: new Big('506.45'),
investment: new Big('2684.05'),
value: new Big('3190.5') // +1.2
},
{
date: '2021-06-05',
grossPerformance: 0,
grossPerformance: new Big('507.65'),
investment: new Big('2684.05'),
value: new Big('3191.7') // +1.2
},
{
date: '2021-06-06',
grossPerformance: 0,
grossPerformance: new Big('508.85'),
investment: new Big('2684.05'),
value: new Big('3192.9') // +1.2
},
{
date: '2021-06-07',
grossPerformance: 0,
grossPerformance: new Big('510.05'),
investment: new Big('2684.05'),
value: new Big('3194.1') // +1.2
},
{
date: '2021-06-08',
grossPerformance: 0,
grossPerformance: new Big('511.25'),
investment: new Big('2684.05'),
value: new Big('3195.3') // +1.2
},
{
date: '2021-06-09',
grossPerformance: 0,
grossPerformance: new Big('512.45'),
investment: new Big('2684.05'),
value: new Big('3196.5') // +1.2
},
{
date: '2021-06-10',
grossPerformance: 0,
grossPerformance: new Big('513.65'),
investment: new Big('2684.05'),
value: new Big('3197.7') // +1.2
},
{
date: '2021-06-11',
grossPerformance: 0,
grossPerformance: new Big('514.85'),
investment: new Big('2684.05'),
value: new Big('3198.9') // +1.2
},
{
date: '2021-06-12',
grossPerformance: 0,
grossPerformance: new Big('516.05'),
investment: new Big('2684.05'),
value: new Big('3200.1') // +1.2
},
{
date: '2021-06-13',
grossPerformance: 0,
grossPerformance: new Big('517.25'),
investment: new Big('2684.05'),
value: new Big('3201.3') // +1.2
},
{
date: '2021-06-14',
grossPerformance: 0,
grossPerformance: new Big('518.45'),
investment: new Big('2684.05'),
value: new Big('3202.5') // +1.2
},
{
date: '2021-06-15',
grossPerformance: 0,
grossPerformance: new Big('519.65'),
investment: new Big('2684.05'),
value: new Big('3203.7') // +1.2
},
{
date: '2021-06-16',
grossPerformance: 0,
grossPerformance: new Big('520.85'),
investment: new Big('2684.05'),
value: new Big('3204.9') // +1.2
},
{
date: '2021-06-17',
grossPerformance: 0,
grossPerformance: new Big('522.05'),
investment: new Big('2684.05'),
value: new Big('3206.1') // +1.2
},
{
date: '2021-06-18',
grossPerformance: 0,
grossPerformance: new Big('523.25'),
investment: new Big('2684.05'),
value: new Big('3207.3') // +1.2
},
{
date: '2021-06-19',
grossPerformance: 0,
grossPerformance: new Big('524.45'),
investment: new Big('2684.05'),
value: new Big('3208.5') // +1.2
},
{
date: '2021-06-20',
grossPerformance: 0,
grossPerformance: new Big('525.65'),
investment: new Big('2684.05'),
value: new Big('3209.7') // +1.2
},
{
date: '2021-06-21',
grossPerformance: 0,
grossPerformance: new Big('526.85'),
investment: new Big('2684.05'),
value: new Big('3210.9') // +1.2
},
{
date: '2021-06-22',
grossPerformance: 0,
grossPerformance: new Big('528.05'),
investment: new Big('2684.05'),
value: new Big('3212.1') // +1.2
},
{
date: '2021-06-23',
grossPerformance: 0,
grossPerformance: new Big('529.25'),
investment: new Big('2684.05'),
value: new Big('3213.3') // +1.2
},
{
date: '2021-06-24',
grossPerformance: 0,
grossPerformance: new Big('530.45'),
investment: new Big('2684.05'),
value: new Big('3214.5') // +1.2
},
{
date: '2021-06-25',
grossPerformance: 0,
grossPerformance: new Big('531.65'),
investment: new Big('2684.05'),
value: new Big('3215.7') // +1.2
},
{
date: '2021-06-26',
grossPerformance: 0,
grossPerformance: new Big('532.85'),
investment: new Big('2684.05'),
value: new Big('3216.9') // +1.2
},
{
date: '2021-06-27',
grossPerformance: 0,
grossPerformance: new Big('534.05'),
investment: new Big('2684.05'),
value: new Big('3218.1') // +1.2
},
{
date: '2021-06-28',
grossPerformance: 0,
grossPerformance: new Big('535.25'),
investment: new Big('2684.05'),
value: new Big('3219.3') // +1.2
},
{
date: '2021-06-29',
grossPerformance: 0,
grossPerformance: new Big('536.45'),
investment: new Big('2684.05'),
value: new Big('3220.5') // +1.2
},
{
date: '2021-06-30',
grossPerformance: 0,
grossPerformance: new Big('537.65'),
investment: new Big('2684.05'),
value: new Big('3221.7') // +1.2
}
@ -1163,13 +1163,13 @@ describe('PortfolioCalculator', () => {
expect(timeline).toEqual([
{
date: '2019-01-01',
grossPerformance: 0,
grossPerformance: new Big('0'),
investment: new Big('0'),
value: new Big('0')
},
{
date: '2020-01-01',
grossPerformance: 0,
grossPerformance: new Big('267.2'),
investment: new Big('11553.75'),
value: new Big('11820.95') // 10 * (144.38 + days=334 * 0.08) + 5 * 2021.99
}

@ -187,7 +187,7 @@ export class PortfolioCalculator {
);
timelinePeriod.push({
date: format(currentDate, DATE_FORMAT),
grossPerformance: 0,
grossPerformance: value.minus(investment),
investment,
value
});

Loading…
Cancel
Save