import sys
import tushare as ts
import numpy as np
data=ts.get_h_data('601066')
print(data)
#读出兴业银行7列数据
date   open    high close low     volume      amount    
data.to_csv('E:/csv statistic/day/601066.csv')  把读取的股票数据存入某个内存空间中
#开始读某列数据

c,v=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,5),unpack=True)#收盘价,交易量
vwap=np.average(c,weights=v)#成交量加权平均值,
print('vwap=',vwap)
vwap= 9.63994147552952
print(np.mean(c))
9.0965625 #计算时间加权平均值
t=np.arange(len(c))
print(np.average(c,weights=t))
9.534940476190476
#寻找最大值和最小值
h,l=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(2,4),unpack=True)
print(np.max(h))
11.98
print(np.min(l))
6.5
#计算中程数和极差
print(np.max(h)+np.min(l)/2)#计算中程数
print(np.ptp(h))#计算最大值和最小值的差值
print(np.ptp(l))#计算交易量化的差值
15.254999999999999
4.19
4.92
#统计分析
c=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,),unpack=Trueprint(np.median(c))#中间数
8.850000000000001
print('sorted:',np.msort(c))#从小到大排列
sorted: [ 7.77 7.83 7.87 7.92 7.95 8. 8.06 8.15 8.17 8.19 8.2 8.2 8.23  8.27  8.28  8.32  8.32  8.35  8.36  8.36  8.36  8.36 
8.48 8.5
8.53 8.53 8.54 8.55 8.61 8.61 8.64 8.82 8.88 9.09 9.15 9.37 9.38 9.38 9.39 9.45 9.45 9.48 9.52 9.67 9.7 9.73 9.8 9.83
9.86 9.91 9.93 10.06 10.23 10.27 10.31 10.33 10.33 10.41 10.42 10.56 10.8 11.09 11.46 11.85]
print('方差:',np.var(c))
方差: 0.9610756835937502
print('手动计算方差:',np.mean((c-c.mean())**2))
手动计算方差: 0.9610756835937502
#股票收益率的计算
c=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,),unpack=True)
returns=np.diff(c)/c[:-1] #diff计算差分,总体是求股票收益率
print(np.std(returns)) # 求标准差
log_returns=np.diff(np.log(c)) #股票对数收益率
print(log_returns)
posretindices=np.where(returns>0)#股票收益率大于0的那几天
print(posretindices)
ann_vol=np.std(log_returns)/np.mean(log_returns)#日收益率
print(ann_vol)
ann_vol=ann_vol/np.sqrt(1./252.)#年收益率
print(ann_vol)
print(ann_vol*np.sqrt(1./12.))#月收益率
#定义一个 把日期转换为数字的函数
from datetime import datetime
def date2num(s):
return datetime.strptime(s,'%Y-%m-%d').date().weekday()
#读取收盘价
close=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(3,),unpack=True)
#读取日期
dates=np.loadtxt('E:/csv statistic/day/601066.csv', skiprows=1,delimiter=',',usecols=(0,),unpack=True,dtype=bytes).astype(str)
#读取的str数据转换为 数字
for i in range (dates.size):
dates[i]=date2num(dates[i])
dates=dates.astype(np.int8)
print(dates.dtype)
print(dates)
averages = np.zeros(5)  # 定义一个空数组
# 依次获取不同天的索引,然后根据索引求得close(收盘价)数组中所有的对应值,计算平均值,把平均值加入到averages数组中
for i in range(5):
indices = np.where(dates == i)
prices = np.take(close, indices)
avg = np.mean(prices)
print("Day", i, "prices", prices, "Average", avg)
averages[i] = avg
top = np.max(averages) # 计算周每日的收盘价平均值的最大值
np.argmax(averages) # 获取周每日的收盘价平均值的最大值是哪一天
bottom = np.min(averages) # 计算周每日的收盘价平均值的最小值
np.argmin(averages) # 获取周每日的收盘价平均值的最小值是哪一天
 

 
 

利用tushare进行对兴业银行股价的爬取,并使用numpy进行分析的更多相关文章

  1. Python 爬取淘宝商品数据挖掘分析实战

    Python 爬取淘宝商品数据挖掘分析实战 项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 爬取淘宝商品 ...

  2. 利用Python3的requests和re库爬取猫眼电影笔记

    以下笔记,作为参考借鉴,如有疑问可以联系我进行交流探讨! 代码思路很简单,简单概括为:   首先利用requests的get方法获取页面的html文件,之后对得到的html文件进行相对应的正则处理,然 ...

  3. 利用python的requests和BeautifulSoup库爬取小说网站内容

    1. 什么是Requests? Requests是用Python语言编写的,基于urllib3来改写的,采用Apache2 Licensed 来源协议的HTTP库. 它比urllib更加方便,可以节约 ...

  4. 毕设之Python爬取天气数据及可视化分析

    写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...

  5. Python爬虫使用lxml模块爬取豆瓣读书排行榜并分析

    上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢.本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快. 本次爬取的豆瓣书籍排行榜的首页地 ...

  6. 常用正则表达式爬取网页信息及HTML分析总结

    Python爬取网页信息时,经常使用的正则表达式及方法. 1.获取<tr></tr>标签之间内容 2.获取<a href..></a>超链接之间内容 3 ...

  7. python实例:自动爬取豆瓣读书短评,分析短评内容

    思路: 1.打开书本“更多”短评,复制链接 2.脚本分析链接,通过获取短评数,计算出页码数 3.通过页码数,循环爬取当页短评 4.短评写入到txt文本 5.读取txt文本,处理文本,输出出现频率最高的 ...

  8. python爬取B站视频弹幕分析并制作词云

    1.分析网页 视频地址: www.bilibili.com/video/BV19E… 本身博主同时也是一名up主,虽然已经断更好久了,但是不妨碍我爬取弹幕信息来分析呀. 这次我选取的是自己 唯一的爆款 ...

  9. 团队-爬取豆瓣电影TOP250-需求分析

    需求: 1.搜集相关电影网址 2.实现相关逻辑的代码 项目步骤: 1.通过豆瓣网搜索关键字,获取相关地址 2.根据第三方包实现相关逻辑  

随机推荐

  1. 孟岩:通证(token)和通证经济的目的在于改善现有经济的效率性

    孟岩是最早将token翻译成为通证的区块链大咖,这个翻译已经得到到了越来越人的认可.原来它叫代币,孟岩建议把它翻译成通证.以下是孟岩关于通证的注解. (孟岩,柏链道捷CEO,CSDN副总裁,区块链通证 ...

  2. LeetCode算法题-Valid Palindrome(Java实现)

    这是悦乐书的第174次更新,第176篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第33题(顺位题号是125).给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略 ...

  3. February 14th, 2018 Week 7th Wednesday

    Love does not dominate, it culitvates. 爱不是羁绊,而是成就. Love should not wipe out everything you are, love ...

  4. 强大的Notepad++,竟然还是自由使用的

    这么好用的工具,竟然还是可以自由使用的的,当然就不用去找某些软件的破解版了. 除了本身很好用,还有插件功能,插件许多也是自由使用的,利用插件就可以实现程序员需要的一个手工编辑器了.

  5. (4)Python列表list

       

  6. numpy中矩阵乘法,星乘(*)和点乘(.dot)的区别

    import numpy a = numpy.array([[,], [,]]) b = numpy.array([[,], [,]]) 星乘表示矩阵内各对应位置相乘,矩阵a*b下标(0,0)=矩阵a ...

  7. 【转】iOS弹幕库OCBarrage-如何hold住每秒5000条巨量弹幕

    最近公司做新需求, 原来用的老弹幕库, 已经无法满足需要. 迫不得已自己写了一套弹幕库OCBarrage. 这套弹幕库轻量, 可拓展, 高度自定义, 超高性能, 简单易上手. 无论哪家公司软件的性能绝 ...

  8. Linux:Day8(上) 文件系统挂载和管理工具

    文件系统管理: 将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载: 解除此关联关系的过程称之为卸载: 把设备关联挂载点:Mount Point ...

  9. 當 Alexa 遇上 ESP8266 (一)

    https://www.birdandgua.net/bird/2017/12/when_alexa_meets_esp8266-1/ 去年的 AWS 的 re:Invent 上,我見識了 Alexa ...

  10. [ASP.NET]ScriptManager控件使用 转载

    目录 概述 局部刷新 错误处理 类型系统扩展 注册定制脚本 注册 Web 服务 在客户端脚本中使用认证和个性化服务 ScriptManagerProxy 类 添加 ScriptManager 控件 客 ...