《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

http://blog.sina.com.cn/s/blog_4cf8aad30102uylf.html

《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

《量化投资:以MATLAB为工具》简介

《量化投资:以MATLAB为工具》是由电子工业出版社(PHEI)下属旗舰级子公司——北京博文视点资讯有限公司出版的《量化投资与对冲基金丛书》之一,丛书主编为丁鹏博士,《量化投资:以MATLAB为工具》由李洋(faruto)、郑志勇(ArisZheng)编著,主要介绍MATLAB在量化投资中的具体应用。该书预计2014年10月上市,欢迎大家多多支持。在书籍上市之前,会在中国量化投资学会的各种网络平台进行系列连载介绍,方便读者提前一窥书籍概要。

《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)

引言

之所以采用下文这种Q&A的形式来作为《量化投资:以MATLAB为工具》的基础篇,是想让刚刚接触MATLAB的读者能快速有效地了解MATLAB,毕竟在一个注重时间效率的年代大家更喜欢速成的东西。

本篇形式上参考了刘思喆老师的《153分钟学会R》,当然内容方面结合了MATLAB本身的特色,本篇的内容来源多样,既有来自于MATLAB的官方帮助文档,也有来自我个人的一些总结,还有若干来自MATLAB技术论坛(http://www.matlabsky.com)的讨论问题。

MATLAB是一个非常庞大的体系,其官方工具箱就有数十种,内部函数有数百个,可以说学习MATLAB是一件没有尽头的事情。

想来自己接触MATLAB已经有快10年的时间了,在学习MATLAB的道路上接触很多志同道合的朋友,希望这篇简单的“N分钟学会MATLAB(60”能成为你认识、学习MATLAB的好助手。

李洋(faruto)

基础知识

(1)     MATLAB是做什么的?为什么MATLAB叫做MATLAB?

MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是Matrix和Laboratory两个词的组合,意为矩阵工厂(矩阵实验室),之所以叫做矩阵工厂(矩阵实验室),是因为MATLAB的基本数据单位是矩阵。

(2)     MathWorks公司的创始人是谁?

Cleve Moler和Jack Little是MathWorks公司的创始人。其中Cleve Moler是MATLAB首个版本的开发者,Jack Little是信号处理工具箱和控制系统工具箱早期版本的共同开发者和首席架构师。

(3)     我是新手,我如何开始学习MATLAB?

如果你的英文阅读还算可以,那么MATLAB官方的帮助文档将是最好且最全面的学习材料,你可以通过在MATLAB的命令窗口(Command Window)中键入“doc”来调出MATLAB官方的帮助文档,或者你也可以在MathWorks公司的官方网站的文档中心(http://www.mathworks.cn/cn/help/documentation-center.html)中查看在线的MATLAB官方帮助文档。

另外MathWorks公司的官方网站的用户中心(http://www.mathworks.cn/matlabcentral/)中有一些MATLAB相关问题的讨论以及一些MATLAB大牛的博客,其中包括Cleve Moler的博客——Cleve‘s Corner(http://blogs.mathworks.com/cleve),在MATLAB用户中心你可以学习MATLAB。

MATLAB技术论坛(http://www.matlabsky.com)是一个不错的学习MATLAB的中文网站,本书的作者之一李洋(faruto)是MATLAB技术论坛核心管理团队的成员之一,在这个论坛里你可以找到大量的学习资料(代码、数据、视频等)或直接提出问题同大家讨论。

当然,你也可以购买一些MATLAB相关的中外文书籍进行学习。

(4)     使用MATLAB需要很厉害的编程能力吗?

大多数时候并不需要,因为MATLAB有很多的函数和工具箱,官方的工具箱还有数十种,第三方的工具箱不计其数而且每天都在增加,你用到的一般方法和函数都可以在MATLAB的工具箱中找到。

(5)     能否简单举一个MATLAB的例子?

生成100个高斯(正态)分布随机数,并对这100个数进行特征描述。

MATLAB代码

Mean_Value = 0;

STD_Value = 1;

Data_Num = 100;

x = random(‘Normal‘, Mean_Value, STD_Value, Data_Num, 1);

x_dataset = dataset(x);

whos

mean_x = mean(x)

std_x = std(x)

summary(x_dataset)

运行结果(由于是生成随机数,多次运行结果可能不同。)

Name              Size            Bytes  Class      Attributes

Data_Num          1x1                 8  double

Mean_Value        1x1                 8  double

STD_Value         1x1                 8  double

x               100x1               800  double

x_dataset            100x1              2300  dataset

mean_x =

-0.0684

std_x =

0.9568

x: [100x1 double]

min        1st quartile    median       3rd quartile    max

-2.8216    -0.7437         -0.088884    0.63638         2.3738

(6)     如何查看使用的MATLAB的版本信息以及内存信息?

以通过在MATLAB的命令窗口(Command Window)中键入“version”和“memory”来查看所使用的MATLAB版本信息和内存信息。

运行结果(由于MATLAB版本的不同以及电脑配置的不同,运行结果可能不同。)

>> version

ans =

7.14.0.739 (R2012a)

>> memory

Maximum possible array:             444 MB (4.659e+08 bytes) *

Memory available for all arrays:   1190 MB (1.248e+09 bytes) **

Memory used by MATLAB:              427 MB (4.476e+08 bytes)

Physical Memory (RAM):             3327 MB (3.489e+09 bytes)

*  Limited by contiguous virtual address space available.

** Limited by virtual address space available.

(7)     MATLAB支持中文吗?

支持!但在MATLAB中,有相当一部分工具箱的作者都是以英文为母语的,故建议熟练全英文环境。

(8)     MATLAB支持自动补全(Tab Completion)么?

支持!在较新版本中,MATLAB引入了命令自动补全功能,使用Tab键能自动补全MATLAB命令或给出所有可能的补全命令列表。

(9)     MATLAB有哪些常用的热键?

MATLAB除了支持常见的Windows热键(复制:Ctrl+C,剪切:Ctrl+X,粘贴:Ctrl+P等等),在MATLAB文件编辑器(Editor)中,还有如下一些常见的热键:

F5:运行当前的M文件;

F9:运行选中的代码段;

Ctrl+R:注释选中的代码段;

Ctrl+T:反注释选中的代码段;

Ctrl+I:将选中的代码段智能缩进调整。

(10)     如何清除变量?

使用clear命令可以清除工作空间(Workspace)中的所有变量,清除工作空间(Workspace)名字为name的变量,使用clear name命令。

(11)     如何清空命令窗口(Command Window)?

使用clc命令可以清空命令窗口(Command Window)。

(12)     MATLAB常用的数据类型有哪些?

MATLAB支持的基本数据类型有基本数值类型、字符串、元胞数组、结构、函数句柄、Java对象、逻辑类型等等。

其中基本数值类型包括基本数值类型包括双精度类型、单精度类型、整数类型等。

(13)     如何查看函数的代码?

MATLAB文件编辑器(Editor)菜单栏中可以使用file->Open直接打开相关M文件查看源码,或者也可以只用edit函数打开,比如

edit mean;

会直接打开求均值函数mean查看源码:

function y = mean(x,dim)

%MEAN   Average or mean value.

%   For vectors, MEAN(X) is the mean value of the elements in X. For

%   matrices, MEAN(X) is a row vector containing the mean value of

%   each column.  For N-D arrays, MEAN(X) is the mean value of the

%   elements along the first non-singleton dimension of X.

%

%   MEAN(X,DIM) takes the mean along the dimension DIM of X.

%

%   Example: If X = [1 2 3; 3 3 6; 4 6 8; 4 7 7];

%

%   then mean(X,1) is [3.0000 4.5000 6.0000] and

%   mean(X,2) is [2.0000 4.0000 6.0000 6.0000].‘

%

%   Class support for input X:

%      float: double, single

%

%   See also MEDIAN, STD, MIN, MAX, VAR, COV, MODE.

%   Copyright 1984-2009 The MathWorks, Inc.

%   $Revision: 5.17.4.5 $  $Date: 2010/09/02 13:35:22 $

if nargin==1,

% Determine which dimension SUM will use

dim = find(size(x)~=1, 1 );

if isempty(dim), dim = 1; end

y = sum(x)/size(x,dim);

else

y = sum(x,dim)/size(x,dim);

end

(14)     MATLAB里面可以使用科学计数法么?

可以。

1e10 = 1000000000

1.2e-4 = 0.00012

更多内容参见《量化投资:以MATLAB为工具》。

该书预计2014年10月上市。

书籍交流论坛:MATLAB技术论坛读书频道《量化投资:以MATLAB为工具》专版,地址:http://www.matlabsky.com/forum-112-1.html

《量化投资:以MATLAB为工具》基础篇-N分钟学会MATLAB 文档、代码、数据下载地址

         《量化投资:以MATLAB为工具》基础篇部分(N分钟学会MATLAB)的相关文档、代码、数据已经完全免费开源共享,欢迎下载。

百度网盘下载地址:

http://pan.baidu.com/share/link?shareid=1036543686&uk=1761970726

作者简介

李洋(faruto),中国量化投资学会专家委员会成员,MATLAB技术论坛(www.matlabsky.com)联合创始人,北京师范大学应用数学硕士,先后就职于私募、期货公司、保险公司,从事量化投资相关工作。十年MATLAB编程经验,对机器学习、量化投资等相关领域有深入研究,已出版《MATLAB神经网络30个案例分析》和《MATLAB神经网络43个案例分析》等书籍。

邮箱:[email protected]

微博:http://weibo.com/faruto

郑志勇(Ariszheng),中国量化投资学会专家委员会成员,方正富邦基金产品总监,北京理工大学运筹学与控制论硕士,先后就职于中国银河证券、银华基金、方正富邦基金,从事金融产品研究与设计工作。十余年MATLAB编程经验,专注于产品设计、量化投资等相关领域的研究,尤其对于各种结构化产品、分级基金产品有着深入的研究,已出版《运筹学与最优化MATLAB编程》和《金融数量分析:基于MATLAB编程》等书籍。

邮箱:[email protected]

微博:http://weibo.com/ariszheng

时间: 2024-10-06 12:59:49

《量化投资:以MATLAB为工具》连载(1)基础篇-N分钟学会MATLAB(上)的相关文章

《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码

下载:https://pan.baidu.com/s/1NU_53IT-ZPhwACk6sJphAw 更多资料:https://pan.baidu.com/s/1bl6Q4Ex2_TC242IMnGQPRw <Python与量化投资:从基础到实战(王小川)>PDF,562页,带书签目录,文字可以复制:配套源代码.<量化投资以Python为工具(蔡立耑 )>PDF,550页:配套源代码. <Python与量化投资:从基础到实战>主要讲解如何利用Python进行量化投资,包

分享《Python与量化投资从基础到实战》PDF及代码+《量化投资以Python为工具》PDF及代码

下载:https://pan.baidu.com/s/1NU_53IT-ZPhwACk6sJphAw 更多分享:http://blog.51cto.com/14050756 <Python与量化投资:从基础到实战(王小川)>PDF,562页,带书签目录,文字可以复制:配套源代码.<量化投资以Python为工具(蔡立耑 )>PDF,550页:配套源代码. <Python与量化投资:从基础到实战>主要讲解如何利用Python进行量化投资,包括对数据的获取.整理.分析挖掘.信

好书推荐:量化投资以Python为工具

获取地址:量化投资以Python为工具 戴着耳机在手机键盘上打字会妨碍你释放或者接收友好信号,而缺乏与他人互动会减少你提高社交技能.观察并向别人学习的机会.向别人学习甚至不需要投入太多精力.你要做的只是找一家餐馆去观察别人.量化投资以Python为工具. 人们很乐意在用餐或者喝酒时交谈.看你能否通过观察邻桌夫妇的非语言信号,判断出他们的关系状况和关系强度.当两个人走进餐馆时,你可以通过观察他们的非语言行为分辨出他们是否为一对情侣.拉手是一种带有浪漫情趣的信号.量化投资以Python为工具. 情侣

《量化投资以Python为工具》+《Python与量化投资从基础到实战》资料学习

我们需要利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,重点学习如何高效地利用Python解决投资策略问题,推荐<量化投资以Python为工具>电子书代码,主要讲解量化投资的思想和策略,并借助Python 语言进行实战. <量化投资以Python为工具>电子书一共分为5 部分,首先对Python 编程语言进行介绍,通过学习,可以迅速掌握用Python语言处理数据的方法,并灵活运用Python 解决实际金融问题:其次,介绍量化投资的理论知识,主要讲解量化投资所需的

PostMan工具使用之基础篇

PostMan工具使用之基础篇 一.什么是PostMan Postman一款非常流行的API调试工具.(其他测试工具 Jmeter.soapUI) 二.下载及安装: 1.下载: 下载地址:https://www.getpostman.com/apps 2.安装: Postman最早是作用chrome浏览器插件存在的,所以,你可以到chrome商店搜索下载安装,因为重所周知的原因,所以,大家都会找别人共享的postman插件文件来安装.由于2018年初Chrome停止对Chrome应用程序的支持.

Chrome开发者工具介绍 : 基础篇

Chrome浏览器一款Web开发的利器,具有不易崩溃.速度快.安全等诸多优点得到广大用户的一直好评,一经推出迅速占领市场,作为Web开发者我们更应该了解它强大的功能. 下面列举出一些常用技巧,帮助大家提高效率: 1.打开控制面板(通过右键->审查元素或F12快捷键) 2.编辑HTML元素 选取百度为例: 在 Elements 下的元素编辑器中选择一个Dom元素 双击选中的Dom元素,然后进行编辑,回车确认后页面会有相应的改变 ps: 在元素中进行查找用 Ctrl + F 输入关键字 3.展开所有

量化投资:数据挖掘技术与实践(MATLAB版)——互动出版网

这篇是计算机类的优质推荐>>>><量化投资:数据挖掘技术与实践(MATLAB版)> 编辑推荐 本书的读者对象为从事投资.数据挖掘.数据分析.数据管理工作的专业人士:金融.经济.管理.统计等专业的教师和学生:希望学习MATLAB的广大科研人员.学者和工程技术人员. 内容简介 全书内容分为三篇.第一篇(基础篇)主要介绍数据挖掘与量化投资的关系,以及数据挖掘的概念.实现过程.主要内容.主要工具等内容.第二篇(技术篇)系统介绍了数据挖掘的相关技术及这些技术在量化投资中的应用,主

Python金融应用编程(数据分析、定价与量化投资)

近年来,金融领域的量化分析越来越受到理论界与实务界的重视,量化分析的技术也取得了较大的进展,成为备受关注的一个热点领域.所谓金融量化,就是将金融分析理论与计算机编程技术相结合,更为有效的利用现代计算技术实现准确的金融资产定价以及交易机会的发现.量化分析目前已经涉及到金融领域的方方面面,包括基础和衍生金融资产定价.风险管理.量化投资等.随着大数据技术的发展,量化分析还逐步与大数据结合在一起,对海量金融数据实现有效和快速的运算与处理. 在量化金融的时代,选用一种合适的编程语言对于金融模型的实现是至关

R语言量化投资常用包总结

前言 总是被很多的人问,为什么用R语言做量化投资,R.Python.Matlab比起来哪个更好?其实,答案很简单,你哪个用的熟就用哪个,工具是用来提升效率的,结果才是你会得到的.认准一门语言,坚持把它做好你就会成长. 每个领域,每种编程语言都用推动它前进的人,跟上牛人的脚步,你慢慢地也会变牛. 目录 为什么用R语言做量化投资? 常用量化投资工具包 完整文章:http://blog.fens.me/r-quant-packages/