Type/to search

kNN 기반 추세 추종 전략

Common strategy
Created: 2023-12-08 11:33:31
Last modified: 3 years ago
1
Follow
1802
Followers

img

개요

본 전략은 k-최근접 이웃(kNN) 머신러닝 알고리즘을 활용하여 시장 추세를 예측하고, 예측 결과에 따라 롱(long) 및 숏(short) 포지션 신호를 생성합니다. 이 전략은 과거 데이터, 기술적 지표 등 다양한 요소를 종합적으로 고려하여 kNN 모델을 훈련하고 시장 특성을 동적으로 파악함으로써 자동화된 추세 추종 거래를 구현합니다.

전략 원리

  1. 훈련 데이터 수집: 과거 종가, 거래량 등의 시계열 데이터와 RSI, CCI 등의 기술적 지표를 수집합니다.
  2. 데이터 전처리: 지표 값을 0~100 범위로 정규화합니다.
  3. kNN 모델 훈련: 현재 kNN 모델의 두 가지 특징(feature)을 입력으로 사용하여, 이 특징 벡터와 과거 특징 벡터 간의 유클리드 거리를 계산합니다. 가장 가까운 k개의 과거 샘플을 선택하고, 이 k개 샘플의 레이블(롱 또는 숏) 분포를 집계합니다.
  4. 예측 획득: k개의 최근접 이웃 샘플의 레이블을 기반으로 현재 시장 움직임을 예측합니다. 예측이 롱이면 롱 포지션 신호를, 숏이면 숏 포지션 신호를 생성합니다.
  5. 거래 실행: 손절매(stop-loss), 포지션 크기 조절, 이동평균선 등의 필터를 결합하여 거래를 실행합니다.

전략 장점

  1. 머신러닝 알고리즘을 활용하여 기술적 패턴을 자동으로 식별하므로 수동 개입이 필요하지 않습니다.
  2. 다양한 기술적 지표를 모델의 특징(feature)으로 유연하게 선택할 수 있으며, 전략을 실시간으로 최적화할 수 있습니다.
  3. 손절매, 포지션 관리 등 엄격한 리스크 관리 메커니즘을 통합합니다.
  4. 손절매 라인을 시각화하여 명확하고 직관적으로 표시합니다.

리스크 및 해결 방법

  1. 머신러닝 예측에 오경보(허위 신호)가 발생할 수 있습니다. 적절한 k값, 특징 벡터, 샘플 시간 범위 등을 선택하여 모델을 최적화할 수 있습니다.
  2. 단방향 거래에는 잠재적 위험이 존재합니다. 코드에 양방향 거래를 허용하여 버그를 제거할 수 있습니다.
  3. 매개변수 설정이 부적절하면 과도한 거래(over-trading)로 이어질 수 있습니다. 포지션 크기, 거래 빈도 등의 매개변수를 적절히 조정해야 합니다.

최적화 방향

  1. kNN 입력 특징으로 다양한 유형의 기술적 지표를 테스트합니다.
  2. 맨해튼 거리(Manhattan distance) 등 다른 거리 측정 방법을 시도합니다.
  3. 샘플 거리 또는 분류 품질을 사용하여 포지션 크기를 조정합니다.
  4. 모델 훈련 세트와 테스트 세트를 분할하여 롤링 최적화를 구현합니다.

요약

본 전략은 고전적인 kNN 알고리즘을 사용하여 시장 추세를 예측하고, 예측 신호에 따라 추세 추종 거래를 수행합니다. 이 전략은 매개변수 조정이 가능하고 리스크를 통제할 수 있어 사용자에게 효과적인 자동화된 거래 솔루션을 제공합니다. 사용자는 기술적 지표 조합을 변경하거나 모델 하이퍼파라미터를 최적화하는 등 다양한 방법으로 전략 성능을 지속적으로 향상시킬 수 있습니다.

Source
Pine
/*backtest
start: 2023-11-07 00:00:00
end: 2023-12-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © sosacur01

//@version=5
Strategy parameters
Strategy parameters
Backtest Time Period
Filter Date Range of Backtest
Start Date
End Date
Long & Short Position
On/Off Long Postion
On/Off Short Postion
kNN-based Inputs
Start Date
Stop Date
Indicator
Short Period [1..n]
Long Period [2..n]
Base No. of Neighbours (K) [5..n]
Volatility Filter
Bar Threshold [2..5000]
MA Inputs
Use MA as Filter
MA Type
MA Length
MA Source
Risk Management Inputs
ATR Length
Long Position - Stop Loss - ATR Multiplier
Short Position - Stop Loss - ATR Multiplier
% of Equity at Risk
Comment
All comments (0)
No data
No data
  • 1
Forums
PINE Language
Get the app
iPhone Download
© 2015 - ∞ INVENTOR PTE LTD (SG)