Sunday, February 14th, 2010 | Author: salbang

HTS에서 기본적으로 가격 Smoothing을 위해 제공하는 Low-pass(저역 통과) 디지털 필터에는 다음과 같은 3가지가 있다.

  1. 단순 이동 평균, y[n] := \sum_{k=0}^{L-1} \frac{1}{L}x[n-k].
  2. 가중 이동 평균, y[n] := \sum_{k=0}^{L-1}w_k x[n-k], where w_k = \frac{L-k}{\sum_{m = 1}^L m}.
  3. 지수 이동 평균, y[n] := (1-\alpha) y[n-1] + \alpha x[n], where \alpha = \frac{2}{L+1}.

이 글에서는 각 이동 평균 별로 주파수 도메인에서 어떤 특성을 갖고 있는지에 대해서 얘기해 보려 한다.

약간의 신호처리 기본에 대해 얘기하자면 위와 같은 입출력 관계는 다음과 같은 콘볼루션 식으로 나타낼 수 있다.

a*y[n] = b*x[n], where h*x[n] := \sum_{k = -\infty}^{\infty} h[k]\times x[n-k].

그리고 위와 같은 LTI(Linear Time Invariant) 시스템의 z 도메인에서의 응답(Response) H(z) := \frac{Y(z)}{X(z)}은 다음과 같다.

H(z) = \frac{\sum_{k=-\infty}^{\infty} b_k z^{-k}}{\sum_{k=-\infty}^{\infty} a_k z^{-k}}.

이 시스템의 주파수 응답은 H(e^{j\omega}), where j = \sqrt{-1}로 정의 된다. 이 주파수 응답의 의미는 위 시스템(T)에 복소 주기 수열(고유 벡터) x[n] := e^{j\omega n}이 입력으로 인가됐을 때의 출력에 대한 고유값(T\{e^{j\omega n}\} = H(e^{j\omega})e^{j\omega n}을 의미한다.

이제 각 이동 평균 별로 주파수 응답에 대해서 보자. Magnitude Response (진폭 응답?), |H(e^{j\omega})|을 보도록 하겠다. L = 4를 사용하도록 하겠다. -6 dB에 빨간 직선을 그은 것은 그 지점이 진폭이 반(20\log_{10}0.5 \approx -6)이 되는 지점으로 여길 기준으로 주파수가 Cut-off 되는 것으로 판단한다.

먼저 단순이동평균 : y[n] = \frac{1}{4}x[n] +\frac{1}{4}x[n-1] + \frac{1}{4}x[n-2] + \frac{1}{4}x[n-3].

단순 이동 평균의 진폭 및 위상 응답

x축은 Normalized Frequency라고 해서 Radian값을 \pi로 나눈 값이다. 각주파수로 생각하면 되는데 1이 의미하는 바는 \pi 즉 반주기(2\pi/2)인데 이는 Nyquist frequency 때문에 차트 상에서 2개의 Bar를 의미한다고 보면 된다. 위 그림에서 보면 알겠지만 0.5와 1에서 진폭 응답이 0(-\inftydB)임을 볼 수 있다. 즉 단순 이동평균은 4개 Bar(1/0.5 \times 2) 및 2개 Bar(1/1 \times 2)의 주기를 갖는 데이터는 완전히 날려 버리는 성질을 갖고 있다. 물론 이 필터를 사용하는 목적은 Low pass, 즉 낮은 주파수의 데이터를 통과시키는 것이기는 하지만 4일 이동 평균에서 2일 및 4일 주기의 정보를 완전히 날려버리는 것은 의도하지는 않았을 것이다. Cut-off 주기는 대략 봤을 때 0.3 \pi radian, 즉 1/0.3*2= 6.67 Bars 정도 되는 것을 알 수 있다.

다음으로 가중 이동평균 y[n] = \frac{4}{10}x[n] +\frac{3}{10}x[n-1] + \frac{2}{10}x[n-2] + \frac{1}{10}x[n-3]의 주파수 응답을 보자.

가중이동평균의 진폭 및 위상 응답

다행이 이 필터는 4 Bars 및 2 Bars의 주기를 갖는 정보를 완전히 날려버리지는 않는 것을 볼 수 있다. Cut-off 주기는 약 0.35 \pi radian, 즉 5.71 Bars 정도 되는 것을 알 수 있다.

이번에는 지수 이동 평균 y[n] = 0.6y[n-1] + 0.4x[n] (\alpha = 2/(4+1) = 0.4)을 보도록 하자.

지수이동평균의 진폭 및 위상 응답

전체적으로 가중이동평균과 비슷한 모습을 보이나 가중 이동평균과 같은 출렁임은 없다. Cut-off 주기는 약 0.29 \pi radian, 즉 6.9 Bars 정도 되는 것을 알 수 있다. 가중이동평균에 비교하면 주파수를 좀 일찍부터 자르는 경향이 있는 것을 볼 수 있다.

각 이동평균별로 다른 주파수 응답 특성을 보이는데 어떤 디지털필터를 사용할지 판단하는데 위와 같은 분석이 도움이 되었으면 한다.

각 이동 평균들이 얼마나 빠르게 시세를 따라가는지를 보려면 위상응답을 분석해야 하는데 이는 다음에 얘기하도록 하겠다.

위 그림을 그리기 위해 사용한 매틀랩 코드는 다음과 같다.

L = 4;
% Simple Moving Average
b1 = ones(L, 1)/L;
figure;
freqz(b1);
hold on
plot(0:0.01:1, -6*ones(size(0:0.01:1)), ‘r’);

% Weighted Moving Average
b2 = (L:-1:1)/sum(L:-1:1);
figure;
freqz(b2);
hold on
plot(0:0.01:1, -6*ones(size(0:0.01:1)), ‘r’);

% Exponentially Weighted Moving Average
alpha = 2/(L+1);
b3 = [alpha];
a3 = [1, -(1-alpha)];
figure;
freqz(b3, a3);
hold on;
plot(0:0.01:1, -6*ones(size(0:0.01:1)), ‘r’);

Friday, January 01st, 2010 | Author: salbang

Genealogy

궁금해서 한번 내 학계 족보를 정리해봤다. ^^

http://genealogy.math.ndsu.nodak.edu/

Genealogy

아마 이쪽 계통 박사들이 다 비슷할 것 같다. 올라가 보면 교과서에나 보던 분들이 나오신다. ^^

Category: 잡설  | Tags: ,  | Leave a Comment
Friday, January 01st, 2010 | Author: salbang

Exponential Moving Average and Electric Circuit

주식 트레이딩을 하면서 가장 많이 보는 지표중에 하나는 이동평균이다. 대부분의 HTS의 경우 차트를 띄우면 기본적으로 단순 이동평균 라인을 캔들차트와 함께 그려준다. 이번 글에서는 단순 이동평균에 대한 얘기는 아니지만 그 친구인 지수 이동평균에 대해 얘기하려고 한다. 이 지수 이동평균이 Electric Circuit과 어떻게 연결되는지에 대해 써보려고 한다.

우선 가장 간단한 회로 중 하나인 RC 회로를 한번 보자.

RC Circuit

RC Circuit-Low pass filter

Voltage Source를 x(t)라 하고 출력 전위차를 y(t)라고 하면, 전류 i(t)는 다음과 같다.
i(t) = C \frac{dy}{dt}.
따라서 옴의 법칙을 이용하면 다음과 같은 식을 얻게 된다.
x(t) = Ri(t) + y(t).
전류를 위에 있는 식으로 대체하면 다음과 같은 미분 방정식을 얻게 된다.
x(t) = RC\frac{dy}{dt} + y(t).

그럼 소스 x(t)를 Discrete signal로 분석하면 어떻게 될까? 이렇게 해보자. 샘플링 주기를 T라고 하고 샘플링 신호를 x[n] := x(nT)라고 정의하자. 출력 신호는 y[n]이라고 하자. 그럼 위 식을 다음과 같이 Discretize할 수 있다.

x[n] = RC\frac{y[n] - y[n-1]}{nT - (n-1)T} + y[n].

이를 정리하면

y[n] = \frac{RC}{RC+T}y[n-1] + \frac{T}{RC+T}x[n].

여기서 \lambda := \frac{T}{RC+T}라고 정의 하면 위 식은 우리도 잘 아는 다음과 같은 EWMA(Exponentially Weighted Moving Average)의 식이 된다.

y[n] = (1-\lambda)y[n-1] + \lambda x[n].

즉 EWMA는 저 전기회로와 같은 Low pass filter의 역할을 이산 신호에 대해서 하는 것이다.

Category: 통계차익거래  | Tags:  | Leave a Comment