본문 바로가기
Trading/PythonForFinance

ALT - Are technical indicators helpful?

by bents 2020. 12. 31.

목표

1. 주식 시뮬레이션 전략 (공매도 포함)
2. 실제 매매(수동주문? 숏전략없음)
3.FX마진 시뮬레이션/데모 적용후 매매자동화


인디케이터의 유의성 검증하기

+ 거래량/추세전략에서 사용하는 " indicator가 단기 수익에 도움이 되는지" 분석해보기.

+ 그밖에 내가 만든 지표도 검증해보기

 

 

0) 데이터

: 10년치데이터*(krx300) --> 종목마다 데이터개수가 다름! 뚜둔..

 

1) 종속변수

(목표수익률 15% , 손절률 5% --> RRR : 3.0)의 스윙트레이딩을 할거..

--> 20영업일 이내 수익률 15%(안전하게16%)이상이면 1, 아니면 0

  := 20영업일 이내 수익률 -15%(안전하게-16%)이하면 1, 아니면 0

 

2) 독립변수

  *주가데이터는 시계열데이터(과거 종속성 킹높음)

  *독립변수는 각 시점별 데이터가 서로 독립관계이도록 ! 

 

>주가OHLC, 거래량

+ 주가범위 ( 시가-종가, 시가-고가, 시가-종가, 종가-고가, 종가-저가)

+ log 변화율 (gap변화율, 시가변화율, 종가변화율, 거래량 변화율, 원점/이동평균 ) 

+기존 지표 ( ADX, RSI, STOCH, CCI, 주가MACD-주가MA(9), VPCI  )

> (120,50,20,5일전 대비 증감)

주가범위, 변화율, 기존지표 [RSI, STOCH, CCI, ROC] + 추가지표 [ 주가MACD, 거래량MACD , ROC, OBV, MACD ]

3) 분석
반등구간(1)과 비구간(0) 그룹 비교

로짓회귀..에러남 --> 대체방법 : 변동계수와 중간값.

종목마다 반등구간/비구간 분류한다.--> 각 그룹의 변동계수, 중간값,평균값 계산 --> 배율 계산 

 

3-1. 변동계수(그룹1, 그룹2, 배율), 중간값(그룹1, 그룹2, 배율), 평균값(그룹1, 그룹2, 배율)

 

--> scale에 의해 종목마다 결과가 다르게 나옴

--> 어느정도 표준화가 되어야 비교가능함 : ( value - min ) / std


예시 - kospi
close_ma_change / -0.3429 vs 0.0324 : -10.5833 / -0.0114 vs 0.0017 : -6.7059 / -0.0135 vs 0.0005 : -27.0 /
gap_change / -0.1144 vs 0.0721 : -1.5867 / 0.0001 vs 0.0011 : 0.0909 / -0.0026 vs 0.0007 : -3.7143 /
open_change / -0.1144 vs 0.0192 : -5.9583 / -0.0042 vs 0.001 : -4.2 / -0.0049 vs 0.0003 : -16.3333 /
cci / -0.3591 vs 0.1412 : -2.5432 / -73.0864 vs 32.1175 : -2.2756 / -41.2351 vs 15.1203 : -2.7271 /
macd / -0.6575 vs 0.1232 : -5.3369 / -22.4749 vs 4.721 : -4.7606 / -32.0019 vs 2.6883 : -11.9041 /
roc / -0.586 vs 0.0877 : -6.6819 / -6.3967 vs 0.5889 : -10.8621 / -6.2796 vs 0.3863 : -16.2558 /
vmacd / -0.2237 vs -0.0179 : 12.4972 / -59429.4357 vs -3759.9253 : 15.806 / -212550.2877 vs -29328.195 : 7.2473 /
ad_change / -0.0801 vs -0.0051 : 15.7059 / -0.0002 vs 0.0001 : -2.0 / -0.0312 vs -0.0007 : 44.5714 /
obv_ma_change / -0.2119 vs 0.0237 : -8.9409 / 0.0004 vs 0.0001 : 4.0 / -0.0595 vs 0.0018 : -33.0556 /

 

 

3-2. 변동계수 배율 >2 or <0.5 인 지표 찾기 

*KRX300 :  215개 종목 데이터 (85개 종목 데이터 제공 안함)

*시간: 최대 10년치

 

[156개 종목이상에서 발견된 지표 요약 테이블]

--> 실제 분포를 보면 유의미하지 않은 것들 발견됨.

 

 

3-3. 가격대, 시가총액, 변동성에 따라 다를까?

-> 시가총액기준으로 중형주/대형주를 나눠서 분포를 확인하자.

 

  • 중형주163개,대형주137개
  • 히스토그램 굵기가 너무 앏으면 데이터를 신뢰하기 어려움; 
  • 각 지표마다 중형주(파랑,2조미만)과 대형주(노랑,2조초과)의 '배율'을 비교해보면, 대부분 비슷함.
  • 거래량 변화율에서는 차이남. 

대형주 / 중형주

4) 첨언

- 인간의 본성이 아닌 "투기적인 습성"의 데이터는 정규분포보다 왜도/첨도의 변형이 심한 분포를 따른다.

- 따라서 수익이 발생하는 구간의 분포는 그렇지 않은 경우와 왜도/첨도 측면에서 특징이 두드러지는 경향이 있음.

- 그러니 비록 >2, <0.5 기준에 걸려서 나오지 못한 지표임에도  충분히 이런 특징이 보이는 분포는 참고해야 함. 변동계수로 대략적인 방향과 크기를 상상해보자.

- 여기서는 vpci 지표를 검토하지 못했음.

 

*추세전략은 단기/중기/장기에 따라 달라져야 한다.  (여기선 단기만 적용함)


[다음할일] PCA로 1요인에 가장 많은 정보 담은 요소찾기

[다음할일] 전략별 조건을 충족하는 종목 찾기

- 종목 스크리닝하기 
: 롱포지션 추세패턴, 숏포지션 추세패턴