matlab同时可以预测多少股票?

matlab同时可以预测多少股票?,第1张

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)

% hObjecthandle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handlesstructure 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)

% hObjecthandle to exit_pushbutton (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handlesstructure 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'))

jingdu=str2num(get(handles.jingdu_edit,'String'))

[PD,ED]=yuce_day(danweishu,jingdu)%调用yuce_day.m函数进行预测

[PW,EW]=yuce_week(danweishu,jingdu)%调用yuce_week.m函数进行预测

(2)股票预测核心函数(yuce_day.m)

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轴,选择散点图类型为带平滑线的散点图。

扩展资料:

一、如果用matlab验证股票的收盘价符合对数正态分布:

比如(以联想V14十代酷睿笔记本电脑,Windows10为例)先导入数据,然后取收盘价的对数值即y=ln(y)

clcclear

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% 对于长期投资形式的股票投资,其投资收益的确认有两种方法:

一种是成本法,即按被投资企业发放的股利确定为投资企业的投资收益。

另一种方法是权益法,指投资企业所投股份在被投资企业中占到一定比例,可以对它具有控制、共同控制或重大影响时,应采用权益法进行核算。

这样:

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


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

原文地址: http://outofmemory.cn/yw/12312496.html

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

发表评论

登录后才能评论

评论列表(0条)

保存