시작하기무료로 시작하기

신호 결합 - II

이전 연습 문제에서는 두 다른 신호의 값을 비교해 sigFormula 신호를 근사해 보았어요. 이번 마지막 연습 문제에서는 한 단계 더 나아가 sigFormula() 함수를 직접 사용해 sigFormula 신호를 생성해 보겠습니다.

이 연습의 목표는 간단합니다. longfilterlongthreshold가 동시에 참이 될 때 포지션에 진입하려고 합니다. 핵심 아이디어는 이렇습니다. 조건이 계속 참인 동안 내내 반복 진입하고 싶지는 않지만, 상승 추세에서 되돌림이 나올 때는 포지션을 보유하고 싶다는 거죠.

sigFormula 함수 작성은 base R의 "if 문" 조건식을 formula() 함수 안에 쓰는 것만큼 간단합니다. 여기서는 longfilterlongthreshold가 동시에 참으로 교차(cross over)할 때 참이 되는 longentry라는 라벨의 신호를 만들고자 합니다.

이 연습 문제를 마치면, quantstrat에서 신호가 어떻게 동작하는지 전반을 훑어보신 거예요!

이 연습은 강의의 일부입니다

R로 배우는 금융 트레이딩

강의 보기

연습 안내

  • add.signal()을 사용해 longfilterlongthreshold가 모두 참일 때 참이 되는 sigFormula 신호를 만드세요.
  • crossTRUE로 설정하세요.
  • 이 새로운 신호의 라벨을 longentry로 지정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Add a sigFormula signal to your code specifying that both longfilter and longthreshold must be TRUE, label it longentry
add.signal(strategy.st, name = "___",
           
           # Specify that longfilter and longthreshold must be TRUE
           arguments = list(formula = "___ & ___", 
                            
                            # Specify that cross must be TRUE
                            cross = ___),
           
           # Label it longentry
           label = "___")
코드 편집 및 실행