커뮤니티

correlation 함수 문의

프로필 이미지
하운드독
2020-06-10 21:09:32
2119
글번호 139724
답변완료
두종목의 수익률의 상관관계를 지표로 표현하고 싶습니다. 아래 수식을 적용하니, bad module info- 라는 경고문 뜨면서, 강제 종료 되네요. 아래 함수가 잘못된 부분이 있는지 검토 부탁드립니다. Input: Period(20); //기간 Array: DeltaP1[1000](0), DeltaP2[1000](0); Var: ii(0) ; # Accumulate price differences for ii = 0 to Period - 1 begin DeltaP1[ii] = C[ii] - C[ii + 1];//수익률의 변동폭 DeltaP2[ii] = Data2(C[ii]) - Data2(C[ii + 1]) ;//수익률의 변동폭 end; # Calculate autocorrelation plot1(Correlation(DeltaP1,DeltaP2,period),"상관계수"); PlotBaseLine1(0,"0선",gray);
지표
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-06-11 13:39:50

안녕하세요 예스스탁입니다. 1 DeltaP1,DeltaP2는 배열변수입니다. 수식에서 배열변수는 DeltaP1[0],DeltaP1[1]과 같이 공간번호를 지정해 주지 않으면 다운이 되게 됩니다. 2 올려주신 수식은 Period기간동안 2개의 데이타의 증감값으로 상관계수를 계산하는 내용입니다. 수식은 차트에 적용하면 차트 과거부터 현재로 오면서 계산을 하므로 현재시점에서 for문으로 배열변수에 증감을 저장하는 것은 의미가 없습니다. var : DeltaP1(0),DeltaP2(0); DeltaP1 = data1(C[0]-C[1]);#data1 종가기준 증감 DeltaP2 = Data2(C[0]-C[1]);#data2 종가기준 증감 plot1(DeltaP1); plot2(DeltaP2); 위 지표식 적용해 보시면 차트에서 매봉 값을 계산해서 출력되는 것을 보실수 있습니다. 그러므로 아래와 같이 수정해 사용하시면 됩니다. Input: Period(20); //기간 var : DeltaP1(0,data1),DeltaP2(0,data2); DeltaP1 = data1(C[0]-C[1]);#data1 종가기준 증감 DeltaP2 = Data2(C[0]-C[1]);#data2 종가기준 증감 plot1(Correlation(DeltaP1,DeltaP2,period),"상관계수"); PlotBaseLine1(0,"0선",gray); 즐거운 하루되세요 > 하운드독 님이 쓴 글입니다. > 제목 : correlation 함수 문의 > 두종목의 수익률의 상관관계를 지표로 표현하고 싶습니다. 아래 수식을 적용하니, bad module info- 라는 경고문 뜨면서, 강제 종료 되네요. 아래 함수가 잘못된 부분이 있는지 검토 부탁드립니다. Input: Period(20); //기간 Array: DeltaP1[1000](0), DeltaP2[1000](0); Var: ii(0) ; # Accumulate price differences for ii = 0 to Period - 1 begin DeltaP1[ii] = C[ii] - C[ii + 1];//수익률의 변동폭 DeltaP2[ii] = Data2(C[ii]) - Data2(C[ii + 1]) ;//수익률의 변동폭 end; # Calculate autocorrelation plot1(Correlation(DeltaP1,DeltaP2,period),"상관계수"); PlotBaseLine1(0,"0선",gray);