최근 포토로그


[udacity-machine-learning-finance]02_06 Technical Anlysis 머신러닝 for finance

기술적 분석(technical), Fundamental 분석이있는데,

기술적분석에대해 얘기해보겠다.

technical analysis는 

주식가격하고 거래량만 가지고 분석한다. (다른 모든가치들 : book value, 본질적가치등을 무시함)

가격과 거래량을 가지고 지표들을 만든다.

지표들은 heuristics하다. 


이동평균석 분석 - 기술분석
거래량 변화 분석 - 기술분석
price/earning 비율 분석  - fundamental분석
intrinsic value분석(본질적가치분석) - fundamental분석


기술적 지표들중에는 여러가지가있는데,

그중 대표적으로 쓰이는몇가지만 소개해본다.

1. momentum

momentum[t] = (price[t] / price[t-n]) -1
t: 특정날에 측정할 날짜를 정한다. 
n:측정할 날을 정한다. ( 5일, 10일..)

별로 추천하지는 않는 방법이라고..

2. simple moving average (SMA)
흔히알려진 이동평균선이다.
20일 이동평균선이라고하면 20일동안 가격의 변화량을 평균으로 나타내서 한개의 값으로 나타낸 지표이다.
이것도 buy/sell signal로 나타내게 하려면

SMA[T] = (price[T] / price[T-n:T].mena()) - 1 
그래서 값이 양수값이 나오면 현재가격이 이동평균선보다 높이있다는 뜻이고, 음수값이 나오면 현재값이 이동평균선보다 낮은위치에 있다는 의미가된다.

3. Bollinger Bands (bb)
이동평균값에 표준편차 값도 고려한 지표라고 보면되겠다.
BB[t] = (price[t] - sma[t])/2*std[t]
가격이 볼린저밴드보다 위에있으면 sell signal, 아래에있으면 buy signal이라고 보면되고, 가격은 평균에 계속수렴한다고 예측한다.



각지표들을 머신러닝에 feeding할때 값의 범위가 다 달라서 원하는 결과값이 안나올수가있다. 그때 필요한게 normalization인데,

간단한 공식이 있다.
Normed = (values-mean) / values.std()
각 값에 평균값을 빼고, 표준편차로 나누는 값을 데이터로 피딩해주면된다. 위과정을 normalization이라고한다.


덧글

댓글 입력 영역


통계 위젯 (화이트)

01
2
8133

구글애널리틱스