커뮤니티

문의 드립니다

프로필 이미지
hex
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이 두개가 나오도록요. 나누는 기준이 종목의 등락이 아닌 시장의 등락여부입니다. 그럼 부탁드리겠습니다. 늘 감사드립니다.