当前位置:首页 » 价格知识 » 预测股票价格matlab
扩展阅读
私房钱藏在股票账户 2025-01-27 12:09:06
罗莱家纺的股票代码 2025-01-27 09:51:31

预测股票价格matlab

发布时间: 2023-03-26 03:02:49

⑴ 如果用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模拟带跳跃的股票价格 dp(t)=μ(t)dt+σ(t)dWt+k(t)dq(t),Wt为维纳过程,跳跃服从泊松分布

额,应该没人去试。

⑶ 如何用matlab计算期权价格

参考论文
期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。
关键词:Matlab;教学实践
基金项目:国家自然科学基金项目(70971037);教育部人文社科青年项目(12YJCZH128)
中图分类号:F83文献标识码:A
收录日期:2012年4月17日
现代金融学与传统金融学最主要的区别在于其研究由定性分析向定量分析的转变。数理金融学即可认为是现代金融学定量分析分支中最具代表性的一门学科。定量分析必然离不开相应计算软件的应用,Matlab就是一款最为流行的数值计算软件,它将高性能的数值计算和数据图形可视化集成在一起,并提供了大量内置函数,近年来得到了广泛的应用,也为金融定量分析提供了强有力的数学工具。
一、Black-Scholes-Merton期权定价模型
本节先给出B-S-M期权定价模型的简单推导,下节给出B-S-M期权定价模型的Matlab的实现。设股票在时刻t的价格过程S(t)遵循如下的几何Brown运动:
dS(t)=mS(t)dt+sS(t)dW(t)(1)
无风险资产价格R(t)服从如下方程:
dR(t)=rR(t)dt(2)
其中,r,m,s>0为常量,m为股票的期望回报率,s为股票价格波动率,r为无风险资产收益率且有0<r<m;dW(t)是标准Brown运动。由式(1)可得:
lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3)
欧式看涨期权是一种合约,它给予合约持有者以预定的价格(敲定价格)在未来某个确定的时间T(到期日)购买一种资产(标的资产)的权力。在风险中性世界里,标的资产为由式(1)所刻画股票,不付红利的欧式看涨期权到期日的期望价值为:■[max(S(T)-X,0)],其中■表示风险中性条件下的期望值。根据风险中性定价原理,不付红利欧式看涨期权价格c等于将此期望值按无风险利率进行贴现后的现值,即:
c=e-r(T-1)■[max{S(T)-X,0}](4)
在风险悔慎中性世界里,任何资产将只能获得无风险收益率。因此,lnS(T)的分布只要将m换成r即可:
lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5)
由式(3)-(4)可得欧式看涨期权价格:
c=S(t)N(d1)-Xe-r(T-1)N(d2)(6)
这里:
d1=■(7)
d2=■=d1-s■(8)
N(x)为均值为0标准差为1的标准正态分布变量的累积概率分布函数。S(t)为t时刻股票的价格,X为敲定价格,r为无风险利率,T为到期时间。欧式看跌期权也是一种合约,它给予期权持有者以敲定价格X,在到期日卖出标的股票的权力。
下面推导欧式看涨期权c与欧式看跌期权p的联系。考虑两个组合,组合1包括一碧此敬个看涨期权加上Xe-r(T-1)资金,组合2包含一个看跌期权加上一股股票。于是,在到期时两个组合的价值必然都是:
max{X,S(T)}(9)
欧式期权在到期日之前是不允许提前执行的,所以当前两个组合的价值也必相等,于是可得欧式看涨期权与看跌期权之间的平价关系扒简(put-call parity):
c+Xe-r(T-t)=p+S(t)(10)
由式(10)可得,不付红利欧式看跌期权的价格为:
p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11)
二、Black-Scholes-Merton模型的Matlab实现
1、欧式期权价格的计算。由式(6)可知,若各参数具体数值都已知,计算不付红利的欧式看涨期权的价格一般可以分为三个步骤:先算出d1,d2,涉及对数函数;其次计算N(d1),N(d2),需要查正态分布表;最后再代入式(6)及式(11)即可得欧式期权价格,涉及指数函数。不过,欧式期权价格的计算可利用Matlab中专有blsprice函数实现,显然更为简单:
[call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12)
只需要将各参数值直接输入即可,下面给出一个算例:设股票t时刻的价格S(t)=20元,敲定价格X=25,无风险利率r=3%,股票的波动率s=10%,到期期限为T-t=1年,则不付红利的欧式看涨及看跌期权价格计算的Matlab实现过程为:
输入命令为:[call,put]= blsprice(20,25,0.03,0.1,1)
输出结果为:call=1.0083put=5.9334
即购买一份标的股票价格过程满足式(1)的不付红利的欧式看涨和看跌期权价格分别为1.0083元和5.9334元。
2、欧式期权价格的比较静态分析。也许纯粹计算欧式期权价格还可以不利用Matlab软件,不过在授课中,教师要讲解期权价格随个参数的变化规律,只看定价公式无法给学生一个直观的感受,此时可利用Matlab数值计算功能及作图功能就能很方便地展示出期权价格的变动规律。下面笔者基于Matlab展示欧式看涨期权价格随各参数变动规律:
(1)看涨期权价格股票价格变化规律
输入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
c=blsprice(s,x,r,t,v);
plot(s,c,'r-.')
title('图1看涨期权价格股票价格变化规律');
xlabel('股票价格');ylabel('期权价值');grid on
(2)看涨期权价格随时间变化规律
输入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
plot(t,c,'r-.')
title('图2看涨期权价格随时间变化规律');
xlabel('到期时间');ylabel('期权价值');grid on
(3)看涨期权价格随无风险利率变化规律
s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
plot(r,c,'r-.')
title('图3看涨期权价格随无风险利率变化规律');
xlabel('无风险利率');ylabel('期权价值');grid on
(4)看涨期权价格随波动率变化规律
s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
plot(v,c,'r-.')
title('图4看涨期权价格随波动率变化规律');
xlabel('波动率');ylabel('期权价值');grid on
(作者单位:南京审计学院数学与统计学院)

主要参考文献:
[1]罗琰,杨招军,张维.非完备市场欧式期权无差别定价研究[J].湖南大学学报(自科版),2011.9.
[2]罗琰,覃展辉.随机收益流的效用无差别定价[J].重庆工商大学学报(自科版),2011.
[3]邓留宝,李柏年,杨桂元.Matlab与金融模型分析[M].合肥工业大学出版社,2007.

⑷ 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编一个用二叉树来给股票定价的程序

不知道。不知道。不知道。

⑹ 股票问题 用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

你说的低于和高于我理解成小于等于与大于等于了,不对的话在函数最后一行自己改

⑺ 如何通过机器学习算法来预测股票市场的短期波动

预测股票市场短期波动是一项挑战性的任务,而机器学习算法可弯谈以用来处理这个问题。以下是一些在股票市场短期波动预测方面常用的机器学习算法:

1. 线性回归模型:该模型可以用来预测股票价格的变搏禅化趋势。它基于历史数据,通过寻找输入变量与输出变量之间的关系,来预测未来的股票价格。

2. 支持向量机(SVM)模型:该模型可以帮助预测股票市场的崩盘或者反弹时刻。SVM使用一组数学函数,通过分析数据埋银碰点之间的距离关系,来创建一个演化模型。通过使用训练数据,该模型可以准确地预测股票价格的变化。

3. 随机森林模型:基于随机森林的机器学习算法可以用来预测股票市场的未来波动。该算法使用多个决策树,每个决策树作为一个分类器,分析股票市场数据点之间的关系,并为未来的股票市场趋势提供预测。

4. 深度学习网络模型:利用深度学习算法可以透过一些技术手段将股票市场的各项资讯以图像化的形式呈现并分析,以便找到市场变化的模式并做出预测。

总的来说,预测股票市场短期波动是一件复杂的任务,机器学习算法可以为此提供许多有用的工具。通过选择合适的算法,并使用大量的历史数据进行训练,可以帮助投资者更好地预测股票市场的趋势。

⑻ 如何利用统计模型预测股票市场的价格动态

利用统计模型预测股票市场的价格动态是一种常见的方法,以下是一些常见的统计模型:

  • ARIMA模型:ARIMA模型是一种时间序列分析模型,常用于分析股票价格的变化趋势和周期性。ARIMA模型可以捕捉到时间序列的自回归和滞后因素,可以用来预测股票价格的未来变化。

  • GARCH模型:GARCH模型是一种波动率模型,用于预测股票价格的波动率。GARCH模型可以捕捉到股票价格波漏宽动的自回归和滞后因素,用于预测未来的股票价格波动。

  • 回归模型:回归模型是一种广义线性模型,用于预测股票价格与宏观经济因素之间的关系。回归模型可以捕捉到股票价格与利率、通货膨胀等宏观经济变量之间的关系,用于预测未来的股票价格走势。

  • 神经网络模型:神经网络模型是一种非线性模型,常用于预测股票价格的变化趋势。神经网络模型可以学习到股票价格变化的复杂模式,包括非线性关系和噪声。

  • 支持向量机模型:支持向量机模型是一种蚂空机器学习模型,用于预测股票价格的变化趋势。支持向量机模型可闷搜瞎以捕捉到股票价格变化的复杂关系,包括非线性关系和噪声。

  • 在实际应用中,选择合适的统计模型需要考虑多方面因素,如数据的时间跨度、变化趋势、噪声程度、数据采集频率等。同时,在使用统计模型进行预测时,需要注意模型的有效性和可靠性,以避免过度拟合和欠拟合等问题。

⑼ 如何利用matlab对交易策略进行回测

这个很简单啊,我现在就在用matlab做期货量化的回测呢
关键的构成:
一是:形成自己策略的思想和流程图
二是:从TB或者其他软件中导出需要的tick等级别的数据,根据自己的思想和流程图编辑程序,最好多使用function函数句柄,是程序的可适性增强。
三是:绘制图片,plot,mesh或者GUI,来观测自己参数对策略的影响,进而进一步完善策略
四是:多用cell元胞数组,根据TB等回测报告形成自己的测试报告,比如空多盈亏,回撤等等。