Python Numpy 学习笔记(3)
来源:互联网 发布:柯一正原画网络班教程 编辑:程序博客网 时间:2024/06/05 21:54
Python数据分析基础教程:numpy 学习指南的第三章
数据从雅虎财经上下载的csv文件,格式与教程上的略有不同。
雅虎财经相关数据下载,https://hk.finance.yahoo.com/quote/AAPL/history?p=AAPL
我自己使用的数据已经上传。
1.导入csv文件以及相关数据
使用numpy导入相关csv文件
ApplData = loadtxt('C:/Users/wxh/PycharmProjects/untitled/practice/appldata.csv', dtype=str, delimiter=',')文件是路径根据自己的调整。
由于csv文件中含有字符,所以读取的类型全部设置成字符型了。
之后对于每一个操作数据进行读取。
OpenData = ApplData[1:, 1].astype(float) # 读入开盘价HighData = ApplData[1:, 2].astype(float) # 读入最高价LowData = ApplData[1:, 3].astype(float) # 读入最低价CloseData = ApplData[1:, 4].astype(float) # 读入成交价ADJCloseData = ApplData[1:, 5].astype(float) # 读入ADJ成交价VolumeData = ApplData[1:, 6].astype(int) # 读入成交量对于每一列的数据进行切片操作,就可以得到完整数据了要进行数据类型的转换。
转换之后貌似有一点点数据小数位数的精度问题,目前还没解决。
之后是算术平均数以及加权平均数,中位数,方差,最大值,最小值,极差的相关计算。
Avg_OpenData = mean(OpenData) # 开盘价的算数平均数VMAP = average(CloseData, weights=VolumeData) # 成交价与成交量的加权平均数Max_HighData = max(HighData) # 历史最高价的最大值Low_LowData = min(LowData) # 历史最低价的最小值Ptp_CloseData = ptp(CloseData) # 成交价的极差Median_CloseData = median(CloseData) # 成交价的中位数Var_CloseData = var(CloseData) # 成交价的方差Population_Variance_CloseData = nansum(((CloseData - mean(CloseData)) ** 2))/(len(CloseData) - 1)# 由概率论知识可得,样本的无偏估计量为离差平方和除以样本估计量-1
接下来是一下股票常用数据的计算。
Rate_Return = diff(CloseData)/CloseData[:-1] # 股票收益率的计算StandardDeviation_Rate_Return = std(Rate_Return) # 收益率的标准差LogRate_Return = diff(log(CloseData)) # 对数收益率Index_Position = where(Rate_Return > 0) # 收益率大于0的索引Volatility_Annual = (std(LogRate_Return)/mean(LogRate_Return))/sqrt(1.0/252.0)# 股票的年波动率,对数收益率的标准差除以对数收益率的均值,再除以交易天数(252天)倒数的平方根值得注意的是,diff是对于一个列表后一项减去前一项,也就是差分运算吧。
std是求标准差。
使用where可以找到符合条件的索引序号,有一点像sql里面的where。
这是完整的代码:
# -*- coding:utf-8 -*-from numpy import *ApplData = loadtxt('C:/Users/wxh/PycharmProjects/untitled/practice/appldata.csv', dtype=str, delimiter=',')# 将股票数据文件读入,由于含有字符,所有的数据类型全部变为字符串型OpenData = ApplData[1:, 1].astype(float) # 读入开盘价HighData = ApplData[1:, 2].astype(float) # 读入最高价LowData = ApplData[1:, 3].astype(float) # 读入最低价CloseData = ApplData[1:, 4].astype(float) # 读入成交价ADJCloseData = ApplData[1:, 5].astype(float) # 读入ADJ成交价VolumeData = ApplData[1:, 6].astype(int) # 读入成交量Avg_OpenData = mean(OpenData) # 开盘价的算数平均数VMAP = average(CloseData, weights=VolumeData) # 成交价与成交量的加权平均数Max_HighData = max(HighData) # 历史最高价的最大值Low_LowData = min(LowData) # 历史最低价的最小值Ptp_CloseData = ptp(CloseData) # 成交价的极差Median_CloseData = median(CloseData) # 成交价的中位数Var_CloseData = var(CloseData) # 成交价的方差Population_Variance_CloseData = nansum(((CloseData - mean(CloseData)) ** 2))/(len(CloseData) - 1)# 由概率论知识可得,样本的无偏估计量为离差平方和除以样本估计量-1Rate_Return = diff(CloseData)/CloseData[:-1] # 股票收益率的计算StandardDeviation_Rate_Return = std(Rate_Return) # 收益率的标准差LogRate_Return = diff(log(CloseData)) # 对数收益率Index_Position = where(Rate_Return > 0) # 收益率大于0的索引Volatility_Annual = (std(LogRate_Return)/mean(LogRate_Return))/sqrt(1.0/252.0)# 股票的年波动率,对数收益率的标准差除以对数收益率的均值,再除以交易天数(252天)倒数的平方根
阅读全文
0 0
- Python Numpy 学习笔记(3)
- 【python】numpy学习笔记
- Python Numpy学习笔记
- Python Numpy 学习笔记
- 我的python学习笔记(3) numpy
- [Python] Numpy学习笔记(一)
- [Python] Numpy学习笔记(二)
- python学习笔记(2)--------Numpy
- Python Numpy 学习笔记(2)
- python numpy学习笔记(4)
- python numpy学习笔记(5)
- python numpy 学习笔记(6)
- python numpy学习笔记(7)
- numpy学习笔记(3)
- python numpy 库学习笔记
- python numpy 学习笔记(9)
- python numpy 学习笔记(10)
- NumPy学习笔记 (3)
- Sequence one(深搜)
- 一点想法
- Struts 2.5.10.1配置
- Ubuntu 14.04安装chrome浏览器
- phpmyadmin #2002 无法登录 MySQL 服务器
- Python Numpy 学习笔记(3)
- 高级控件(一)
- PHP新增的常用数组声明定义方法和注意细节
- Redis为什么使用单进程单线程方式也这么快?
- 考研之南京大学软件学院
- Python中装饰器的总结
- java中redis的使用
- Oracle那些事(8)-PL/SQL Developer安装
- XML文档基本认识和基于JAVA对简单解析