커뮤니티
잉 검증은 안되고 오류가 왜이리많아요ㅠㅠ
2013-05-10 10:38:55
581
글번호 63036
안녕하세요 수고하십니다 왜이리 오류가 많게 짜주시나요 ㅠㅠ
오류 수정 부탁드립니다 감사합니다 ^^
검증 되고 신호나오면 별다섯개 드려요 ^^ 관리자님 짱 ^^
### 1번식
아래 매수와 매도식과 같이 or로 조건을 연결해 사용하시면 됩니다.
각 값이 크로스가 가능한 값인지 확인하시기 바랍니다.
올리신 옵션그릭수치나 변동성과 관련해서는 저희 쪽에서
수식 계산검증은 해드리지 않습니다.
이용에 참고하시기 바랍니다.
input: cpflag(1), //콜풋 입력
InS(0), //현재 지수를 입력 안하면 data 참조를 통해 실시간 가격을 이용. 테스트시 이용
x(145.0), //행사가 입력
ex(20050908), //만기일
r(0.0351), //CD 금리, 요기서 볼 수 있음 ==> http://stock.koscom.co.kr/
q(0), //배당률
InSig(0), //내재변동성을 입력 안하면 자체 계산된 변동성을 사용. 단, 오차 감안해야 함
InPrice(0); //역시 테스트를 목적으로 함
var:S(0),T(0),sig(0),price(0),ImVol(0),bs(0),delta(0),gamma(0),vega(0),theta(0),rho(0);
S = iff(inS!=0,inS,data1("c")); //kospi종합을 같이 띄워 놓아야 합니다.
T = (DateToJulian(ex) - DateToJulian(date) + 1)/365;
price = iff(inPrice!=0,inPrice,c);
imvol = _ImVol(cpFlag, S, X, T, r, q, price);
sig = iff(insig!=0,insig,ImVol);
bs = _BlackSholes(cpFlag, S, X, T, r, q, sig);
delta = _Delta(cpFlag, S, X, T, r, q, sig);
gamma = _gamma(cpFlag, S, X, T, r, q, sig);
theta = _theta(cpFlag, S, X, T, r, q, sig);
vega = _vega(cpFlag, S, X, T, r, q, sig);
rho = _rho(cpFlag, S, X, T, r, q, sig);
if crossup(imvol*100,bs) or
crossup(imvol*100,delta) or
crossup(imvol*100,gamma) or
crossup(imvol*100,theta) or
crossup(imvol*100,vega) or
crossup(imvol*100,rho) or
crossup(bs,delta) or
crossup(bs,gamma) or
crossup(bs,theta) or
crossup(bs,vega) or
crossup(bs,rho) or
crossup(delta,gamma) or
crossup(delta,theta) or
crossup(delta,vega) or
crossup(delta,rho) or
crossup(gamma,theta) or
crossup(gamma,vega) or
crossup(gamma,rho) or
crossup(theta,vega) or
crossup(theta,rho) or Then
buy();
if CrossDown(imvol*100,bs) or
CrossDown(imvol*100,delta) or
CrossDown(imvol*100,gamma) or
CrossDown(imvol*100,theta) or
CrossDown(imvol*100,vega) or
CrossDown(imvol*100,rho) or
CrossDown(bs,delta) or
CrossDown(bs,gamma) or
CrossDown(bs,theta) or
CrossDown(bs,vega) or
CrossDown(bs,rho) or
CrossDown(delta,gamma) or
CrossDown(delta,theta) or
CrossDown(delta,vega) or
CrossDown(delta,rho) or
CrossDown(gamma,theta) or
CrossDown(gamma,vega) or
CrossDown(gamma,rho) or
CrossDown(theta,vega) or
CrossDown(theta,rho) or Then
sell();
답변 1
예스스탁 예스스탁 답변
2013-05-10 14:27:44
안녕하세요
예스스탁입니다.
이전에 올리신 글에 해당 수식에서 사용되는
사용자함수에 대한 내용들이 있습니다.
해당 글에 있는 모든 사용자함수를 작성하시고
아래식 적용하셔야 합니다.
또한 변동성 및 옵션그릭수치들은 랭귀지로 계산이 어려운 부분이므로
올리신 글의 사영지 함수들이 정확한지는 저희쪽에서 검증해 드리지 않습니다.
즐거운 하루되세요
> yang오뚜기 님이 쓴 글입니다.
> 제목 : 잉 검증은 안되고 오류가 왜이리많아요ㅠㅠ
> 안녕하세요 수고하십니다 왜이리 오류가 많게 짜주시나요 ㅠㅠ
오류 수정 부탁드립니다 감사합니다 ^^
검증 되고 신호나오면 별다섯개 드려요 ^^ 관리자님 짱 ^^
### 1번식
아래 매수와 매도식과 같이 or로 조건을 연결해 사용하시면 됩니다.
각 값이 크로스가 가능한 값인지 확인하시기 바랍니다.
올리신 옵션그릭수치나 변동성과 관련해서는 저희 쪽에서
수식 계산검증은 해드리지 않습니다.
이용에 참고하시기 바랍니다.
input: cpflag(1), //콜풋 입력
InS(0), //현재 지수를 입력 안하면 data 참조를 통해 실시간 가격을 이용. 테스트시 이용
x(145.0), //행사가 입력
ex(20050908), //만기일
r(0.0351), //CD 금리, 요기서 볼 수 있음 ==> http://stock.koscom.co.kr/
q(0), //배당률
InSig(0), //내재변동성을 입력 안하면 자체 계산된 변동성을 사용. 단, 오차 감안해야 함
InPrice(0); //역시 테스트를 목적으로 함
var:S(0),T(0),sig(0),price(0),ImVol(0),bs(0),delta(0),gamma(0),vega(0),theta(0),rho(0);
S = iff(inS!=0,inS,data1("c")); //kospi종합을 같이 띄워 놓아야 합니다.
T = (DateToJulian(ex) - DateToJulian(date) + 1)/365;
price = iff(inPrice!=0,inPrice,c);
imvol = _ImVol(cpFlag, S, X, T, r, q, price);
sig = iff(insig!=0,insig,ImVol);
bs = _BlackSholes(cpFlag, S, X, T, r, q, sig);
delta = _Delta(cpFlag, S, X, T, r, q, sig);
gamma = _gamma(cpFlag, S, X, T, r, q, sig);
theta = _theta(cpFlag, S, X, T, r, q, sig);
vega = _vega(cpFlag, S, X, T, r, q, sig);
rho = _rho(cpFlag, S, X, T, r, q, sig);
if crossup(imvol*100,bs) or
crossup(imvol*100,delta) or
crossup(imvol*100,gamma) or
crossup(imvol*100,theta) or
crossup(imvol*100,vega) or
crossup(imvol*100,rho) or
crossup(bs,delta) or
crossup(bs,gamma) or
crossup(bs,theta) or
crossup(bs,vega) or
crossup(bs,rho) or
crossup(delta,gamma) or
crossup(delta,theta) or
crossup(delta,vega) or
crossup(delta,rho) or
crossup(gamma,theta) or
crossup(gamma,vega) or
crossup(gamma,rho) or
crossup(theta,vega) or
crossup(theta,rho) or Then
buy();
if CrossDown(imvol*100,bs) or
CrossDown(imvol*100,delta) or
CrossDown(imvol*100,gamma) or
CrossDown(imvol*100,theta) or
CrossDown(imvol*100,vega) or
CrossDown(imvol*100,rho) or
CrossDown(bs,delta) or
CrossDown(bs,gamma) or
CrossDown(bs,theta) or
CrossDown(bs,vega) or
CrossDown(bs,rho) or
CrossDown(delta,gamma) or
CrossDown(delta,theta) or
CrossDown(delta,vega) or
CrossDown(delta,rho) or
CrossDown(gamma,theta) or
CrossDown(gamma,vega) or
CrossDown(gamma,rho) or
CrossDown(theta,vega) or
CrossDown(theta,rho) or Then
sell();
다음글