MATLAB 如何导入股票数据,并画出K线

MATLAB 如何导入股票数据,并画出K线,第1张

需要几个关键逗散步骤 (函数应用需要自己多用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)%高 低 收 开 红色 时间 时间格式

1.

mat数据格式是matlab的脊慎数据存储的标准格式。

你可以调用matlab的子程序库,用c或fortan调用mat格式的数据。

我给你几个函数名

matopen 打开mat文件

matclose 关闭mat文件

magetfp 取得mat文件的c语言句柄

matGetArray 取得一个数组

具体内容看联机文档

2.

mat1

KK: []

DJ: []

n.[C]

1. 地席草席

He spread a mat on the floor.

他在地板上铺上一张席子。

2. 擦鞋垫

She hid the key under the door mat.

她将钥匙藏在擦鞋垫下。

3. (放花瓶,盘子等的)垫子

We put each dish on a place mat.

我们把每个盘子放在餐具垫上。

4. (体 *** ,摔跤用的)垫子

5. 丛,簇,团[(+of)]

He lay hidden by a mat of creepers.

他躲在一簇攀缘植物后面。

vt.

1. 给...铺上席子(或垫子)

The room is matted.

这房间地上铺着草垫。

2. 使缠结

The swimmer's wet hair was matted together.

那游泳者的湿头发乱糟糟结成一团。

vi.

1. 缠结

The fur collar mats when it gets wet.

毛皮领子弄湿了就会袜野指缠结起来。

mat2

KK: []

DJ: []

a.

1. 无光泽的,暗淡的

2. 表面粗糙的,不光滑的

n.

1. 无告配光表面

2. 无光毛面加工器

mat3

KK: []

DJ: []

n.

1. (画或照片的)衬边,框边[C]

vt.

1. 给(画或照片)配衬边(或框边)

从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')

但是当数据不足行时,这样写会同样报错


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12316747.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存