![[와우글로벌] 종목검색 리뉴얼](https://img.wownet.co.kr/banner/202505/20250527af5a807ac6544f84aa0f7ce00492ba85.jpg)
![[이을수] 미국 ETF 한방에 끝내기 VOD](https://img.wownet.co.kr/banner/202505/20250523ba9d39248d5247a9b67a04651daebc55.jpg)
![[박준석]차이나는 기회](https://img.wownet.co.kr/banner/202506/2025060490127707fa1042eda00fcf1d11687a87.jpg)
이번 글에서는 뉴욕 대륙간거래소(ICE)에 상장된 커피 선물(@KC) 거래 시스템 개발에 대해 살펴본다. 일반적으로 거래되는 선물 상품과 비교해 상대적으로 덜 알려진 상품을 포트폴리오에 편입함으로써 다각화를 꾀하는 것이 목표다.
커피 시장은 설탕, 코코아, 면화, 오렌지주스 선물과 함께 '소프트 상품' 카테고리에 속한다. 이 시장은 장중에도 변동성이 크고, 주식 선물과의 상관관계가 낮으며, 적정 수준의 거래량을 유지하는 등 여러 흥미로운 특성을 보인다.
이 시장을 심층 분석하기 위해 대부분의 상품에서 좋은 결과를 보이는 추세추종 접근법을 채택할 것이다. 이 접근법이 커피 선물에도 효과적인지 테스트해볼 것이다.
개발할 전략은 주요 고점과 저점의 돌파에 기반한 전형적인 추세추종 로직을 따른다.
구체적으로, 이 시스템은 가격이 특정 세션 수에 걸쳐 기록된 최고가('Highest(High,n_sessions)')를 상향 돌파할 때 매수하고, 특정 세션 수의 최저가('Lowest(Low,n_sessions)')를 하향 돌파할 때 매도한다.
거래는 커피 선물의 전체 거래 시간인 월요일부터 금요일까지 오전 4시 15분부터 오후 1시 30분(거래소 시간) 동안 이뤄진다. 손절매가 먼저 발생하지 않는 한, 진입과 청산은 같은 거래일 내에 이뤄지며 늦어도 장 마감 시까지는 모든 포지션이 청산된다. 초기 분석에서 손절매는 1,500달러로 설정된다.
거래 시스템은 15분 시간대(data1)에서 테스트되며, 진입 레벨은 일간 시간대(data2)에서 계산된다. 2010년 초부터 2025년 3월까지의 과거 데이터를 사용한다.
고점과 저점 계산에 사용할 가장 수익성 높은 세션 수(n_sessions)를 최적화하고 정의해보자. n_sessions 입력값을 1에서 10까지 단계별로 최적화할 것이다.
최적화 결과, 세션 수가 증가할수록 최대 손실폭을 제외한 순이익과 대부분의 성과 지표가 악화되는 경향을 보였다. 우리의 경우 2를 선택했는데, 이는 지난 2개 세션을 기준으로 진입 레벨을 계산한다는 의미다. 가격이 이 레벨을 돌파할 때 포지션이 열린다.
첫 테스트의 성과 지표를 보면, 수익성 있고 우상향하는 자본 곡선이 즉시 나타나는데, 이는 이 선물 계약이 추세추종 로직에 잘 반응한다는 것을 보여준다. 필터가 적용되지 않은 기본 시스템임에도 평균 거래당 약 60달러, 순이익 160,800달러라는 괜찮은 결과를 보여준다.
거래 시스템을 개선하기 위한 첫 단계로, 전체 세션과 다른 시간대에서 시스템을 운영하는 것이 유익한지 확인해보자. 'MyStartTrade'와 'MyEndTrade'라는 입력값을 추가하여 거래 시간대의 시작과 끝을 정의하고 이 파라미터들을 최적화할 것이다.
최적화 결과, 거래 시간대를 오전 5시에서 오전 11시로 좁힘으로써 최대 손실폭이 26,000달러 이상에서 23,000달러 미만으로 크게 개선되었다. 이는 세션 초반의 시장 움직임이 불규칙하고 방향성이 부족하며, 하루 중 특정 시점 이후에는 모든 포지션이 장 마감 시 청산되어야 하므로 새로운 거래를 시작하는 것이 의미가 없기 때문으로 보인다.
시스템을 더욱 개선하기 위해 평균 거래 수익이라는 핵심 성과 지표에 집중해보자. 수수료와 슬리피지 같은 실제 거래 비용을 고려할 때, 특히 커피 선물의 상대적으로 높은 틱 가치(틱당 18.75달러)를 감안하면 시스템의 실전 거래 적합성을 위해서는 이 수치를 크게 개선할 필요가 있다.
'일간 요인(Daily Factor)'에 기반한 필터를 추가하는 것이 하나의 개선 방안이 될 수 있다. 이 패턴은 전일 가격이 전체 일간 범위 대비 시가에서 종가까지 얼마나 움직였는지를 측정한다. 방향성 신호를 제공하지는 않지만 변동성에 대한 통찰을 제공한다.
최적화 결과를 바탕으로 0.8의 값을 선택했다. 이는 전일 세션의 몸통(시가-종가)이 세션의 전체 범위(고가-저가)의 80% 미만일 때만 포지션을 열 수 있다는 조건을 설정한다. 이 필터는 평균 거래 수익을 20달러 증가시켜 85달러 이상으로 끌어올렸고, 최대 손실폭 감소와 순이익 증가에도 기여했다.