1、Python量化交易-三剑客之Numpy

目录

  • 一、环境安装
    • 1 - anaconda安装
    • 2 - jupyter介绍
    • 3 - cell简介
    • 4 - cell快捷键
  • 二、numpy的三种创建方式
    • 1 - np.array创建numpy
    • 2 - plt.imread创建numpy
    • 3 - 使用np的routines函数创建
  • 三、numpy常用属性
  • 四、numpy操作
    • 1 - numpy索引操作
    • 2 - numpy切片操作
    • 3 - reshape变形
    • 4 - 级联操作
    • 5 - 聚合操作
    • 6 - 数学函数
    • 7 - 统计函数
  • 五、numpy矩阵
  • 六、jupyter笔记

一、环境安装

1 - anaconda安装

  • anaconda简介:anaconda是一个集成环境 —— 集成好了数据分析和机器学习中所需要的全部环境
  • anaconda官网:www.anaconda.com
  • anaconda下载:清华大学镜像-anaconda,拖到最底下,选择“Anaconda3-5.3.1-Windows-x86_64.exe”
    1、Python量化交易-三剑客之Numpy_第1张图片
  • anaconda安装:anaconda安装目录不可以有中文和特殊符号;一路Next,勾选“Add Anaconda…”和“Register Anaconda…”
    1、Python量化交易-三剑客之Numpy_第2张图片
  • anaconda测试安装是否成功:打开cmd窗口,录入jupyter notebook指令,如果没有显示找不到命令且没有报错即可表示安装成功

2 - jupyter介绍

  • 什么是jupyter:jupyter就是anaconda提供的一个基于浏览器的可视化开发工具
  • jupyter启动:启动终端,然后先定位到指定目录(在哪个目录启动,到时候jupyter的工程就在哪个目录下);在终端中录入:jupyter notebook,按下回车
    1、Python量化交易-三剑客之Numpy_第3张图片
  • 新建python3:python3是anaconda中的源文件
    1、Python量化交易-三剑客之Numpy_第4张图片
  • anaconda文件重名名
    1、Python量化交易-三剑客之Numpy_第5张图片
  • 返回上一级可以看到多了一个 aaaa.ipynb的文件,ipynb指的是基于anaconda的一个文件在这里插入图片描述

3 - cell简介

  • 什么是cell
    1、Python量化交易-三剑客之Numpy_第6张图片
  • cell有两种模式:code模式、markdown模式
  • cell模式的切换
    1、Python量化交易-三剑客之Numpy_第7张图片

4 - cell快捷键

  • 添加cell:a=在当前cell上方添加一个cell,b=在当前cell下方添加一个cell
  • 删除cell:x
  • cell模式修改:m=markdown模式,y=code模式
  • cell执行:shift+enter
  • tab:自动补全
  • 打开帮助文档:shift+tab

二、numpy的三种创建方式

  • 数据分析三剑客
    • numpy
    • pandas(重点)
    • matplotlib
  • 什么是numpy:NumPy(Numerical Python) 是 Python 语言中做科学计算的基础库。重在于数值计算,也是大部分Python科学计算库的基础,多用于在大型、多维数组上执行的数值运算

1 - np.array创建numpy

  • np.array()创建numpy

    • param1:object —— 数据源
    • param2:dttype —— 数组元素的类型,默认值初始数据源传入的类型是什么就是什么
      1、Python量化交易-三剑客之Numpy_第8张图片
  • 数组和列表的区别是什么

    • 数组中存储的数据元素类型必须是统一类型
    • 未指定dttype时,根据元素类型优先级来确定数组元素类型 —— 字符串 > 浮点型 > 整数
      在这里插入图片描述

2 - plt.imread创建numpy

  • 将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值,查看对原始图片的影响
    • 这里如果报错,需要安装pillow,cmd执行:pip install pillow
      1、Python量化交易-三剑客之Numpy_第9张图片

3 - 使用np的routines函数创建

  • np的routines函数
    • zero():填充0的数组
    • ones():填充1的数组
    • linespace()
    • arange()
    • random系列
  • np.ones
    • param1:shape —— 数组的维度 —— Shape of the new array, e.g., (2, 3) or 2
      1、Python量化交易-三剑客之Numpy_第10张图片
  • np.linspace:创建一维的等差数列数组
    1、Python量化交易-三剑客之Numpy_第11张图片
  • np.arange:创建一维等差数列
    在这里插入图片描述
  • np.random.randint:创建随机数组
    1、Python量化交易-三剑客之Numpy_第12张图片

三、numpy常用属性

  • 属性
    • shape:返回数组形状
    • ndim:返回数组维度
    • size:返回数组元素个数
    • dtype:数组元素类型
    • type(arr):数组的数据类型
      1、Python量化交易-三剑客之Numpy_第13张图片

四、numpy操作

1 - numpy索引操作

  • numpy索引操作和列表同理
    1、Python量化交易-三剑客之Numpy_第14张图片

2 - numpy切片操作

  • 切片:行列切片
    • 切出前两行数据
    • 切出前两列数据
    • 切出前两行的前两列的数据
      1、Python量化交易-三剑客之Numpy_第15张图片
  • 切片:数组数据翻转(倒置)
    1、Python量化交易-三剑客之Numpy_第16张图片
  • 原始图片
    1、Python量化交易-三剑客之Numpy_第17张图片
  • 练习:将一张图片上下左右进行翻转操作
    1、Python量化交易-三剑客之Numpy_第18张图片
  • 练习:将图片进行指定区域的裁剪
    1、Python量化交易-三剑客之Numpy_第19张图片

3 - reshape变形

1、Python量化交易-三剑客之Numpy_第20张图片

4 - 级联操作

  • 什么是级联操作:将多个numpy数组(维度必须相同)进行横向或者纵向的拼接
  • axis轴向的理解:0 —— 列;1 —— 行
    1、Python量化交易-三剑客之Numpy_第21张图片

5 - 聚合操作

  • 常用聚合操作:没有axis参数 —— 求所有;axis=0 —— 按列;axis=1 —— 按行
    • sum:求和
    • max:最大值
    • min:最小值
    • mean:平均值
      1、Python量化交易-三剑客之Numpy_第22张图片

6 - 数学函数

  • numpy标准三角函数:sin()、cos()、tan()
    1、Python量化交易-三剑客之Numpy_第23张图片
  • numpy.around(a, decimals):函数返回指定数字的四舍五入值
    • 参数a:数组
    • 参数decimals:舍入的小数位数;默认值为0;如果为负,整数将四舍五入到小数点左侧的位置
      1、Python量化交易-三剑客之Numpy_第24张图片

7 - 统计函数

  • 常用统计函数
    • numpy.amin() 和 numpy.amax(),用于计算数组中的元素沿指定轴的最小、最大值
    • numpy.ptp():计算数组中元素最大值与最小值的差(最大值 - 最小值)
    • numpy.median() 函数用于计算数组 a 中元素的中位数(中值)
    • 标准差std():标准差是一组数据平均值分散程度的一种度量。
      • 公式:std = sqrt(mean((x - x.mean())**2))
      • 如果数组是 [1,2,3,4],则其平均值为 2.5。 因此,差的平方是 [2.25,0.25,0.25,2.25],并且其平均值的平方根除以 4,即 sqrt(5/4) ,结果为 1.1180339887498949。
    • 方差var():统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数,即 mean((x - x.mean())** 2)。换句话说,标准差是方差的平方根

1、Python量化交易-三剑客之Numpy_第25张图片

五、numpy矩阵

  • 线性代数基于矩阵的推导:https://www.cnblogs.com/alantu2018/p/8528299.html
  • numpy矩阵
    • NumPy 中包含了一个矩阵库 numpy.matlib,该模块中的函数返回的是一个矩阵,而不是 ndarray 对象。一个 的矩阵是一个由行(row)列(column)元素排列成的矩形阵列
    • numpy.matlib.identity() 函数返回给定大小的单位矩阵。单位矩阵是个方阵,从左上角到右下角的对角线(称为主对角线)上的元素均为 1,除此以外全都为 0

1、Python量化交易-三剑客之Numpy_第26张图片

  • numpy矩阵相乘:numpy.dot(a, b, out=None)
    • a:ndarray数组
    • b:ndarray数组
  • 矩阵的加法、减法、乘法
    1、Python量化交易-三剑客之Numpy_第27张图片
  • 矩阵相乘:第一个矩阵第一行的每个数字(2和1),各自乘以第二个矩阵第一列对应位置的数字(1和1),然后将乘积相加( 2 x 1 + 1 x 1),得到结果矩阵左上角的那个值3。也就是说,结果矩阵第m行与第n列交叉位置的那个值,等于第一个矩阵第m行与第二个矩阵第n列,对应位置的每个值的乘积之和

1、Python量化交易-三剑客之Numpy_第28张图片
1、Python量化交易-三剑客之Numpy_第29张图片

六、jupyter笔记

点击下载jupyter笔记

你可能感兴趣的:(Python量化交易-双均线,python,numpy,开发语言)