Matlab - 数据准备
1. 用tushare数据源
先上代码:
% 演示如何利用tushare 下载中国金融数据
% 获取股票列表的示例
token = 'pro token, 需要的话私信我';
api = pro_api(token);
%df_basic = api.query('stock_basic');
%disp(df_basic(1:10,:));
%获取日线行情数据的示例
df_daily = api.query('daily', 'ts_code', '000001.SZ', 'start_date', '19990101', 'end_date', '');
disp(df_daily(1:10,:));
%获取日内/分钟行情数据的示例
%dd1 = pro_bar('000001.SZ', api, '19990101', '20181031');
%disp(dd1(1:10,:));
%table数据转换timetable后以.mat保存本地
% readtable 命令后table2timetable
% save('文件名字','保存的变量')
2. 用本地databse数据源
%% mongoDB database
server = 'localhost';
port = 27017;
dbname = 'stockDaysDbTuShare';
conn = mongo(server,port,dbname);
collection = '000001.SZ';
documents = find(conn,collection);
documents(1);
3. 用FRED databse数据源
% data rettrieving and preprocessing using Matlab FRED datafeed toolbox
symbol = 'SP500';
endDate = datenum ('Dec-31-2019');
c=fred;
d = fetch(c,symbol, endDate-3652,endDate);
time = datetime(d.Data(:,1),'ConvertFrom','datenum');
prices = d.Data(:,2);
T=timetable(time,prices);
clearvars -except T
save('data1.mat')
% data cleaning,remove missing values
T = rmmissing(T);
% Factor creation, create datetime factors
[T.y,T.m,T.d] = ymd(T.time);
% create day of the week where day 1 of the week is Sunday.
T.dayOfWeek = day(T.time, 'dayofweek');
4. 用Yahoo数据源
自定义函数- getMarketDataViaYahoo:
fu