【Python numpy模块】结合金融场景演示numpy模块的操作
##基本操作 输入数组,对数组进行切片和索引
##本篇文章所有操作展示均在spyder命令行窗口
股票简称 | 2018年9月3日 | 2018年9月4日 | 2018年9月5日 | 2018年9月6日 | 2018年9月7日 |
中国石油 | 0.3731% | 2.1066% | -0.4854% | 0.6089% | -0.6060% |
工商银行 | -0.1838% | 0.1842% | -1.6544% | -0.3738% | 0.3752% |
上汽集团 | -0.3087% | -0.0344% | -3.3391% | 0.7123% | 0.4597% |
宝钢股份 | -2.4112% | 1.1704% | 2.9563% | 1.4570% | 1.6129% |
##首先导入numpy模块并查看numpy的版本号(在命令型窗口)
##用np命名模块numpy
In [1]: import numpy as npIn [2]: np.__version__ ##这里__是两个下划线
Out[2]: '1.15.4'
##表中的数据为多维数据,使用列表来进行计算的话过于繁琐,用数组进行向量和矩阵计算就显得格外简洁明了
##下面用数组的方式在Python中输入开头四只股票的涨跌幅情况
In [3]: stock_return=np.array([[0.003731,0.021066,-0.004854,0.006098,-0.00606],[-0.001838,0.001842,-0.016544,-0.003738,0.003752],[-0.003087,-0.000344,-0.033391,0.007123,0.004597],[-0.024112,0.011704,-0.029563,-0.01457,0.016129]])In [4]: stock_return ##输出数组
Out[4]:
array([[ 0.003731, 0.021066, -0.004854, 0.006098, -0.00606 ],[-0.001838, 0.001842, -0.016544, -0.003738, 0.003752],[-0.003087, -0.000344, -0.033391, 0.007123, 0.004597],[-0.024112, 0.011704, -0.029563, -0.01457 , 0.016129]])In [5]: stock_return.shape ##用shape判断得到这是一个(4,5)的二维数组
Out[5]: (4, 5)
##接下来需要将这四只股票的配置比例输入
##以列表的方式输入
##再将列表转换为数组
In [6]: weight_list=[0.15,0.2,0.25,0.4]In [7]: weight_array=np.array(weight_list)In [8]: weight_array ##输出配置比例数组
Out[8]: array([0.15, 0.2 , 0.25, 0.4 ])
##这里输入股票涨跌幅的方法是直接输入,输入配置比例的方法是先输入列表,再将列表转化为数组,现实运用中两种方法都可以。
##查看数组的一些相关属性
In [9]: weight_array.ndim ##查看数组维度
Out[9]: 1In [10]: stock_return.ndim
Out[10]: 2In [11]: weight_array.size ##查看数组的元素数量
Out[11]: 4In [12]: stock_return.size
Out[12]: 20In [13]: weight_array.dtype ##查看数组元素类型
Out[13]: dtype('float64')In [14]: stock_return.dtype
Out[14]: dtype('float64')
##数组的索引与切片
## 得到上汽集团在2018年9月6日的股票涨跌幅
In [15]: stock_return[2,3] ##原数据在第三行第四列,python中从0开始计数
Out[15]: 0.007123
##得到工商银行和上汽集团在2018年9月5日到2018年9月7日的涨跌幅数据
In [16]: stock_return[1:3,3:5] ##python中从0开始计数,遵循前闭后开
Out[16]:
array([[-0.003738, 0.003752],[ 0.007123, 0.004597]])
##计算投资组合(按照不同股票的权重)中每个交易日(9.3-9.7)的平均收益率。
上传代码截图以及运行结果。
In [17]: average_return= np.dot (weight_array,stock_return) ##用dot函数计算矩阵之间的内积In [18]: average_return
Out[18]: array([-0.0102245 , 0.0081239 , -0.02420985, -0.00388015, 0.00744225])
【Python numpy模块】结合金融场景演示numpy模块的操作相关推荐
- android 串口 wifi模块,一文深度了解串口WiFi模块的应用场景
原标题:一文深度了解串口WiFi模块的应用场景 串口WiFi模块是应用极广泛的一种无线通信模块,其广泛应用于智能家居设备中,主要应用包括:无线家电.仪表.智能插座.智能开关.智能网关和智能灯泡等,下面 ...
- 100G CFP光模块类型应用场景详解
目前,全球电信行业平稳发展,宽带用户稳定增长,随着大数据市场的迅猛发展,骨干网.接入网和数据中心建设均需采购大量的光通信产品,从而给光模块行业带来了全新的市场机遇.如今,100G光模块已成为市场发展的 ...
- python时间处理模块datetime+dateutil、numpy时间处理模块datetime64以及pandas时间处理模块Timestamp的演化路径及常用处理接口
python时间处理模块datetime+dateutil.numpy时间处理模块datetime64以及pandas时间处理模块Timestamp及常用处理接口 python时间处理模块dateti ...
- python np fft_Python的武器库05:numpy模块(下)
说到编程语言python,有一个著名的格言"余生太短,只用python".如果要分析为什么会存在这么一句格言?python的语法并不简单,有复杂难懂的部分,之所以又这样一句格言,是 ...
- python画函数图像要用到的模块_教你如何绘制数学函数图像——numpy和matplotlib的简单应用...
numpy和matplotlib的简单应用 一.numpy库 1.什么是numpy NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表 ...
- python numpy和pandas库的区别_Python模块 - Numpy与Pandas
Numpy简介 Numpy是高性能科学计算和数据分析的基础包.它是pandas等其他各种工具的基础. Numpy的主要功能: ndarray,一个多维数组结构,高效且节省空间 无需循环对数组数据进行快 ...
- python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】
目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...
- python科学计算笔记(一)NumPy中ndarray对象、ufunc运算、矩阵运算
标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.这样为了保存一个简单的[1,2,3],需要有3个指针和三个 ...
- 超级攻略!Pandas\NumPy\Matrix用于金融数据准备
来源:数据STUDIO 数据准备是一项必须具备的技术,是一个迭代且灵活的过程,可以用于查找.组合.清理.转换和共享数据集,包括用于分析/商业智能(BI).数据科学/机器学习(ML)和自主数据集成中.具 ...
最新文章
- HarmonyOS shape 的使用
- 盘点上海AI行业的10岁、20岁和30岁们
- 发红包案例(RedPacketFrame简介)
- 【Elasticsearch】十九种Elasticsearch字符串搜索方式
- 移动磁盘故障,如何在Mac修复?
- 拓端tecdat|matlab使用贝叶斯优化的深度学习:卷积神经网络CNN
- 电脑屏保海底世界_电脑游戏假面骑士kiva中文版
- SpringMVC中Model,ModelAndView,ModelMap的区别
- AAC MP3音频帧采样点大小
- smartbi v7 Linux,安装Smartbi
- 用word2vec解读延禧攻略人物关系
- uni-app学习之旅(二)uni-app开发规范
- 基于树莓派语音合成小白避坑
- 100以内的质数的三种实现
- Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_0900_as_ci,IMPLICIT) for operat
- 转向新页,控制页面大小并传值
- ldpc译码讲解_LDPC码译码方法和编码方法与流程
- 任务管理器Recent
- oracle建个触发器,oracle数据库如何创建触发器实例
- PythonShell