获取股票数据

有个叫tushare的python包,可以很方便的用来获取A股数据,官方网址在
http://tushare.org/

1. Linux Mint下安装tushare

  • 系统环境兼容
    为了防止后续遇到一些系统库或者头文件找不到的问题,先安装一些必须的包
$apt-get install build-essential devscripts python-dev
  • 包管理器pip
$apt-get install python-pip

利用豆瓣源
编辑~/.pip/pip.conf,添加

[global]
index-url=http://pypi.douban.com/simple
  • 安装cython
$apt-get install cython
  • 安装pandas
    加sudo,因为需要创建/usr/local/lib/python2.7/dist-packages/pandas
$sudo apt-get install pandas
  • 安装tushare和matplotlib
$apt-get install tushare matplotlib

2. 代码范例

获取股票历史数据,通过图像展示收盘价走势

#-*-coding:utf-8 -*-

import tushare as ts
import matplotlib.pyplot as plt

class SHStock():
    def __init__(self, code):
        self.df = ts.get_hist_data(code)
        if self.df is not None:
            self.df.to_excel('/home/camus/Stock/data' + code + '.xlsx')
        else:
            print code + ' not existed.\n'

if __name__ == '__main__':
    code = raw_input('Enter Stock Code: ')
    handler = SHStock(code)
    indexes = []
    values = []
    try:
        for each in handler.df['close'].index:
            indexes.append(int(each.replace('-', '')))

        for eachvalue in handler.df['close'].values:
            values.append(float(eachvalue))
    except:
        print 'Error happens\n'
    else:
        print handler.df['close'][0]
        values.reverse()
        plt.plot(values, 'r*')
        plt.plot(values, 'b')
        plt.title('Stock Code = ' + code + '\nsample length = ' + str(len(values)))
        plt.xlabel('Time')
        plt.ylabel('Close Value')
        plt.grid(True)
        plt.show()
        #print handler.data

效果如下图所示

tushare示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶玄青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值