1. 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    
  1. data.to_csv('E:/csv statistic/day/601066.csv') 把读取的股票数据存入某个内存空间中
  1. #开始读某列数据
  2.  
  3. 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
  4. #计算时间加权平均值
    t=np.arange(len(c))
    print(np.average(c,weights=t))
    9.534940476190476
  1. #寻找最大值和最小值
    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
  1. #计算中程数和极差
    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))#从小到大排列
  1. 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]
  1. print('方差:',np.var(c))
    方差: 0.9610756835937502
    print('手动计算方差:',np.mean((c-c.mean())**2))
    手动计算方差: 0.9610756835937502
  1. #股票收益率的计算
    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.))#月收益率
  1. #定义一个 把日期转换为数字的函数
    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)
  1. 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) # 获取周每日的收盘价平均值的最小值是哪一天
  1.  
  1.  
  1.  
  1.  

利用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. MySQL注入与防御

    1.简介 1.1.含义 在一个应用中,数据的安全无疑是最重要的.数据的最终归宿都是数据库,因此如何保证数据库不被恶意攻击者入侵是一项重要且严肃的问题! SQL注入作为一种很流行的攻击手段,一直以来都受 ...

  2. node.js cluster模式启用方式

    众所周知,Node.js运行在Chrome的JavaScript运行时平台上,我们把该平台优雅地称之为V8引擎.不论是V8引擎,还是之后的Node.js,都是以单线程的方式运行的,因此,在多核心处理器 ...

  3. java.util.LinkedHashMap cannot be cast to xxx 和 net.sf.ezmorph.bean.MorphDynaBean cannot be cast to xxx

    java.util.LinkedHashMap cannot be cast to com.entity.Person 使用mybatis, resultMap映射的是实体类Person, 查询出来的 ...

  4. MATLAB—求直线或者线段之间的交点坐标

    function CrossPoint( ) %% 求两条直线的交点坐标 x1 = [7.8 8]; y1 = [0.96 0.94]; %line2 x2 = [8.25 8.25]; y2 = [ ...

  5. win21api、win32gui、win32con三个模块操作系统窗口时一些小技巧

    下面这段脚本是操作一个浏览器上弹窗,打开文件窗口,由于脚本 执行速度快,当时未添加第2行的延时时,脚本顺利的执行成功,但弹的窗却没有进行操作,建议后续如果脚本执行到打开弹窗时,延时个几秒再去操作所弹窗 ...

  6. flex布局大讲解

    http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

  7. 关于this的理解

    var o = { a:10, b:{ a:12, fn:function(){ console.log(this.a); //undefined console.log(this); //windo ...

  8. P3399 丝绸之路 dp

    题目背景 张骞于公元前138年曾历尽艰险出使过西域.加强了汉朝与西域各国的友好往来.从那以后,一队队骆驼商队在这漫长的商贸大道上行进,他们越过崇山峻岭,将中国的先进技术带向中亚.西亚和欧洲,将那里的香 ...

  9. Java面试知识点之计算机网络篇(一)

    前言:在Java面试中,计算机网络的知识也是一项重点,因此笔者在此对计算机网络的相关知识进行总结. 1.OSI参考模型 自下而上:物理层(物理介质,比特流).数据链路层(网卡.交换机).网络层(IP协 ...

  10. 【BZOJ3451】Normal

    [BZOJ3451]Normal Description 某天WJMZBMR学习了一个神奇的算法:树的点分治! 这个算法的核心是这样的: 消耗时间=0 Solve(树 a) 消耗时间 += a 的 大 ...