zoukankan      html  css  js  c++  java
  • 股票数据的处理(获取,头部尾部显示,循环处理,向量化处理,提取列数据,画图)

    # hanbb
    # come on!!!
    import pandas_datareader.data as web
    import datetime
    import numpy as np
    import matplotlib.pyplot as plt
    start = datetime.datetime(2016, 1, 1) # or start = '1/1/2016'
    end = datetime.date.today()
    date = web.get_data_yahoo('300481.sz',start=start,end=end)
    # DAX = web.DataReader(name="GDAXI",data_source="yahoo",start=start,end=end)
    
    # print(date.info()) # 打印基本信息
    # print(date.head()) # 打印头五条信息
    # print(date.tail()) # 打印后面五条信息
    
    # 图形显示
    # plt.plot(date['Close'])
    # plt.show()
    
    '''
    # 循环方法处理
    date['ret_loop']=0.0  # 增加一列全部是零
    for i in range(1,len(date)):              # 一列数据的逐个处理
         date['ret_loop'][i]=np.log(date["Close"][i]/date["Close"][i-1])
    #
    # # plt.plot(date['ret_loop'])
    # # plt.show()
    # print(date[['Close','ret_loop']].tail())   # 打印两列的尾部信息
    '''
    
    # 向量化处理
    date['return']=np.log(date["Close"]/date["Close"].shift(1))
    print(date[['Close','return']].tail())
    
    # 图像显示
    plt.figure(figsize=(7,5))       # 确定图片大小
    plt.subplot(211)                # 确定第一个图的位置 (行,列,第几个)两行一列第一个图
    
    plt.plot(date['Close'],'b',label="Close")
    
    plt.grid(True)
    plt.axis('tight')
    plt.xlabel("Date")
    plt.ylabel('Colse')
    plt.title("300481",size=20)
    
    plt.legend(loc=0)
    
    plt.subplot(212)               # 确定第一个图的位置
    plt.plot(date['return'],'g',label="Return")
    plt.ylim(-0.15,0.15)
    plt.ylabel("Return")
    plt.legend(loc=0)
    
    plt.show()

  • 相关阅读:
    numpy 支持切片取值,使用ix_ 也可以取到
    pyinstaller 打包文件成 exe
    matplotlib 直方图概率不为1
    小提琴图 ValueError: object arrays are not supported
    pip 生成 requirements.txt
    CF1515E(连续段 dp)
    Lg7 月赛(构造,树形 dp)
    [省选联考 2020 A 卷] 组合数问题 题解报告
    愤怒的小 N 题解报告
    CF32E 题解
  • 原文地址:https://www.cnblogs.com/hanbb/p/7862584.html
Copyright © 2011-2022 走看看