1. 使用MATLAB分析市场数据和提出投资建议。
方法/步骤
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');
2. 给出一组数据,如何用MATLAB去预测将来的数据。
这样:
x=[1 3 5 6 8 9 10 11 12 14 15 17 19 21 23 25];
y=[10 20 42 60 73 79 80 78 73 64 56 71 51 42 41 40];
plot(x,y,'ro');
p=polyfit(x,y,4);%于是拟合出的曲线就是p(1)x^4+p(2)x^3+p(3)x^2+p(4)x+p(5),想拟合成其它次数的多项式只需将4改为相应的次数即可
f=poly2sym(p);
xinterp=[2 4 7 13 16 18 20 22 24];
yinterp=subs(f,xinterp);
hold on;
plot(xinterp,yinterp,'o');
ezplot(f,[0,30])
扩展资料:注意事项
函数命令为:
a=polyfit(x,y,m) % x,y为对应的自变量,m为需要拟合的最高次幂
y=polyval(a,x); %根据拟合的函数得出x对应的因变量的值
函数表达形式为:f(x)=a1*x^m+...+am*x+a_m+1
polyfit(x,y,n)其中:x, y为已知数据点向量, 分别表示横、纵坐标,n为拟合多项式的次数, 结果返回m次拟合多项式系数, 从高次到低次存放在向量p中.参数p为拟合多项式 y=a1x^n+...+anx+a,共n+1个系数。
示例:
%多项式拟合
x = (0: 0.1: 7)';
y = sin(x);
p = polyfit(x,y,3) %p为拟合后的多项式系数
z=polyval(p,x);
plot(x,y,'r',x,z,'b')
其中p为拟合后的多项式系数,运行结果为:
p =0.0736 -0.7095 1.5250 -0.0296
3. MATLAB数据拟合处理大量数据的实例分析
给你用一个一元情况的吧;
>>x=-1:0.2:1;
>>y=[0.841470984807897 -0.717356090899523 -0.564642473395035 -0.3894183423086...
-0.198669330795061 0 0.198669330795061 0.38941834230865 0.564642473395035 ... 0.717356090899523 0.841470984807897];
如果要你想拟合成一个2次多元函数
命令为
>>p=polyfit(x,y,2)
就可以得到拟合多项式的系数。
还可以通过做出原图和拟合后的效果图,见图1,就可以比较拟合效果,命令如下:
>>fval=polyval(p,x);
>>plot(x,fval),hold on
>>plot(x,y),hold off
当然还有一个更为实用的方法,就是直接的应用命令polytool;
>>polytool(x,y,n)
n是你想最高次拟合为多少,如果是5,就输入>>polytool(x,y,5)
得到的是一个含有偏差的拟合效果图,其中图形中的degree代表可以改变拟合次数。见图2
4. matlab 基本数据分析函数
Descriptive Statistics.
bootstrp - Bootstrap statistics for any function.
corrcoef - Correlation coefficient.
cov - Covariance
crosstab - Cross tabulation.
geomean - Geometric mean.
grpstats - Summary statistics by group.
harmmean - Harmonic mean.
iqr - Interquartile range.
kurtosis - Kurtosis.
mad - Median Absolute Deviation.
mean - Sample average (in matlab toolbox).
median - 50th percentile of a sample.
moment - Moments of a sample.
nanmax - Maximum ignoring NaNs.
nanmean - Mean ignoring NaNs.
nanmedian - Median ignoring NaNs.
nanmin - Minimum ignoring NaNs.
nanstd - Standard deviation ignoring NaNs.
nansum - Sum ignoring NaNs.
prctile - Percentiles.
range - Range.
skewness - Skewness.
std - Standard deviation ((in matlab toolbox).
tabulate - Frequency table.
trimmean - Trimmed mean.
var - Variance (in matlab toolbox).
matlab里大部分函数只支持双精度
5. matlab做量化投资分析,怎么学
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
温馨提示:以上解释仅供参考。
应答时间:2021-10-09,最新业务变化请以平安银行官网公布为准。
[平安银行我知道]想要知道更多?快来看“平安银行我知道”吧~
https://b.pingan.com.cn/paim/iknow/index.html
6. 怎么在matlab将几千万组的数据绘图分析
data=xlsread('LHMHZ.xls'); %% matlab读取Excel中的数据,并赋值给 data 数组
x=data(:,1); %单元格A的x数据
y=data(:,2); %单元格B的y数据
plot(x,y,'r-') %绘出图像
网页链接
7. 怎么对一组采集到的数据在MATLAB上做频谱分析?
问题不大。改成如下
fs=25000;
n=1000;
t=0:1/fs:0.03996;
base=importdata('A.TXT');
y1=fft(base(:,2));
y2=fftshift(y1);
f=(0:n-1)*fs/n-fs/2;
figure(1)
plot(t,base(:,2),'r');%原始采样图
figure(2)
plot(f,abs(y2),'b');%频谱图
axis([0,10000,0,500000]);
8. 请问各类数据统计分析和编程语言:Access, VBA, SQL, Python, SAS, Matlab, etc. 这些有什么区别和联系?
首先你得对他们进行分类:
数据库:Access、SQL、Oracle
数据分析类型:SAS、Matlab、Python、VBA
流行编程软件:Python
其中作为数据库现在以Oracle和SQL最流行,仅仅是管理数据库而已
数据分析最老的是SAS,拥有大多的库和包
Matlab相当于一个大型的计算器,对于计算非常简单,也具备编程的效果,但是运行过慢
Python是现在主流的编程软件之一,属于综合型软件,数据分析、建站等都可以
VBA是VB衍生出来的软件,excel自带,具有VB的一些特性,实行软件化非常简单,同时也继承了运行速度慢的基因
不知道你要走哪一行,所以不知道你会用到哪一些