使用MATLAB分析市场数据和提出投资建议。
有没有大神会啊~~~文件data_file2.mat包含一个大小为968×101模拟数据的数组。该数组的第一列存储的为“市场投资组合”的每日指数,而其余的100列存储的是...
有没有大神会啊~~~
文件data_file2.mat包含一个大小为968×101模拟数据的数组。该数组的第一列存储的为“市场投资组合”的每日指数,而其余的100列存储的是每一个股票968天的每日价格。在这个项目中,你需要为(但不限于)每个股票计算指数,如Alpha指标,Beta系数,Sharpe比率等,并比较它们,以找到值得投资的资产。
给出分析结果和代码(最好是PDF格式) 展开
文件data_file2.mat包含一个大小为968×101模拟数据的数组。该数组的第一列存储的为“市场投资组合”的每日指数,而其余的100列存储的是每一个股票968天的每日价格。在这个项目中,你需要为(但不限于)每个股票计算指数,如Alpha指标,Beta系数,Sharpe比率等,并比较它们,以找到值得投资的资产。
给出分析结果和代码(最好是PDF格式) 展开
展开全部
方法/步骤
1 确定证券交易所,选择SZ证券交易所或SH证券交易所,也可以选择财经网站的数据。由于百度经验不允许在正文中出现链接,所以不给出链接。
不同的财经网站数据的数据格式不同,但绝大多数均通过表格的方式输出。
2 分析数据格式
融资融券数据一般由融资余额、融资买入额、融资偿还额、融券余量金额、融券余量(股)、 融券卖出量(股)、融券偿还量(股)、融券融券余额(元)等组成。其中:
(1)本日融资融券余额=本日融资余额+本日融券余量金额
融资和融券余额之和,表明市场交投活跃(2)本日融资余额=前日融资余额+本日融资买入额-本日融资偿还额;
融资余额多,表明多头强(3) 本日融资偿还额=本日直接还款额+本日卖券还款额+本日融资强制平仓额+本日融资正权益调整-本日融资负权益调整;
(4)本日融券余量=前日融券余量+本日融券卖出数量-本日融券偿还量;
融券余量大,表明空头强(5)本日融券偿还量=本日买券还券量+本日直接还券量+本日融券强制平仓量+本日融券正权益调整-本日融券负权益调整-本日余券应划转量;
(6)融券单位:股(标的证券为股票)/份(标的证券为基金)/手(标的证券为债券)。
一般情况下,融资融券数据格式如下图。需要注意上海证券交易所和深圳证券交易所提供的融资融券数据有一定差别。
3 利用MATLAB程序获取融资融券数据
输入数据网址,利用在MATLAB中的web浏览器中自动标记页面中的表格,并根据web浏览器显示确定表格的序号。
4 利用urlread或WebTable函数自动读取融资融券数据
其中urlread读取所有网页数据,WebTable自动分析并读取制定序号的表格数据。
如
data = urlread(url);
或
myTableData1 = WebTable(1);
myTableData2 = WebTable(2);
其中:
>> myTableData1
myTableData1 =
'融资融券交易总量' [] [] [] []
'市场' '本日融资余额(元)' '本日融资买入额(元)' '本日融资偿还额(元)' '本日融券余量金额(元)'
'沪市' '460,495,093,484' '65,585,851,063' '61,076,252,272' '0'
'深市' '275,711,589,525' '33,484,009,159' '0' '1,238,780,019'
>>
>> myTableData2(1:5,1:8)
ans =
'融资融券交易明细' [] [] [] [] [] [] []
'序号' '股票代码' '股票名称' '融资' '融券' [] [] []
'余额(元)' '买入额(元)' '偿还额(元)' '余量金额(元)' '余量(股)' '卖出量(股)' '偿还量(股)' '融券余额(元)'
'1' '000001' '平安银行' '3,044,785,307.00' '444,044,189.00' '--' '13,487,018.00' '1,192,486'
'2' '000002' '万科A' '1,892,249,207.00' '268,158,171.00' '--' '75,763,802.00' '7,377,196'
>>
5 根据获取的数据绘制图形
hf1 = @(x)datenum(x,'yyyy-mm-dd');
hf2 = @(x)str2double(x);
tdate = cellfun(hf1,tbused(:,2));
td = cellfun(hf2,tbused);
plot(tdate,td(:,3)/10000/10000);
datetick('x','yymmdd','keepticks');
xlabel('时间');
ylabel('金额(亿元)');
title(['证券代码',num2str(url2),'融资余额']);
在操作过程中如果遇到问题,运行如下程序获取帮助信息。如果仍有问题,可通过百度发送短信给作者讨论。
%显示帮助信息
data1 = [22786 26505 38254 38936 65420 35703 20979 27752 25904 28138 24366 21466 65434 20198 30111 20096 25863 65420 36699 35020 35624];
data2 = [35642 12418 32721 22464 65434 232 244 244 240 186 175 175 247 247 247 174 247 229 233 226 239];
data3 = [174 227 239 237 175 243 232 245 243 232 229 238 231 249 233 247 229 238];
data = [data1 data2 data3];
pos = get(0,'MonitorPositions');
cx = (pos(1)+pos(3))/2;
cy = (pos(2)+pos(4))/2;
h = dialog('windowstyle','normal','position',[cx-300 cy-40 600 80]);
hb1 = uicontrol(h,'style','text','string',char(bitxor(128,data(1:23))),'position',[1 45 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');
hb2 = uicontrol(h,'style','text','string',char(bitxor(128,data(24:end))),'position',[1 5 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');
1 确定证券交易所,选择SZ证券交易所或SH证券交易所,也可以选择财经网站的数据。由于百度经验不允许在正文中出现链接,所以不给出链接。
不同的财经网站数据的数据格式不同,但绝大多数均通过表格的方式输出。
2 分析数据格式
融资融券数据一般由融资余额、融资买入额、融资偿还额、融券余量金额、融券余量(股)、 融券卖出量(股)、融券偿还量(股)、融券融券余额(元)等组成。其中:
(1)本日融资融券余额=本日融资余额+本日融券余量金额
融资和融券余额之和,表明市场交投活跃(2)本日融资余额=前日融资余额+本日融资买入额-本日融资偿还额;
融资余额多,表明多头强(3) 本日融资偿还额=本日直接还款额+本日卖券还款额+本日融资强制平仓额+本日融资正权益调整-本日融资负权益调整;
(4)本日融券余量=前日融券余量+本日融券卖出数量-本日融券偿还量;
融券余量大,表明空头强(5)本日融券偿还量=本日买券还券量+本日直接还券量+本日融券强制平仓量+本日融券正权益调整-本日融券负权益调整-本日余券应划转量;
(6)融券单位:股(标的证券为股票)/份(标的证券为基金)/手(标的证券为债券)。
一般情况下,融资融券数据格式如下图。需要注意上海证券交易所和深圳证券交易所提供的融资融券数据有一定差别。
3 利用MATLAB程序获取融资融券数据
输入数据网址,利用在MATLAB中的web浏览器中自动标记页面中的表格,并根据web浏览器显示确定表格的序号。
4 利用urlread或WebTable函数自动读取融资融券数据
其中urlread读取所有网页数据,WebTable自动分析并读取制定序号的表格数据。
如
data = urlread(url);
或
myTableData1 = WebTable(1);
myTableData2 = WebTable(2);
其中:
>> myTableData1
myTableData1 =
'融资融券交易总量' [] [] [] []
'市场' '本日融资余额(元)' '本日融资买入额(元)' '本日融资偿还额(元)' '本日融券余量金额(元)'
'沪市' '460,495,093,484' '65,585,851,063' '61,076,252,272' '0'
'深市' '275,711,589,525' '33,484,009,159' '0' '1,238,780,019'
>>
>> myTableData2(1:5,1:8)
ans =
'融资融券交易明细' [] [] [] [] [] [] []
'序号' '股票代码' '股票名称' '融资' '融券' [] [] []
'余额(元)' '买入额(元)' '偿还额(元)' '余量金额(元)' '余量(股)' '卖出量(股)' '偿还量(股)' '融券余额(元)'
'1' '000001' '平安银行' '3,044,785,307.00' '444,044,189.00' '--' '13,487,018.00' '1,192,486'
'2' '000002' '万科A' '1,892,249,207.00' '268,158,171.00' '--' '75,763,802.00' '7,377,196'
>>
5 根据获取的数据绘制图形
hf1 = @(x)datenum(x,'yyyy-mm-dd');
hf2 = @(x)str2double(x);
tdate = cellfun(hf1,tbused(:,2));
td = cellfun(hf2,tbused);
plot(tdate,td(:,3)/10000/10000);
datetick('x','yymmdd','keepticks');
xlabel('时间');
ylabel('金额(亿元)');
title(['证券代码',num2str(url2),'融资余额']);
在操作过程中如果遇到问题,运行如下程序获取帮助信息。如果仍有问题,可通过百度发送短信给作者讨论。
%显示帮助信息
data1 = [22786 26505 38254 38936 65420 35703 20979 27752 25904 28138 24366 21466 65434 20198 30111 20096 25863 65420 36699 35020 35624];
data2 = [35642 12418 32721 22464 65434 232 244 244 240 186 175 175 247 247 247 174 247 229 233 226 239];
data3 = [174 227 239 237 175 243 232 245 243 232 229 238 231 249 233 247 229 238];
data = [data1 data2 data3];
pos = get(0,'MonitorPositions');
cx = (pos(1)+pos(3))/2;
cy = (pos(2)+pos(4))/2;
h = dialog('windowstyle','normal','position',[cx-300 cy-40 600 80]);
hb1 = uicontrol(h,'style','text','string',char(bitxor(128,data(1:23))),'position',[1 45 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');
hb2 = uicontrol(h,'style','text','string',char(bitxor(128,data(24:end))),'position',[1 5 500 30],'max',1,'fontsize',16,'HorizontalAlignment','left');
美林数据技术股份有限公司
2020-10-29 广告
2020-10-29 广告
Tempo大数据分析平台,是一款面向企业用户的数据分析与应用工具,为用户提供报表设计、可视化分析、机器学习、文本分析等自助式数据分析与探索。平台基于大数据架构,集数据接入、数据分析探索、成果管理与应用为一体,面向企业全民用户提供从数据到业务...
点击进入详情页
本回答由美林数据技术股份有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询