前言:工作中经常用到算到年收益率(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;

验证结果:
记录下一些数值函数:
本文介绍了一种使用单条SQL查询来计算年收益率(YTD)的方法,避免了以往将数据导出到Java进行计算的繁琐过程。通过运用数学函数,如自然对数(ln)和指数(exp),可以在MySQL中直接计算出指定日期范围内的累计收益率。
891

被折叠的 条评论
为什么被折叠?



