포트폴리오 서비스(페이지 개발 및 간단하게 수익률 계산해보기)

·2023년 12월 27일
0

Portfolio Backtest

목록 보기
14/31

index 페이지 개발


최대한 간단하게 구성하여 보았다.

백테스트 페이지


우선 데이터 2개만을 받아서 처리한다음에 출력하도록 임시로 페이지를 구성했다.

BacktestPortfolioController

    @PostMapping("")
    public String indexPost(@RequestParam HashMap<String, String> params, Model model) {
        System.out.println(params);

        List<Double> weights = new ArrayList<>();

        String stock1 = params.get("input1");
        String stock2 = params.get("input3");

        List<Double> stock1RorList = RorCalculator.getRorList(stockPriceService.getPricesByItmsNmAndYear(stock1,2023), true);
        List<Double> stock2RorList = RorCalculator.getRorList(stockPriceService.getPricesByItmsNmAndYear(stock2,2023), true);

        weights.add(Double.parseDouble(params.get("input2")));
        weights.add(Double.parseDouble(params.get("input4")));

        List<Double> portfolioRorList = new ArrayList<>();

        for(int i = 0; i < stock1RorList.size(); i++){
            portfolioRorList.add(stock1RorList.get(i) * weights.get(0) + stock2RorList.get(i) * weights.get(1));
        }

        model.addAttribute("portfolioRorList", portfolioRorList);
        

        return "backtest_portfolio";
    }
    


param을 받아서 23년도의 달마다 수익률을 계산하여 출력해 보았다.

다음에 할일

  • 수익률계산기에 함수를 추가해야할것 같다. 종목별 수익률을 리스트로 받아서 수익률을 반환하는 함수가 필요하다.
  • 날짜를 처리하는 방법도 고민해야겠다.
  • 여러개의 데이터를 받는 방법을 고안하자.

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

0개의 댓글

관련 채용 정보