포트폴리오 서비스(수익률 계산 부분 개선)

·2023년 12월 28일
0

Portfolio Backtest

목록 보기
15/31

배열을 받아서 수익률을 계산하자!

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;
    }
    

해당 수익률로 금액의 변화를 계산하는 함수를 추가하였다.

출력 개선


기간, 수익률, 금액을 출력하도록 변경하였고 추가적으로 년도와 금액을 받는 것을 일단 추가하였다.

profile
백엔드 개발자가 꿈인 컴공과

0개의 댓글

관련 채용 정보