public static List<Double> getPortfolioRorList(List<List<Double>> rorList, List<Double> weightList){
List<Double> portfolioRorList = new ArrayList<>();
for(int i = 0; i < rorList.get(0).size(); i++){
double portfolioRor = 0;
for(int j = 0; j < rorList.size(); j++){
portfolioRor += rorList.get(j).get(i) * weightList.get(j);
}
portfolioRorList.add(portfolioRor);
}
return portfolioRorList;
}
기존에는 각 항목별로 수익률을 구하고 그 수익률을 배열로 받아서 처리하였었다. 달별 수익률이 필요한 경우가 있기 때문에 수익률을 배열로 받아서 처리하는 함수를 만들었다.
public static List<Long> getCashByRorList(List<Double> rorList, long cash){
List<Long> cashList = new ArrayList<>();
cashList.add(cash);
for(int i = 0; i < rorList.size(); i++){
cashList.add((long) (cashList.get(i) * (1 + rorList.get(i) / 100)));
}
return cashList;
}
해당 수익률로 금액의 변화를 계산하는 함수를 추가하였다.
기간, 수익률, 금액을 출력하도록 변경하였고 추가적으로 년도와 금액을 받는 것을 일단 추가하였다.