① matlab可以直接获取国内股票或者期货的历史数据吗
matlab可以直接获取国内股票或者期货的历史数据吗
:有个wdz程序,可免费输出txt、csv格式的沪深等市场的全部历史日线、10多年的5分钟数据。你可先用你这个程序,免费输出txt格式的对应数据,然后在matlab中读取即可。
② 怎么用matlab编程把股票交易的分笔数据处理成1分钟数据
P=[];‘输入,开盘价,最高价,最低价,收盘价成交量依次5天的数据’
T=[];’输出,即第二日的收盘’
net=newff(minmax(P),[7,1],,'traingdx');
net.trainParam.epochs=1000; ‘最大训练次数,根据需要可自行调节’
net.trainParam.goal=0.01; ‘误差’
net.trainParam.lr=0.01; ‘学习率’
net=train(net,P,T); ‘训练网络’
test=[];‘待预测数据输入’
out=sim(net,test); ‘仿真预测’
我的这个程序没有进行初始化,你还需要先将数据进行初始化后才能算。
③ 用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怎样抓取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
⑤ 如何用MATLAB获取股票数据
该框架可为许多模型和优化方法产生具体的训练方法。本文中,生成模型通过一个多层感知机传递随机噪声,且判别模型也是一个多层感知机。
这个特例称为对抗的网络。这里,仅用反向传播和 Dropout 来训练模型,生成模型通过前向传播来生成样本。不需要近似推理和 Markov 链。
⑥ 如何在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如何读取股票数据
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将股票历史行情的txt转换成金融时间序列数据
运用ascii2fts。
比如下面这个txt文档:
我想把它转化成金融时间序列的数据:
用fts=ascii2fts('文档名称.txt',作为标题的是txt中的第几行,作为金融时间序列的抬头的是txt中的第几行,忽略的行);
⑩ 关于利用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')
但是当数据不足行时,这样写会同样报错