⑴ 如何将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对股票数据做聚类分析
直接调kmeans函数。
k = 3;%类别数
idx = kmeans(X, k);%idx就是每个样本点的标号。
⑶ 用matlab怎么算股票价格的收益率,怎么得出收益率的图~
1、用matlab算股票价格的收益率的方法,比如(以联想V14十代酷睿笔记本电脑,Windows10为例):
在matlab里面通常指令是:log(Xt/Xt-1)。
其中Xt是某股票或某指数第t天的价格;
其中Xt-1是某股票或某指数第t-1天的价格.
2、制作收益率曲线图的步骤如下,比如(以联想V14十代酷睿笔记本电脑,Windows10为例):
1.在A1中输入公式=(行(A1)-1) * 0.25-3。
2.在B1中输入公式=NORMDIST(A1,0,1,0)。
3.下拉并分别将以上两个公式复制到A25和B25。
4.插入“XY _⒌阃",A列为X轴,B列为Y轴,选择散点图类型为带平滑线的散点图。
(3)matlab做股票分析法扩展阅读:
一、如果用matlab验证股票的收盘价符合对数正态分布:
比如(以联想V14十代酷睿笔记本电脑,Windows10为例)先导入数据,然后取收盘价的对数值即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.
表示核平滑密度估计。
二、股票收益率是反映股票收益水平的指标
1、是反映投资者以现行价格购买股票的预期收益水平。它是年现金股利与现行市价之比率。
本期股利收益率=(年现金股利/本期股票价格)*100%
2、股票投资者持有股票的时间有长有短,股票在持有期间获得的收益率为持有期收益率。
持有期收益率=[(出售价格-购买价格)/持有年限+现金股利]/购买价格*100%
3、公司进行拆股必然导致股份增加和股价下降,正是由于拆股后股票价格要进行调整,因而拆股后的持有期收益率也随之发生变化。
拆股后持有期收益率=(调整后的资本所得/持有期限+调整后的现金股利)/调整后的购买价格*100% 对于长期投资形式的股票投资,其投资收益的确认有两种方法:
一种是成本法,即按被投资企业发放的股利确定为投资企业的投资收益。
另一种方法是权益法,指投资企业所投股份在被投资企业中占到一定比例,可以对它具有控制、共同控制或重大影响时,应采用权益法进行核算。
⑷ 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中编写股市macd的计算方法
你的公式太不明确,需要知道太多量才能计算得到要的结果
下面是根据你上面写的模糊的公式编的,有问题可以Hi我。
function [DI,DIF,DEA,BAR,MACD]=stocks(tmaxi,tci,tmini,EMA12_y,EMA26_y,DIF_9,MACD_y)
%需要知道的量
%1.当日最高指数tmaxi
%2.当日收盘指数tci
%3.当日最低指数tmini
%4.昨日的12日EMA:EMA_12
%5.昨日的26日EMA:EMA_26
%6.最近9日的DIF:DIF_9
%7.昨日的MACD:MACD_y
%当然如果给出前面9个或者EMA12,26
%之后的就可以计算了
DI=[tmaxi,tci,tmini*2];
L12=0.1538;
L26=0.0741;
EMA12=L12*tci+11/13*EMA12_y;
EMA26=L26*tci+25/26*EMA26_y;
DIF=EMA12-EMA26;
DEA=sum(DIF_9)/9;
BAR=DIF-DEA;
MACD=DIF-DIF(end)*0.2+MACD_y;
MACD_y=[MACD_y,MACD];
MACD_y(1)=[];
end
⑺ 怎么用matlab绘制股市K线图
K线图(Candlestick Charts)又称蜡烛图、日本线、阴阳线、棒线、红黑线等,常用说法是“K线”。它是以每个分析周期的开盘价、最高价、最低价和收盘价绘制而成。
K线图 是技术分析的一种,最早日本人于十九世纪所创,起源于日本十八世纪德川幕府时代(1603~1867年)的米市交易,用来计算米价每天的涨跌,被当时日本米市的商人用来记录米市的行情与价格波动,包括开市价、收市价、最高价及最低价,阳烛代表当日升市,阴烛代表跌市。这种图表分析法在当时的中国以至整个东南亚地区均尤为流行。由于用这种方法绘制出来的图表形状颇似一根根蜡烛,加上这些蜡烛有黑白之分,因而也叫阴阳线图表。通过K线图,人们能够把每日或某一周期的市况表现完全记录下来,股价经过一段时间的盘档后,在图上即形成一种特殊区域或形态,不同的形态显示出不同意义。可以从这些形态的变化中摸索出一些有规律的东西出来 。K线图形态可分为反转形态、整理形态及缺口和趋向线等。后K线图因其细腻独到的标画方式而被引入到股市及期货市场。股市及期货市场中的K线图的画法包含四个数据,即开盘价、最高价、最低价、收盘价,所有的k线都是围绕这四个数据展开,反映大势的状况和价格信息。如果把每日的K线图放在一张纸上,就能得到日K线图,同样也可画出周K线图、月K线图。
它是以每个分析周期的开盘价、最高价、最低价和收盘价绘制而成。以绘制日k线为例,首先确定开盘和收盘的价格,它们之间的部分画成矩形实体。如果收盘价格高于开盘价格,则k线被称为阳线,用空心的实体表示。反之称为阴线用黑色实体或白色实体表示。很多软件都可以用彩色实体来表示阴线和阳线,在国内股票和期货市场 ,通常用红色表示阳线,绿色表示阴线。(但涉及到欧美股票及外汇市场的投资者应该注意:在这些市场上通常用绿色代表阳线,红色代表阴线,和国内习惯刚好相反。)用较细的线将最高价和最低价分别与实体连接。最高价和实体之间的线被称为上影线,最低价和实体间的线称为下影线。
用同样的方法,如果用一分钟价格数据来绘k线图,就称为一分钟k线。用一个月的数据绘制k线图,就称为月k线图。绘图周期可以根据需要灵活选择,在一些专业的图表软件中还可以看到2分,3分钟等周期的k线。
k线是一种特殊的市场语言,不同的形态有不同的含义。
⑻ 股票问题 用MATLAB做数学建模
%文件vol.m
function f=vol(x);
A = [2.10 2.20 2.30 2.35 2.40];;
Ap = [200 400 500 600 100];
B = [2.00 2.10 2.20 2.30 2.40];
Bp = [800 600 300 300 100];
f = -min(sum(Ap(A <= x)), sum(Bp(B >= x)));
%------------------------------------------
>> [x fval] = fminsearch('vol',2.3)
x =
2.3000
fval =
-400
你说的低于和高于我理解成小于等于与大于等于了,不对的话在函数最后一行自己改
⑼ 用matlab算股票最大值
具体步骤如下。
1打开matlab软件,清空桌面环境
.2.定义一个符号变量。
3定义一个函数:y=t/(1+t*t);再通过以下函数来查看上面的函数图像。
4查看该函数的图像可知,函数在0到2之间有一个极值,本例求解该最大值为例。
5输入以下的指令可以求得该函数最大值;max(subs(y,t,[0:0.00001:2]));其中0.00001是精度,求得最大值为0.5000