【Matlab10】MapReduce、期权、时间序列



2015年09月16日    Author:Guofei

文章归类: Matlab    文章编号: 11005

版权声明:本文作者是郭飞。转载随意,但需要标明原文链接,并通知本人
原文链接:https://www.guofei.site/2015/09/16/matlab10.html


7.1 MapReduce

ds = datastore('airlinesmall.csv','TreatAsMissing','NA');

ds.SelectedVariableNames = 'ArrDelay';%只选择ArrDelay列

read(ds)
readall(ds)
preview(ds)%预览

function maxArrivalDelayMapper (data, info, intermKVStore)
partMax = max(data.ArrDelay);
add(intermKVStore, 'PartialMaxArrivalDelay',partMax);

function maxArrivalDelayReducer(intermKey, intermValIter, outKVStore)
maxVal = -inf;
while hasnext(intermValIter)
   maxVal = max(getnext(intermValIter), maxVal);
end
add(outKVStore,'MaxArrivalDelay',maxVal);

7.2 期权

[Call,Put]=blsprice(s,k,r,t,sigma,0)
[CallTheta,putTheta]=blstheta
Vega=blsvega
[CallRho, putRho]=blsrho
Gamma=blsgamma


blsimpv(price,strike,rate,time,value,limit,yield,tolerance,class)%欧式隐含波动率
(标的物价格,执行价格,利率,年时间,期权费)
blkimpv%期货期权隐含波动率
期货套保的有效性=1-套保后的方差/不套保的方差

k=NAP(0.08,r);

7.3 时间序列

[h,p_value,tstat]=adftest(b)

h=0表示不平稳
概率值p_value>0.05表示不平稳
tstat是检验值

7.4 常用工具箱

最优:optimization
统计:statistics
偏微分方程:partial differential equation

金融:financial
金融衍生:financial derivation
固定收益:fixed-income

信号处理:signal processing
小波分析:wavelet
滤波

控制系统:control system
系统辨法:wavelet
鲁棒控制:robust control

符号数学:Symbolic
神经网络Neural network

数字图像处理

simulink

7.5 通用命令

调用顺序:
①变量。调用优先级最高。MATLAB搜索工作空间是否存在同名变量,如有则停止搜索。②子函数。③私有函数。④类构造函数。⑤重载方法。⑥当前目录中的同名函数。⑦搜索路径中其他目录中的函数。调用优先级最低。如果函数不在搜索路径中,则不能被调用。如果查询同名函数中究竟哪个函数被调用了,用which函数查询。例如:

which zoom

生成p文件pcode()

format long g  %关闭科学计数法  
format rat%结果用分数表示  

执行字符串:

eval(’命令’);[a1,a2,…]=eval(‘命令’);   
evalc(‘命令’);[T,a1,a2,…]=eval(‘命令’)   
evalin   
Exit/quit  
常数:pi,inf,nan,i  

7.6 数学运算

Round()四舍五入,fix()舍去小数,向0取整  
Floor()舍去正小数,ceil()加入正小数  

abs()
sign 符号函数  
gcd最大公因子  
lcm最小公倍数  
norm欧式距离  
prod求积(sum)  
cumsum累积和  
cumprod累积积  

rat(x)化为分数  
rats(x)化为多项式分数  

复数相关

angle(z)  
real(z)  
imag(z)  
conj(z)  

mod 求模  
rem 余数  

cat(1,A,B)%沿着第1维度拼接
blkdiag(A,B,C)%创建对角阵块

7.7 高级通用命令

narginnargout 表示输入和输出的参数数目

vararginvarargout 把实际函数调用的各个参数封装成一个元胞数组

(1)function [out1,out2]=my1(a,b,varargin)  
(2)function [out1,out2,varargout]=my2(a,b)  

7.8 函数句柄

可以让代码简洁

  • functions(@myfun),返回一个结构体,包含函数的信息
  • func2str
  • str2func
  • save/load
  • isa(myfun,’function_handle’) 判断
  • feval(myfun,x),执行。feval(myfun,x1,x2,…)
    1. myfun可以是函数句柄
    2. myfun可以是m文件,这时要用’myfun’形式

7.9 其它命令

continue 进入下次循环
break 退出循环
return 退出整个程序

TAB 命令自动补全
ctrl+I 自动调整缩进
%%分段运行

assignin(‘base’,’a’,a)
a=evalin(‘caller’,’a’)
‘caller’是主函数的workspace

eps 一个极小数,用来防止分母为0,例如sin(eps)/eps,而不用sin(0)/0

clc%擦除一页
clear all%清除base
clf%清除figure中的内容
close all

t=cuptime
statement
cputime-t

用来测试耗用cpu时间

tic;toc测试的是实际执行命令的时间

memory 返回一个结构体,记录内存使用情况

书推荐

  1. 【强烈推荐】matlab与数学试验 国防工业出版社 全面介绍了matlab的各种应用,值得注意的是:数值积分试验,微分方程试验,随机模拟实验,加密方法试验,分形模拟试验,遗传算法试验
  2. 傅里叶变换及其应用 布雷斯威尔 西安交通大学出版社 好书!包含拉普拉斯变换,扩散方程,成像技术等,值得看!!
  3. 数理统计及其在数学建模中的实践(done)
  4. matlab入门到精通:符号计算,电路模拟,simulink
  5. 精通matlab,计算篇(插值,傅立叶分析,偏微分方程),计算实例
  6. 数理统计与数据分析
  7. matlab实用指南(上下)电子工业出版社 书比较薄,比较深

您的支持将鼓励我继续创作!