| 
						
						
							
								
							
						
						
					 | 
					@ -103,14 +103,14 @@ export class PortfolioCalculator { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  public setTransactionPoints(transactionPoints: TransactionPoint[]) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    this.transactionPoints = transactionPoints; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  public getTransactionPoints(): TransactionPoint[] { | 
					 | 
					 | 
					  public getTransactionPoints(): TransactionPoint[] { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    return this.transactionPoints; | 
					 | 
					 | 
					    return this.transactionPoints; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					  public setTransactionPoints(transactionPoints: TransactionPoint[]) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    this.transactionPoints = transactionPoints; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  public async getCurrentPositions(start: Date): Promise<{ | 
					 | 
					 | 
					  public async getCurrentPositions(start: Date): Promise<{ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    hasErrors: boolean; | 
					 | 
					 | 
					    hasErrors: boolean; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    positions: TimelinePosition[]; | 
					 | 
					 | 
					    positions: TimelinePosition[]; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -331,35 +331,6 @@ export class PortfolioCalculator { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    return flatten(timelinePeriods); | 
					 | 
					 | 
					    return flatten(timelinePeriods); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private async getMarketValues( | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    transactionPoint: TransactionPoint, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    dateRangeStart: Date, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    dateRangeEnd: Date | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  ) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const symbols: string[] = []; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const currencies: { [symbol: string]: Currency } = {}; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    for (const item of transactionPoint.items) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      symbols.push(item.symbol); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      currencies[item.symbol] = item.currency; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const values = await this.currentRateService.getValues({ | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      dateQuery: { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        gte: dateRangeStart, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        lt: endOfDay(dateRangeEnd) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      }, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      symbols, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      currencies, | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      userCurrency: this.currency | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    }); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    const marketValues: { [symbol: string]: GetValueObject } = {}; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    for (const value of values) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      marketValues[value.symbol] = value; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    return marketValues; | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private async getTimePeriodForDate( | 
					 | 
					 | 
					  private async getTimePeriodForDate( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    j: number, | 
					 | 
					 | 
					    j: number, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    startDate: Date, | 
					 | 
					 | 
					    startDate: Date, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -450,6 +421,7 @@ export class PortfolioCalculator { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private getFactor(type: OrderType) { | 
					 | 
					 | 
					  private getFactor(type: OrderType) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    let factor: number; | 
					 | 
					 | 
					    let factor: number; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    switch (type) { | 
					 | 
					 | 
					    switch (type) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      case OrderType.Buy: | 
					 | 
					 | 
					      case OrderType.Buy: | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        factor = 1; | 
					 | 
					 | 
					        factor = 1; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -461,6 +433,7 @@ export class PortfolioCalculator { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        factor = 0; | 
					 | 
					 | 
					        factor = 0; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        break; | 
					 | 
					 | 
					        break; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    return factor; | 
					 | 
					 | 
					    return factor; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  } | 
					 | 
					 | 
					  } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |