DB/duckdb
stock beta
newlibra
2025. 4. 20. 22:07
엑셀
참고 : R
fit <- lm(삼성전자수익율 ~ 코스피수익율)
fit$coefficients[2]
<duckdb>
select var_pop(rt) from
(
select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from k2i
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
)
;
select var_pop(rt) from
(
select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from kos
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
)
;
select var_pop(rt) from
(
select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from samsung
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
)
;
select covar_pop(a.rt, b.rt)
from
(
select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from k2i
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
) a join
( select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from samsung
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
)b
using (dd)
;
select covar_pop(a.rt, b.rt)
from
(
select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from kos
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
) a join
( select dd, (cls-pre_cls)/pre_cls as rt
FROM
(
select dd, cls, lag(cls) over (order by dd) pre_cls from samsung
where dd between '2024/04/05' and '2025/04/18'
)
where rt is not null
)b
using (dd)
;
from kos where dd between '2024/04/05' and '2025/04/18'order by dd;
from samsung where dd between '2024/04/05' and '2025/04/18'order by dd;
from k2i order by dd;
options(digits = 20)
k2i_var = dbGetQuery(con, k2i_var_q)
kos_var = dbGetQuery(con, kos_var_q)
k2i_samsung_covar = dbGetQuery(con, k2i_samsung_covar_q)
kos_samsung_covar = dbGetQuery(con, kos_samsung_covar_q)
beta_k2i_samsung = k2i_samsung_covar/k2i_var
beta_kos_samsung = kos_samsung_covar/kos_var
print(beta_k2i_samsung)
print(beta_kos_samsung)