카테고리
Submission Archivesubmission
코드와 해설을 함께 읽는 학습 문서
Code Detail
Signal Processing + Statistics 중심의 Octave 학습 예제
ex-recv/02/02_pjm/main_02_pjm.m
코드를 복사해 Octave에서 바로 실행할 수 있습니다.
60 lines
%%%%%%%%%% 상단주석
%%
%% 1. Ticker, Price에 대한 Date 계열 데이터 csv를 읽음
%% 2. 평균,모분산,모표준편차,RMS 분석
%%
%% 2025. 03. 26. wed
%% 박준민 선임연구원
clc; clear;
pkg load signal
%% CSV파일 불러오기
filename = 'google_data_2024.csv';
gg_2024 = csv2struct(filename,4,[2 1]); % structure : Output.("Ticker").("Price") = (N,1) array
%% 통계지표 계산 1
stats_custom = statistics_custom(gg_2024.GOOGL.Close); # 1x4 [ avg, var, std, rms ]
%% 통계지표 검증
stats_octave(1) = mean(gg_2024.GOOGL.Close);
stats_octave(2) = var(gg_2024.GOOGL.Close,1);
stats_octave(3) = std(gg_2024.GOOGL.Close,1);
stats_octave(4) = rms(gg_2024.GOOGL.Close);
fprintf('\n Compare Results\n AVG VAR STD RMS\n')
fprintf('% 8.2f % 8.2f % 8.2f % 8.2f --- %s\n',stats_custom,'Custom Fn')
fprintf('% 8.2f % 8.2f % 8.2f % 8.2f --- %s\n',stats_octave,'Octave Fn')
%% 통계지표 계산 2
N_date = length(gg_2024.date);
N_wind = 30;
idx_date_ini = 30;
for idx_date = idx_date_ini:N_date
range_date = idx_date - [0:N_wind-1]; # 입력 순서와 무관한 통계치 도출
GgClose_stats_30d(idx_date,:) = statistics_custom( gg_2024.GOOGL.Close(range_date) );
end
%% 플로팅
LegendNames = {'mean','variance','std.dev.','rms'};
LegendProps = {'location','northwestoutside'};
xLim = [1 N_date-idx_date_ini];
xt_labels = gg_2024.date(idx_date_ini:44:N_date);
figure(1,'position',[300 300 640 480],'defaultaxesfontsize',14)
plot(GgClose_stats_30d(idx_date_ini:end,:),'linewidth',1)
title('Staticstics Properties for 30 market-days')
legend(LegendNames{:},LegendProps{:})
xlabel('Date')
xlim(xLim)
xticks(xLim(1):44:xLim(2))
xticklabels(xt_labels)
ylabel('Statistics Indicators')
grid on
ex-recv/01/01-CJW-20250321/수치미분.m
ex-recv/01/01-CJW-20250321/main_cjw.m
ex-recv/01/01-JKH-20250319/main-my_diff.m
ex-recv/01/01-KSG-20250318/hw_1_kim-gpt.m
ex-recv/01/01-KSG-20250318/hw_1_kim.m
ex-recv/01/01-LSH-20250319/[Octave] HW#1.m
ex-recv/01/01-MJY-20250319/Octave_Moon_250319.m
ex-recv/01/01-PJM-20250319/Octave01_Park,jm_250319.m