알파 설명
: reversion alpha
ts_delta(close, 3)
: 3일전~오늘, 종가의 시계열적 차이
-rank( )
condition=ts_arg_max(volume, 5)==0;
: 거래량 기준으로 5일동안 보았을 때 거래량이 최대인 날의 값이 0이 됨
trade_when(condition, ~, -1);
: 위의 condition이 boolean 값으로서 들어가 true값으로 작용
⇒ turnover를 조정하기 위해 decay를 재설정한 것이 아니라
⇒ entry condition을 부여한 trade_when operator를 사용한 것
알파 성능 측정
: robust에 문제가 있음
알파 설명
: 앞선 알파와는 다르게 entry condition 뿐만 아니라 exit condition을 작성해 줌
abs(returns)>=0.1
returns
: 어제 전체 주식의 수익률에 대한 매트릭스
: 그래서 그 수익이 +10%, -10%보다 더 큰 날일 경우에는 바로 exit하게 됨
⇒ 이렇게 조정하면 알파 제출이 가능함
4가지 경우 예제
position | returns | profit & loss |
---|---|---|
short | -0.1 | realize profit |
short | +0.1 | stop loss |
long | -0.1 | stop loss |
long | +0.1 | realize profit |
position = short
: ‘3일전보다 상승해서 → short 배팅’한 경우를 의미
returns=-0.1
: 실제로 10% 하락을 한 경우
⇒ 따라서 공매도를 한 position에서 수익을 하루 만에 보고 있는 것
⇒ 3 day reversion alpha이므로 시그널이 3일정도 유지되는 알파인데
이것을 3일정도 유지시키는 시그널이 아니라
바로 오늘 그 수익을 실현하는 알파라고 볼 수 있음(realize profit
)
returns=+0.1
: 실제는 반대로 10% 상승을 한 경우
⇒ abs(returns)>=0.1
에 해당되므로 exit 조건이 걸림(stop loss
)
position = long
도 vice versa