커뮤니티
문의 드립니다
2012-03-15 13:40:35
562
글번호 48965
안녕하세요. 베타 계수는 게시판에 답변해주신 아래 수식으로 잘 이용하고 있습니다.
======================================================================
input : length(60);
var : ii(0);
var : Rjt(0), Rmt(0);
var : ERj(0), ERm(0);
var : Dtj(0), Dtm(0), Dtc(0), Dtsm(0), Dtsj(0);
var : Dcov(0), Dsig(0), Dfac(0);
Rjt = data1((c-c[1])/c[1]);
Rmt = data2((c-c[1])/c[1]);
ERm = ma(Rmt,length);
ERj = ma(Rjt,length);
Dtc = 0;
Dtsm = 0;
Dtsj = 0;
for ii = 0 to length-1 {
Dtj = Rjt[ii] - ERj; //종목편차=가격-평균
Dtm = Rmt[ii] - ERm; //마켓편차=가격-평균
Dtsm= Dtsm + (Dtm ^ 2); //시장편차제곱의합
Dtsj= Dtsj + (Dtj ^ 2); //종목편차제곱의합
Dtc = Dtc + (Dtj * Dtm);
}
Dcov = Dtc / (length-1);
Dsig = Dtsm/ (length-1);
Dfac = Dcov/Dsig; //베타계수
plot1(Dfac, "베타계수");
======================================================================
그런데 이 베타 계수를 다음과 같이 둘로 나누어주셨으면 합니다.
length의 기간중 시장지수가 오른날만 계산한 베타계수, 내린날만 계산한 베타계수. 이렇게요.
결과적으로 plot이 두개가 나오도록요. 나누는 기준이 종목의 등락이 아닌 시장의 등락여부입니다.
그럼 부탁드리겠습니다. 늘 감사드립니다.
답변 1
예스스탁 예스스탁 답변
2012-03-15 16:04:46
안녕하세요
예스스탁입니다.
input : length(60);
var : ii(0);
var : Rjt(0), Rmt(0);
var : ERj(0), ERm(0);
var : Dcov(0), Dsig(0), Dfac(0);
var : Dtc(0), Dtsm(0), Dtsj(0);
var : Dtj(0), Dtm(0), Dtc1(0), Dtsm1(0), Dtsj1(0), Dtc2(0), Dtsm2(0), Dtsj2(0);
var : Dcov1(0),Dsig1(0),Dfac1(0),Dcov2(0),Dsig2(0),Dfac2(0);
Rjt = data1((c-c[1])/c[1]);
Rmt = data2((c-c[1])/c[1]);
ERm = ma(Rmt,length);
ERj = ma(Rjt,length);
Dtc = 0;
Dtsm = 0;
Dtsj = 0;
Dtc1 = 0;
Dtsm1 = 0;
Dtsj1 = 0;
Dtc2 = 0;
Dtsm2 = 0;
Dtsj2 = 0;
for ii = 0 to length-1 {
Dtj = Rjt[ii] - ERj; //종목편차=가격-평균
Dtm = Rmt[ii] - ERm; //마켓편차=가격-평균
Dtsm= Dtsm + (Dtm ^ 2); //시장편차제곱의합
Dtsj= Dtsj + (Dtj ^ 2); //종목편차제곱의합
Dtc = Dtc + (Dtj * Dtm);
if Rmt[ii] > 0 Then{
Dtsm1= Dtsm1 + (Dtm ^ 2); //시장편차제곱의합
Dtsj1= Dtsj1 + (Dtj ^ 2); //종목편차제곱의합
Dtc1 = Dtc1 + (Dtj * Dtm);
}
if Rmt[ii] < 0 Then{
Dtsm2= Dtsm2 + (Dtm ^ 2); //시장편차제곱의합
Dtsj2= Dtsj2 + (Dtj ^ 2); //종목편차제곱의합
Dtc2 = Dtc2 + (Dtj * Dtm);
}
}
Dcov = Dtc / (length-1);
Dsig = Dtsm/ (length-1);
Dfac = Dcov/Dsig; //베타계수
Dcov1 = Dtc1 / (length-1);
Dsig1 = Dtsm1/ (length-1);
Dfac1 = Dcov1/Dsig1;
//베타계수
Dcov2 = Dtc2 / (length-1);
Dsig2 = Dtsm2/ (length-1);
Dfac2 = Dcov2/Dsig2; //베타계수
plot1(Dfac, "베타계수");
plot2(Dfac1, "상승베타계수");
plot3(Dfac2, "하락베타계수");
즐거운 하루되세요
> hex 님이 쓴 글입니다.
> 제목 : 문의 드립니다
> 안녕하세요. 베타 계수는 게시판에 답변해주신 아래 수식으로 잘 이용하고 있습니다.
======================================================================
input : length(60);
var : ii(0);
var : Rjt(0), Rmt(0);
var : ERj(0), ERm(0);
var : Dtj(0), Dtm(0), Dtc(0), Dtsm(0), Dtsj(0);
var : Dcov(0), Dsig(0), Dfac(0);
Rjt = data1((c-c[1])/c[1]);
Rmt = data2((c-c[1])/c[1]);
ERm = ma(Rmt,length);
ERj = ma(Rjt,length);
Dtc = 0;
Dtsm = 0;
Dtsj = 0;
for ii = 0 to length-1 {
Dtj = Rjt[ii] - ERj; //종목편차=가격-평균
Dtm = Rmt[ii] - ERm; //마켓편차=가격-평균
Dtsm= Dtsm + (Dtm ^ 2); //시장편차제곱의합
Dtsj= Dtsj + (Dtj ^ 2); //종목편차제곱의합
Dtc = Dtc + (Dtj * Dtm);
}
Dcov = Dtc / (length-1);
Dsig = Dtsm/ (length-1);
Dfac = Dcov/Dsig; //베타계수
plot1(Dfac, "베타계수");
======================================================================
그런데 이 베타 계수를 다음과 같이 둘로 나누어주셨으면 합니다.
length의 기간중 시장지수가 오른날만 계산한 베타계수, 내린날만 계산한 베타계수. 이렇게요.
결과적으로 plot이 두개가 나오도록요. 나누는 기준이 종목의 등락이 아닌 시장의 등락여부입니다.
그럼 부탁드리겠습니다. 늘 감사드립니다.
다음글