① 用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
② bp神经网络股票价格预测的MATLAB编程
P=[];‘输入,开盘价,最高价,最低价,收盘价成交量依次5天的数据’
T=[];’输出,即第二日的收盘’
net=newff(minmax(P),[7,1],{'tansig','logsig'},'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验证股票的收盘价符合对数正态分布
先导入数据,然后取收盘价的对数值即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绘制股票线型的数据问题
从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')
但是当数据不足行时,这样写会同样报错
⑤ 求一个matlab程序,随机游走以100左右为基准的500个数据,图像类似于股票价格曲线
先说清楚概率分布啊,你这个所谓的游走表现为均匀分布还是高斯分布还是其他任何种类的概率分布,方差是多少。如果你只需要一个看的像那么回事的图的话,
a=normrnd(100,5,1,500);
plot(1:500,a);
把5改大点可以让波动幅度变大
⑥ 如何利用matlab对交易策略进行回测
首先你要提出一个自己的策略,一般来说就是一些规则的判断了,然后根据这些规则产生出signal,就是交易信号。 发出了交易信号,就要根据信号进行持仓或者平仓操作。你要建立一个向量记录你每天的资产净值,或者说资产序列,其中的P&L 就是跟你持仓的股票的价格变化来决定的。。。
说白了 就是个模拟
⑦ 如何使用matlab实现Black-Scholes期权定价模型
参考论文 期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用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.