前言:工作中经常用到算到年收益率(YTD),数据库中记录的是每天收益率,
之前一直是SQL查询一年区间内的每天收益率,放到JAVA中计算。
现在一条SQL实现。
YTD收益率公式: PRODUCT(日收益率+1) - 1
表中daily_rate 即为收益率
SELECT
bm_code,
exp( sum( ln( daily_rate + 1 )))- 1 AS YTD
FROM
tbl_benchmark_info
WHERE
the_date BETWEEN '2022-01-01'
AND '2022-12-31'
GROUP BY
bm_code;
验证结果:
记录下一些数值函数: