hello everyone please can someone help me with stock price prediction. That is I wrote this code and from the I vector , I want a code that will remove indexes from the I vector more than 60 seconds. Thanks
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Afua Amoako Dadey
il 6 Lug 2020
Commentato: Afua Amoako Dadey
il 9 Lug 2020
LSE_matrix =log(nstock_val); %log of the data
I=1:(size(LSE_matrix,1)-1); % selecting the indices of all prices but the last time when stock was opened
dLSE_col1 = LSE_matrix(I+1,1) - LSE_matrix(I,1);% log difference
5 Commenti
Risposta accettata
jonas
il 6 Lug 2020
Modificato: jonas
il 6 Lug 2020
You can adapt this to your needs
A = readtable('LSE1.csv')
t = datetime(A{:,1},'inputformat','dd.MM.yyyy HH:mm:ss.SSS')
data = A{:,2:end};
id = [false;diff(t)>seconds(60)];
data(id,:) = [];
t(id) = [];
If the period between t(n) and t(n+1) is longer than 60s, then the data recorded at t(n+1) is deleted.
6 Commenti
jonas
il 9 Lug 2020
Modificato: jonas
il 9 Lug 2020
I don't understand exactly what the problem is, but I'm not a big fan of how you structure the data. I would put all my .csv files in a separate folder and read them as follows:
addpath('C:\files\') % change this to the correct path
files = dir('C:\files\*.csv'); % again..
for i = 1:numel(files)
opts = detectImportOptions(files(i).name);
opts.VariableTypes{1} = 'datetime';
opts = setvaropts(opts,'GmtTime','inputformat','dd.MM.yyyy HH:mm:ss.SSS');
A{i} = readtimetable(files(i).name,opts);
end
You will end up with 5 tables stored in cell array A. You can then append them to a single table or loop over each tables, no need to work with "Var1, Var2, Var3..."
Più risposte (1)
Vedere anche
Categorie
Scopri di più su Chart Financial Data in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!