❶ matlab如何读取股票数据
matlab如何读取股票数据
该框架可为许多模型和优化方法产生具体的训练方法。本文中,生成模型通过一个多层感知机传递随机噪声,且判别模型也是一个多层感知机。
这个特例称为对抗的网络。这里,仅用反向传播和 Dropout 来训练模型,生成模型通过前向传播来生成样本。不需要近似推理和 Markov 链。
❷ MATLAB 如何导入股票数据,并画出K线
需要几个关键步骤 (函数应用需要自己多用help 学习)
1自己先下载原始数据格式 时间 开 高 低 收
1 读取数据 xlsread 函数
[num,txt,raw]=xlsread(filename); % ‘000001.xls'
Date=datenum(txt(5:length(txt),1)); %时间
OpenPrice=num(:,1); %开盘
HighPrice=num(:,2); %收盘
LowPrice=num(:,3);
ClosePrice=num(:,4);
Vol=num(:,5); %成交量
save Data Date OpenPrice HighPrice LowPrice ClosePrice Vol; %存储mat文件 方便下次使用
candle(HighPrice,LowPrice,ClosePrice,OpenPrice,'r',Date,12)%高 低 收 开 红色 时间 时间格式
❸ matlab 如何从wind中获取股票数据 收盘 开盘 最高 最低 交易量
所有的股市及时数据信息都在交易所或证监会,他们不开放数据给自己,自己是无法获取的。
收市价又称收盘价,通常指某种证券在证券交易所每个交易日里的最后一笔买卖成交价格。如果某种证券当日没有成交,则采用Recently一成交价作为收盘价。初次上市的证券,以其上市前公开销售的平均价格作为收盘价。如果证券交易所每日开前、后两市,则会出现前市收盘价和后市收盘价,一般来说,证券交易所后市收盘价为当日收盘价。在我国深圳证券交易所和上海证券交易所,股票收市价的确定有所不同,深圳证券交易所股票收市价是以每个交易日最后一分钟内的所有成交加权平均计算得出的,而上海证券交易所则以最后一笔成交价格作为收盘价。
开盘价又称开市价,是指某种证券在证券交易所每个交易日开市后的第一笔每股买卖成交价格。世界上大多数证券交易所都采用成交额最大原则来确定开盘价。
如果开市后一段时间内(通常为半小时)某种证券没有买卖或没有成交,则取前一日的收盘价作为当日证券的开盘价。如果某证券连续数日未成交,则由证券交易所的场内中介经纪人根据客户对该证券买卖委托的价格走势提出指导价,促使成交后作为该证券的开盘价。在无形化交易市场中,如果某种证券连续数日未成交,以前一日的收盘价作为它的开盘价。
股市成交量为股票买卖双方达成交易的数量,是单边的,例如,某只股票成交量为十万股,这是表示以买卖双方意愿达成的,在计算时成交量是十万股,即:买方买进了十万股,同时卖方卖出十万股。而计算交易量则双边计算,例如买方十万股加卖方十万股,计为二十万股。股市成交量反映成交的数量多少。一般可用成交股数和成交金额两项指标来衡量。目前深沪股市两项指标均能显示出来。
❹ MATLAB怎样获取实时股市行情数据
需要专门的金融实时行情API接口接入,例如wstock的API接口。
MATLAB是支持HTTP 、TCP 等网络协议的,通过专门的金融实时行情API接口,可接入实时行情到其中。
你可搜一下。
❺ 如何将EXCEL的股票数据导入到matlab软件中进行分析
望高手支招!
不一定要拷贝到data文件中啊,你使用xlsread时指定excel绝对路径就可以了嘛
二如果只是几个很大的矩阵数据,你直接在matlab中定义矩阵,再复制粘贴得了
定义矩阵就先定义个空的呗比如一维:a=zeros(1,n);%%这是1xn的二维:a=zeros(n)
%%这是nxn的
然后在workspace窗口打开这个空矩阵,把excel中的数直接复制过来就行了xlsread(),但是对excel表要求还挺高的,比如有次我就导入失败,是因为名字虽然是.xls,但是实际是
文本文件(制表符分隔)(*.txt)
格式的,所以你注意一下,对照matlab帮助,一般不会有问题如何把excel中的文本格式的数字转化成数值格式在一个空单元格输入1,并复制它选中要转化成数值的单元格区域
右击-选择性粘贴-乘补充回答:这样操作以后,仍不能转换数值,说明你原来的数据格式有问题,提示你检查以下几项:1、数据内是否存在空格,(可以通过查找替换,将空格替换掉)
2、数据内是否存在非法字符!清除后,就可以运算了有的时候还需要:把修改过的区域再进一步修改,全选中,然后“单元格格式”,把单元格格式由“常规”改为“数值”!!!
❻ matlab同时可以预测多少股票
matlab同时可以预测多少股票
可以同时预测3支股票
(1)根据评价指标集, 确定BP 网络中输入节点的个数, 即为指标个数;
(2)确定BP 网络的层数, 一般采用具有一个输入层, 一个隐含层和一个输出层的三层网络模型结构; 明确评价结果, 输出层的节点数为1;
(3)对指标值进行标准化处理, 然后作为训练样本和检验样本;
(4)网络状态初始化, 对连接权值wij 和阈值θj赋予( 0, 1)之间的随机数;
(5)输入样本, 从前往后计算各层神经元输出yj ;
(6)对输出层计算权值误差E;
(7)从后往前计算各隐层的权值误差δ'j =f '(netj)·l !δlvlj ;
(8)计算并保存各权值修正4量Δwij(n)=- ηδjxi+αΔwij(n- 1);
(9)修正权值wij(n+1)=wij(n)+Δwij(n);
(10)输入另外一样本, 转到步骤⑤ , 直到网络收敛且输出误差小于允许值。
二、具体原理应用
(1) 网络层数和ANN 输入结点的确定
通常,我们取三层网络模型。输入层起缓冲存储器的作用,它接受外部的输入数据, 因此节点数取决于输入矢量的维数。股价走势呈波浪形式展开, 具有周期性。技术分析中, 分析周期的选择是否恰当, 对预测结果有直接影响。由于时间、任务量及便于选择等原因, 这里选择为1日, 即date=1。
(2) 数据的预处理
数据预处理是将从股市得到的数据转化为能被ANN 识别的输入数据。设ANN 从n日开始预测股价涨跌, 股票最近已成交的原始数据序列{x' (t)},{x(t)}为处理后输入ANN 的数据序列, 作如下处理
x' =date- 1i = 0 !x' (n- 1)date, x(t)= x' (t)- x'x'+0.5。
(3)隐层的节点数
一般认为, 隐层节点数与求解问题的要求\ 输入输出单元数多少都有直接的关系。对于BP 网络, 参照前人经验, 可以参照以下公式进行设计:n="ni +n0 +a。
式中n 为隐层节点数; ni 为输入节点数; n0 为输出节点数;a 为1- 10 之间的常数。
(4) 输出结点定义
人工神经网络输出结点数为1, 取股价变化趋势的阈值a=0 选的一段时间涨跌的平均值; 预测步长k=1。输出结点Y(t)
定义如下: Y(t)=0 时, 预测股价在t+1 开始的单日涨幅或跌幅不超过a, 即预计处于下跌趋势; Y(t)=1 时预计股价在t+1 开始的单日内处于上涨趋势, 上升幅度累计超过a。
(5) 网络的其它参数确定
隐层结点数为6, 结点作用函数为S 函数, 即f(s)= 11+e- s;学习系数为0.7。学习时要求输出误差d≤0.1。预测时输出层的输出大于0.5 判为1; 小于或等于0.5 判为0。
三、程序解析
1、进入窗口程序窗口看
(1)“点击进入”按钮
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
yucexianchang;
set(gupiaoyuce,'Visible','off');
(2)“退出”按钮
% --- Executes on button press in exit_pushbutton.
function exit_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to exit_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
Close;
2、股票预测窗口
模拟功能:
模拟
绘图
(1)“模拟”按钮CallBack函数
% --- Executes on button press in moni_pushbutton.
function moni_pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to moni_pushbutton (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global PD ED PW EW; %全局变量
danwei=get(handles.danwei_popupmenu,'Value');
xiangmu=get(handles.xiangmu_popupmenu,'Value');
danweishu=str2num(get(handles.danweishu_edit,'String'));
jing=str2num(get(handles.jing_edit,'String'));
[PD,ED]=yuce_day(danweishu,jing);%调用yuce_day.m函数进行预测
[PW,EW]=yuce_week(danweishu,jing);%调用yuce_week.m函数进行预测
(2)股票预测核心函数(yuce_day.m)
❼ 如何用MATLAB对股票数据做聚类分析
直接调kmeans函数。
k = 3;%类别数
idx = kmeans(X, k);%idx就是每个样本点的标号。
❽ 如果用matlab验证股票的收盘价符合对数正态分布
先导入数据,然后取收盘价的对数值即y=ln(y)
clc;clear
y=ln(y)
Std=std(y) %标准差
[F,XI]=ksdensity(y)
figure(1)
plot(XI,F,'o-')
x =randn(300000,1);
figure(2)
[f,xi] = ksdensity(x);
plot(xi,f);
画出概率分布图
ksdensity -------------------- Kernel smoothing density estimation.
表示核平滑密度估计
❾ 关于利用matlab绘制股票线型的数据问题
从bggf.mat 读得的bggf数据看上去有4列
看你用highlow 函数的调用方式,这四列应该是
开市价 最高价 最低价 收市价
而r是用size获得的数据的行数
之所以报错就是bggf(r-100:r,2)取下标的时候错了
r是数据的行数,肯定是个正整数没错,错就错在r-100
你文件里面的数据如果不足100行,那么r-100就会出现负数
数据正好是100行,那么r-100就会等于0
在matlab里面,下标是从1开始的正整数,所以发生以上情况就会错
如果你的数据是刚刚好100行的,那么完全不用这么麻烦,直接用:代替就可以了
highlow(bggf(:,2),bggf(:,3),bggf(:,4),bggf(:,1),'r')
但是这样写无论是数据有多少行,图都会照画,不足100行,超过100行照单全收
如果你的数据有超过100行,你只想取最后的100行,你应该减99而不是100
highlow(bggf(r-99:r,2),bggf(r-99:r,3),bggf(r-99:r,4),bggf(r-9:r,1),'r')
但是当数据不足行时,这样写会同样报错
❿ matlab怎样抓取Yahoo/Sina的股票数据
给你一个例程,用于抓取新浪股票2017年1月份的股票数据。程序如下:
clc;
clear;
year=2017;
season = 1 ;
fprintf('抓取%d年%d季度的数据中...\n', year, season)
[sourcefile, status] = urlread(sprintf('http://vip.stock.finance.sina.com.cn/corp/go.php/vMS_MarketHistory/stockid/000001/type/S.phtml?year=%d&season=%d', year));
expr2 = '<div align="center">(\d*\.?\d*)</div>';
[datafile, data_tokens] = regexp(sourcefile, expr2, 'match', 'tokens'); %从源文件中获取目标数据
data = zeros(size(data_tokens));%产生和数据相同长度的0
for idx = 1:length(data_tokens)
data(idx) = str2double(data_tokens{idx}{1}); %转变数据类型后存入data中
end
%%占坑打个广告,代写matlab程序(毕业设计,课程任务等)
%%信号处理,小波变换,PCA降维,ICA分析,分类器,滤波器等。QQ:1577232787