두종목의 수익률의 상관관계를 지표로 표현하고 싶습니다.
아래 수식을 적용하니,
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);