金融量化numpy教程完整版

文章资讯 2020-06-15 01:10:05

金融量化numpy教程完整版

金融量化-numy教程我们需要了解一下numy的应用场景
NumPy提供了大量的数值编程工具,可以方便地处理向量、矩阵等运算,极大地便利了人们在科学计算方面的工作。另一方面,Python是免费,相比于花费高额的费用使用Matlab,NumPy的出现使Python得到了更多人的青睐
查看numy版本
imortnumy
numy.version.full_version
数组
NumPy中的基本对象是同类型的多维数组(homogeneousmultidimensionalarray),这和C++中的数组是一致的,例如字符型和数值型就不可共存于同一个数组中。先上例子
a=numy.arange(20)
通过函数shae,我们可以重新构造一下这个数组,例如,我们可以构造一个4*5的二维数组,其中shae的参数表示各维度的大小,且按各维顺序排列(两维时就是按行排列,这和R中按列是不同的):
a=a.shae(4,5)
构造更高维的也没问题:
a=a.shae(2,2,5)
既然a是array,我们还可以调用array的函数进一步查看a的相关属性:ndim查看维度;shae查看各维度的大小;size查看全部的元素个数,等于各维度大小的乘积;dtye可查看元素类型;dsize查看元素占位(bytes)大小创建数组
数组的创建可通过转换列表实现,高维数组可通过转换嵌套列表实现:
raw=[0,1,2,3,4]
a=numy.array(raw)
raw=[[0,1,2,3,4],[5,6,7,8,9]]
b=numy.array(raw)
一些特殊的数组有特别定制的命令生成,如4*5的全零矩阵:
d=(4,5)
numy.zeros(d)
默认生成的类型是浮点型,可以通过指定类型改为整型:
d=(4,5)
numy.ones(d,dtye=int)
[0,1)区间的随机数数组:
numy.random.rand(5)
数组操作
简单的四则运算已经重载过了,全部的+,-,*,运算都是基于全部的数组元素的,以加法为例:
类似C++,+=、-=、*=、=操作符在NumPy中同样支持:开根号求指数也很容易:需要知道二维数组的最大最小值怎么办?想计算全部元素的和、按行求和、按列求和怎么办?for循环吗?不,NumPy的ndarray类已经做好函数了: