Data Frequency Transformation

3 次查看(过去 30 天)
Hi all,
I use a dataset of intraday stock prices at random time intervalas.
Is there any code to transform these data into specific freequency ones with respect to time (i.e. 5-min prices, 60-min prices etc)
Thanks in advance,
Panos

采纳的回答

Dr. Seis
Dr. Seis 2011-12-15
Try interpolation!
doc interp1
Here is an example using "interp1" with the method set to "spline":
T = 60*8; % max time = 480 minutes (= 8 hours)
t = 0:5:T; % uniform time across T every 5 minutes
t_rand = sort(rand(1,T)*T); % irregular time across T at random sample intervals
data = @(t)sin(2*pi*0.03*t) + cos(2*pi*0.1*t) + sin(2*pi*0.05*t) + 2*sin(2*pi*0.005*t) ;
data_interp = interp1(t_rand,data(t_rand),t,'spline');
plot(t,data(t),t_rand,data(t_rand),t,data_interp);
legend('Uniform time','Random time', 'Interp time');

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Price and Analyze Financial Instruments 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by