기술적 분석(Trader)

기술적 분석(Trader)

금융 시장 데이터를 분석하다 보면 이동평균, RSI, MACD 같은 지표를 직접 계산하게 돼요. PHP의 trader 확장은 TA-Lib 기반의 오픈소스 주식 라이브러리라서 이런 기술적 분석 지표를 곧바로 쓸 수 있게 해 줘요.

출처: Technical Analysis for Traders

본문

trader 확장은 TA-Lib 기반의 무료 오픈소스 주식 라이브러리예요. 금융 시장 데이터의 기술적 분석을 수행해야 하는 트레이딩 소프트웨어 개발자를 위해 만들어졌어요. ADX, MACD, RSI, Stochastic, TRIX 같은 많은 지표와 함께 캔들스틱 패턴 인식, 여러 벡터 산술·대수 함수를 포함해요.

계산은 TA-Lib과 Metastock 두 가지 모드로 할 수 있어요. trader_set_compat()로 모드를 바꾸면 일부 trader 함수의 동작 방식에 영향을 줘요.

또, 일부 trader 함수는 데이터의 '시작점'에 따라 다른 결과를 내기도 해요. 이를 함수가 기억(memory)을 가진다고 표현해요. 대표적인 예가 지수 이동평균(Exponential Moving Average)이에요. 불안정 구간(제거할 데이터 양)은 trader_set_unstable_period() 함수로 제어할 수 있어요.

지표·공식·다른 프로그래밍 언어에서의 구현에 대한 더 자세한 문서는 » https://ta-lib.org/ 에서 볼 수 있어요.

Trader 함수들

  • trader_acos — 벡터 삼각 ACos
  • trader_ad — Chaikin A/D 라인
  • trader_add — 벡터 산술 Add
  • trader_adosc — Chaikin A/D 오실레이터
  • trader_adx — 평균 방향성 지수(Average Directional Movement Index)
  • trader_adxr — 평균 방향성 지수 등급(Average Directional Movement Index Rating)
  • trader_apo — 절대 가격 오실레이터(Absolute Price Oscillator)
  • trader_aroon — Aroon
  • trader_aroonosc — Aroon 오실레이터
  • trader_asin — 벡터 삼각 ASin
  • trader_atan — 벡터 삼각 ATan
  • trader_atr — 평균 실제 범위(Average True Range)
  • trader_avgprice — 평균 가격
  • trader_bbands — 볼린저 밴드(Bollinger Bands)
  • trader_beta — 베타(Beta)
  • trader_bop — 균형 파워(Balance Of Power)
  • trader_cci — 상품 채널 지수(Commodity Channel Index)
  • trader_cdl2crows — Two Crows
  • trader_cdl3blackcrows — Three Black Crows
  • trader_cdl3inside — Three Inside Up/Down
  • trader_cdl3linestrike — Three-Line Strike
  • trader_cdl3outside — Three Outside Up/Down
  • trader_cdl3starsinsouth — Three Stars In The South
  • trader_cdl3whitesoldiers — Three Advancing White Soldiers
  • trader_cdlabandonedbaby — Abandoned Baby
  • trader_cdladvanceblock — Advance Block
  • trader_cdlbelthold — Belt-hold
  • trader_cdlbreakaway — Breakaway
  • trader_cdlclosingmarubozu — Closing Marubozu
  • trader_cdlconcealbabyswall — Concealing Baby Swallow
  • trader_cdlcounterattack — Counterattack
  • trader_cdldarkcloudcover — Dark Cloud Cover
  • trader_cdldoji — Doji
  • trader_cdldojistar — Doji Star
  • trader_cdldragonflydoji — Dragonfly Doji
  • trader_cdlengulfing — Engulfing 패턴
  • trader_cdleveningdojistar — Evening Doji Star
  • trader_cdleveningstar — Evening Star
  • trader_cdlgapsidesidewhite — Up/Down-gap side-by-side white lines
  • trader_cdlgravestonedoji — Gravestone Doji
  • trader_cdlhammer — Hammer
  • trader_cdlhangingman — Hanging Man
  • trader_cdlharami — Harami 패턴
  • trader_cdlharamicross — Harami Cross 패턴
  • trader_cdlhighwave — High-Wave 캔들
  • trader_cdlhikkake — Hikkake 패턴
  • trader_cdlhikkakemod — Modified Hikkake 패턴
  • trader_cdlhomingpigeon — Homing Pigeon
  • trader_cdlidentical3crows — Identical Three Crows
  • trader_cdlinneck — In-Neck 패턴
  • trader_cdlinvertedhammer — Inverted Hammer
  • trader_cdlkicking — Kicking
  • trader_cdlkickingbylength — Kicking(더 긴 marubozu로 강세/약세 판단)
  • trader_cdlladderbottom — Ladder Bottom
  • trader_cdllongleggeddoji — Long Legged Doji
  • trader_cdllongline — Long Line 캔들
  • trader_cdlmarubozu — Marubozu
  • trader_cdlmatchinglow — Matching Low
  • trader_cdlmathold — Mat Hold
  • trader_cdlmorningdojistar — Morning Doji Star
  • trader_cdlmorningstar — Morning Star
  • trader_cdlonneck — On-Neck 패턴
  • trader_cdlpiercing — Piercing 패턴
  • trader_cdlrickshawman — Rickshaw Man
  • trader_cdlrisefall3methods — Rising/Falling Three Methods
  • trader_cdlseparatinglines — Separating Lines
  • trader_cdlshootingstar — Shooting Star
  • trader_cdlshortline — Short Line 캔들
  • trader_cdlspinningtop — Spinning Top
  • trader_cdlstalledpattern — Stalled 패턴
  • trader_cdlsticksandwich — Stick Sandwich
  • trader_cdltakuri — Takuri(아주 긴 아래 그림자가 있는 Dragonfly Doji)
  • trader_cdltasukigap — Tasuki Gap
  • trader_cdlthrusting — Thrusting 패턴
  • trader_cdltristar — Tristar 패턴
  • trader_cdlunique3river — Unique 3 River
  • trader_cdlupsidegap2crows — Upside Gap Two Crows
  • trader_cdlxsidegap3methods — Upside/Downside Gap Three Methods
  • trader_ceil — 벡터 Ceil
  • trader_cmo — Chande Momentum 오실레이터
  • trader_correl — 피어슨 상관계수(r)
  • trader_cos — 벡터 삼각 Cos
  • trader_cosh — 벡터 삼각 Cosh
  • trader_dema — 이중 지수 이동평균(Double Exponential Moving Average)
  • trader_div — 벡터 산술 Div
  • trader_dx — 방향성 지수(Directional Movement Index)
  • trader_ema — 지수 이동평균(Exponential Moving Average)
  • trader_errno — 오류 코드 가져오기
  • trader_exp — 벡터 산술 Exp
  • trader_floor — 벡터 Floor
  • trader_get_compat — 호환 모드 가져오기
  • trader_get_unstable_period — 불안정 구간 가져오기
  • trader_ht_dcperiod — Hilbert Transform - Dominant Cycle Period
  • trader_ht_dcphase — Hilbert Transform - Dominant Cycle Phase
  • trader_ht_phasor — Hilbert Transform - Phasor Components
  • trader_ht_sine — Hilbert Transform - SineWave
  • trader_ht_trendline — Hilbert Transform - Instantaneous Trendline
  • trader_ht_trendmode — Hilbert Transform - Trend vs Cycle Mode
  • trader_kama — Kaufman 적응 이동평균
  • trader_linearreg — 선형 회귀(Linear Regression)
  • trader_linearreg_angle — 선형 회귀 각도
  • trader_linearreg_intercept — 선형 회귀 절편
  • trader_linearreg_slope — 선형 회귀 기울기
  • trader_ln — 벡터 자연로그
  • trader_log10 — 벡터 Log10
  • trader_ma — 이동평균
  • trader_macd — 이동평균 수렴·발산(Moving Average Convergence/Divergence)
  • trader_macdext — MA 타입을 조절할 수 있는 MACD
  • trader_macdfix — 이동평균 수렴·발산 Fix 12/26
  • trader_mama — MESA 적응 이동평균
  • trader_mavp — 가변 구간 이동평균
  • trader_max — 지정 구간의 최고값
  • trader_maxindex — 지정 구간의 최고값 인덱스
  • trader_medprice — 중간 가격(Median Price)
  • trader_mfi — 머니 플로우 지수(Money Flow Index)
  • trader_midpoint — 구간의 중간점
  • trader_midprice — 구간의 중간 가격
  • trader_min — 지정 구간의 최저값
  • trader_minindex — 지정 구간의 최저값 인덱스
  • trader_minmax — 지정 구간의 최저·최고값
  • trader_minmaxindex — 최저·최고값의 인덱스
  • trader_minus_di — Minus 방향성 지표
  • trader_minus_dm — Minus 방향성 움직임
  • trader_mom — 모멘텀(Momentum)
  • trader_mult — 벡터 산술 Mult
  • trader_natr — 정규화된 평균 실제 범위
  • trader_obv — 거래량 균형(On Balance Volume)
  • trader_plus_di — Plus 방향성 지표
  • trader_plus_dm — Plus 방향성 움직임
  • trader_ppo — 백분율 가격 오실레이터
  • trader_roc — 변화율: ((price/prevPrice)-1)*100
  • trader_rocp — 변화율 백분율: (price-prevPrice)/prevPrice
  • trader_rocr — 변화율 비율: (price/prevPrice)
  • trader_rocr100 — 100배율 변화율 비율: (price/prevPrice)*100
  • trader_rsi — 상대강도지수(Relative Strength Index)
  • trader_sar — 포물선 SAR(Parabolic SAR)
  • trader_sarext — 포물선 SAR(확장형)
  • trader_set_compat — 호환 모드 설정
  • trader_set_unstable_period — 불안정 구간 설정
  • trader_sin — 벡터 삼각 Sin
  • trader_sinh — 벡터 삼각 Sinh
  • trader_sma — 단순 이동평균(Simple Moving Average)
  • trader_sqrt — 벡터 제곱근
  • trader_stddev — 표준 편차
  • trader_stoch — 스토캐스틱(Stochastic)
  • trader_stochf — 빠른 스토캐스틱(Fast Stochastic)
  • trader_stochrsi — 스토캐스틱 RSI
  • trader_sub — 벡터 산술 뺄셈
  • trader_sum — 합산
  • trader_t3 — 삼중 지수 이동평균(T3)
  • trader_tan — 벡터 삼각 Tan
  • trader_tanh — 벡터 삼각 Tanh
  • trader_tema — 삼중 지수 이동평균(Triple Exponential Moving Average)
  • trader_trange — 실제 범위(True Range)
  • trader_trima — 삼각 이동평균(Triangular Moving Average)
  • trader_trix — 1일 변화율(ROC)의 삼중 평활 EMA
  • trader_tsf — 시계열 예측(Time Series Forecast)
  • trader_typprice — 대표 가격(Typical Price)
  • trader_ultosc — 궁극 오실레이터(Ultimate Oscillator)
  • trader_var — 분산
  • trader_wclprice — 가중 종가(Weighted Close Price)
  • trader_willr — Williams' %R
  • trader_wma — 가중 이동평균(Weighted Moving Average)

더 알아보기

  • 모든 지표가 항상 같은 결과를 내는 건 아니에요. 시작 데이터 구간과 호환 모드에 따라 달라질 수 있으니 실제로 계산을 구성할 때 조심해서 다뤄야 해요.