도메인/금융공학

예스트레이더 기본 튜토리얼

늘근이 2015. 6. 28. 10:15

예스트레이더를 통해 아주 기본적인 전략을 발전시키는 짓을 한번 해보겠다.

2015년 현재 먹히지 않는 전략이지만, 그냥 이해를 하기위한 샘플로는 적당한듯싶다.

일단 다음과 같이 기본전략이 있다.


기본전략



Inputs : len(0.3);

var1 = highd(1)-lowd(1);

If Time < 145500 Then {
Buy("매수", AtStop, OpenD(0)+var1*len, DEF);
Sell("매도",AtStop, OpenD(0)-var1*len, DEF);
};




시간을 설정해주는 이유는 두가지이다.

    1) 동시호가 타이밍에는 거래를 하지 않기위해

    2) 전날의 변수값이 남아있어서 영향을 주는것을 피하기 위해


만약에 시간을 설정해주지 않는다면 꼬여서 구린 수익이 나오게 된다.

시간을 설정한 결과


이제 손절매를 설정해주어야 한다.


손절매추가



Inputs : len(0.3),len1(0.01);

var1 = highd(1)-lowd(1);

If Time < 145500 Then {
Buy("매수", AtStop, OpenD(0)+var1*len, DEF);
Sell("매도",AtStop, OpenD(0)-var1*len, DEF);
};

If MarketPosition <> 0 Then {
    ExitLong("매수손절",AtStop,EntryPrice*(1-len1));
    ExitShort("매도손절",AtStop,EntryPrice*(1+len1));
};




손절매는 위와같이, 비율로 해줘도 되고 절대금액으로 해줘도 되겠다.

보통 손절매는 오히려 이익을 줄이게 되는경우가 많다. 그렇지만 심리적 안정을 위해서는 하는편이 낫다.

조금 이익이 개선되었다. 모든 변수는 어느정도의 최적화를 해주면 되나, 과도한 최적화는 과거설명력만 높아진다. 그냥 본인이 감당할 수 있는정도의 손절을 설정해놓으면 된다. (상식, 통계적으로 타당한 부분 이내에서)


당일청산추가



Inputs : len(0.3),len1(0.01);

var1 = highd(1)-lowd(1);

If Time < 145500 Then {
Buy("매수", AtStop, OpenD(0)+var1*len, DEF);
Sell("매도",AtStop, OpenD(0)-var1*len, DEF);
};

If MarketPosition <> 0 Then {
    ExitLong("매수손절",AtStop,EntryPrice*(1-len1));
    ExitShort("매도손절",AtStop,EntryPrice*(1+len1));
};

If Time > 145500 Then {
 ExitLong();
 ExitShort();
};




이제 당일청산이 추가되었다.

당일청산이 추가되면 이익이 위와같이 떨어지게 되는데, 어쩔수없다. 갑자기 9.11 테러라도 나는 상황이라면 어마어마한 갭 하락을 막아줄수 있는 유일한 장치인데, 그에반해 갭상승에 대한 꿀물도 얻지 못한다.


이제는 이익보존전략을 써볼때이다.


추적스탑.


Inputs : len(0.3),len1(0.01);

var1 = highd(1)-lowd(1);

If Time < 145500 Then {
Buy("매수", AtStop, OpenD(0)+var1*len, DEF);
Sell("매도",AtStop, OpenD(0)-var1*len, DEF);
};

If MarketPosition <> 0 Then {
    ExitLong("매수손절",AtStop,EntryPrice*(1-len1));
    ExitShort("매도손절",AtStop,EntryPrice*(1+len1));
};

If Time > 145500 Then {
 ExitLong();
 ExitShort();
};

If MarketPosition <> 0 Then {
    ExitLong("추적H",AtStop, ((Highest(H,BarsSinceEntry+1)) * (0.995)));
    ExitShort("추적L",AtStop, ((Lowest(L,BarsSinceEntry+1)) * (1.005)));
};



추적스탑이란, 최고 이익을 경신했을때 이를 보존하기 위해 금방금방 내다파는 형식이다. 사실 잠시의 눌림목이 있은 후 계속해서 이익이 날수도 있는데 굳이 파는 이유는 빠르게 이익을 내것으로 만들면서 심리적 안정감을 찾고싶기 때문에 그런것이 크다. 위의 전략은 다음과 같다.



다만 거래횟수가 급격하게 늘어났기 때문에, 손해가 확 늘어난것도 있다.