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

一、环境安装

1 - anaconda安装

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

2 - jupyter介绍

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

3 - cell简介

  • 什么是cell
    在这里插入图片描述
  • cell有两种模式:code模式、markdown模式
  • cell模式的切换
    在这里插入图片描述

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 —— 数组元素的类型,默认值初始数据源传入的类型是什么就是什么
      在这里插入图片描述
  • 数组和列表的区别是什么

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

2 - plt.imread创建numpy

  • 将外部的一张图片读取加载到numpy数组中,然后尝试改变数组元素的数值,查看对原始图片的影响
    • 这里如果报错,需要安装pillow,cmd执行:pip install pillow
      在这里插入图片描述

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
      在这里插入图片描述
  • np.linspace:创建一维的等差数列数组
    在这里插入图片描述
  • np.arange:创建一维等差数列
    在这里插入图片描述
  • np.random.randint:创建随机数组
    在这里插入图片描述

三、numpy常用属性

  • 属性
    • shape:返回数组形状
    • ndim:返回数组维度
    • size:返回数组元素个数
    • dtype:数组元素类型
    • type(arr):数组的数据类型
      在这里插入图片描述

四、numpy操作

1 - numpy索引操作

  • numpy索引操作和列表同理
    在这里插入图片描述

2 - numpy切片操作

  • 切片:行列切片
    • 切出前两行数据
    • 切出前两列数据
    • 切出前两行的前两列的数据
      在这里插入图片描述
  • 切片:数组数据翻转(倒置)
    在这里插入图片描述
  • 原始图片
    在这里插入图片描述
  • 练习:将一张图片上下左右进行翻转操作
    在这里插入图片描述
  • 练习:将图片进行指定区域的裁剪
    在这里插入图片描述

3 - reshape变形

在这里插入图片描述

4 - 级联操作

  • 什么是级联操作:将多个numpy数组(维度必须相同)进行横向或者纵向的拼接
  • axis轴向的理解:0 —— 列;1 —— 行
    在这里插入图片描述

5 - 聚合操作

  • 常用聚合操作:没有axis参数 —— 求所有;axis=0 —— 按列;axis=1 —— 按行
    • sum:求和
    • max:最大值
    • min:最小值
    • mean:平均值
      在这里插入图片描述

6 - 数学函数

  • numpy标准三角函数:sin()、cos()、tan()
    在这里插入图片描述
  • numpy.around(a, decimals):函数返回指定数字的四舍五入值
    • 参数a:数组
    • 参数decimals:舍入的小数位数;默认值为0;如果为负,整数将四舍五入到小数点左侧的位置
      在这里插入图片描述

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)。换句话说,标准差是方差的平方根

在这里插入图片描述

五、numpy矩阵

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

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

六、jupyter笔记

点击下载jupyter笔记

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
## 讲师介绍: 近 5 年个人投资理财年化收益平均超 25%。如果你也想提升自己的睡后收入,轻松赚钱,那么这门课就是为你量身打造。课程基于一个完整真实的量化交易业务来讲授,并融入老师的理财经验以及使用编程技术辅助投资的技巧,让你面对各种复杂投资情况也能做到游刃有余。 ## 学习目标: 从不懂“理财”开始到实现自动交易,成为一个“技术流”理财高手 编程技术 + 核心量化策略 + 交易系统开发 + 讲师经验分享,学会用技术辅助理财 本课程从最基础的什么是量化开始讲起,即使对投资理财不了解同样可以学习,轻松入门无压力。 从如何获取数据开始,到实现实盘交易,课程对量化交易的每一步都进行细致讲解,为你铺开量化交易的每一个细节。 不仅仅只是教你学会使用某种工具,更会教给你量化交易的投资思想,让你面对各种情况都游刃有余。 ## 课程亮点: 设计适合自己并能适应市场的交易策略,才是量化交易的灵魂 课程亲手带你设计并实现两种交易策略,快速培养你的策略思维能力 1. 择时策略:通过这个策略学会如何利用均线,创建择时策略,优化股票买入卖出的时间点。2. 选股策略:掌握选股策略的核心逻辑,并基于收益率创建动量选股策略,并验证其有效性。 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 第三方平台大而全,不易扩展,效率还差,信息安全也是大问题,打造自己的交易平台才是更优解

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无休止符

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值