moving_statistics
Statistics + Performance 중심의 Octave 학습 예제
ex-recv/02/02_rjw/moving_statistics.m
함수 시그니처
function [moving_mean, moving_var, moving_std, moving_rms] = moving_statistics(data, window_size) 전체 코드
전체 코드를 복사해서 Octave에서 바로 실행할 수 있습니다.
%30일 이동 평균 계산 함수
function [moving_mean, moving_var, moving_std, moving_rms] = moving_statistics(data, window_size) %입력: data(종가), window_size(30일)
n = length(data);
n_window = n - window_size + 1; %출력: moving_mean, moving_var, moving_std, moving_rms
moving_mean = zeros(n_window, 1);
moving_var = zeros(n_window, 1);
moving_std = zeros(n_window, 1);
moving_rms = zeros(n_window, 1);
for i = 1:(n_window)
window_data = data(i:i + window_size - 1); % 30일 데이터 슬라이싱
moving_mean(i) = mean(window_data);
moving_var(i) = var(window_data);
moving_std(i) = std(window_data);
moving_rms(i) = sqrt(mean(window_data.^2));
end
end
코드 해설
목적
Statistics + Performance 중심의 Octave 학습 예제
입력
- 파라미터: data
- 파라미터: window_size
출력
- 반환값: moving_mean
- 반환값: moving_var
- 반환값: moving_std
- 반환값: moving_rms
실행 흐름
- 코드 상단부터 순차 실행
핵심 함수/주제
zerosdatameanlengthmoving_meanmoving_rmsmoving_stdmoving_var
실습 과제
- 같은 연산을 내장 함수와 사용자 함수 두 방식으로 계산해 오차를 비교해보세요.
- 핵심 함수 zeros의 인자를 한 가지 바꿔 결과 변화를 기록해보세요.
학습 팁
같은 카테고리의 다른 코드
- 수치미분
ex-recv/01/01-CJW-20250321/수치미분.m - main_cjw
ex-recv/01/01-CJW-20250321/main_cjw.m - main-my_diff
ex-recv/01/01-JKH-20250319/main-my_diff.m - hw_1_kim-gpt
ex-recv/01/01-KSG-20250318/hw_1_kim-gpt.m - hw_1_kim
ex-recv/01/01-KSG-20250318/hw_1_kim.m - [Octave] HW#1
ex-recv/01/01-LSH-20250319/[Octave] HW#1.m - Octave_Moon_250319
ex-recv/01/01-MJY-20250319/Octave_Moon_250319.m - Octave01_Park,jm_250319
ex-recv/01/01-PJM-20250319/Octave01_Park,jm_250319.m - [Octave]250318_RYU_poly,dff
ex-recv/01/01-RJW-20250321/[Octave]250318_RYU_poly,dff.m - 과제1_신찬영연구원
ex-recv/01/01-SCY-20250319/과제1_신찬영연구원.m