python处理金融数据_Python 数据分析中金融数据的来源库和简单操作

金融数据

数据分析离不开数据的获取,这里介绍几种常用的获取金融方面数据的方法。

pandas-datareader

pandas-datareader 库包含了全球最著名的几家公司所整理的金融数据,这些数据库包括:

安装

pip install -U pandas-datareader

使用

引入库:import pandas_datareader.data as web

获取数据:

web.DataReader(name=,data_source=,start=,end=)

通过指定的数据源获取金融数据并返回 DataFrame 类型的数据。

name:数据集名称,通常是股票代码

data_source:数据源,yahoo,google,fred,ff 等

start,end 起始(默认为 2010/01/01)、结束日期(默认为当天)

start_dt = datetime.datetime(2010, 1, 1)

end_dt = datetime.date.today()

google_data = web.DataReader(name='GOOG', data_source='google', start=start_dt, end=end_dt)

TuShare

免费、开源的python财经数据接口包

实现对股票等金融数据从数据采集、清洗加工到数据存储的过程

TuShare 返回的绝大部分的数据格式都是 pandas DataFrame 类型

数据类型

使用

安装:

pip install -U tushare

引入

import tushare as ts

历史数据获取

ts.get_k_data()

import tushare as ts

start_dt = datetime.datetime(2010, 1, 1)

end_dt = datetime.date.today()

maotai_data = ts.get_k_data(code='600519', start='2010-01-01', end='2017-07-01')

实时数据获取

ts.get_today_all()

金融学图表

matplotlib 库自带的画图工具 matplotib.finance 可满足我们的基本使用。

常用的方法有:

candlestick2__ochl,candlestick2_ohlc

candlestick_ochl,candlestick_ohlc

plot_day_summary2_ochl,plot_day_summary2_ohlc

plot_day_summary_oclh,plot_day_summary_ohlc

案例

引入相应库:

import tushare as ts

import matplotlib.pyplot as plt

import matplotlib

from matplotlib.dates import date2num, DateFormatter

import matplotlib.finance as mpf

import pandas as pd

%matplotlib inline

获取数据:

stock_data = ts.get_k_data(code='600519', start='2017-01-01', end='2017-07-01')

candlestick2_ochl

fig, ax = plt.subplots(figsize=(12, 5))

mpf.candlestick2_ochl(ax, stock_data['open'], stock_data['close'], stock_data['high'], stock_data['low'],

width=0.6, colorup='r', colordown='g')

ax.set_xticklabels(stock_data['date'])

plt.grid(True)

plt.xticks(rotation=45)

plt.ylabel('Stock Price')

plt.xlabel('Date')

plt.show()

20190817152704.png

candlestick_ochl

ochl_data = stock_data[['date', 'open', 'close', 'high', 'low']]

ochl_data['date'] = pd.to_datetime(ochl_data['date'])

ochl_data['date'] = ochl_data['date'].apply(date2num)

fig, ax = plt.subplots(figsize=(12, 5))

# 蜡烛图

mpf.candlestick_ochl(ax, ochl_data.values, width=.6, colorup='r', colordown='g')

ax.xaxis_date()

ax.autoscale_view()

ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))

plt.grid(True)

plt.xticks(rotation=45)

plt.ylabel('Stock Price')

plt.xlabel('Date')

plt.show()

20190817152805.png

plot_day_summary2_ochl

fig, ax = plt.subplots(figsize=(12, 5))

mpf.plot_day_summary_ochl(ax, stock_data['open'], stock_data['close'], stock_data['high'], stock_data['low'],

colorup='r', colordown='g')

ax.set_xticklabels(stock_data['date'])

plt.grid(True)

plt.xticks(rotation=45)

plt.ylabel('Stock Price')

plt.xlabel('Date')

plt.show()

20190817152901.png

plot_day_summary_oclh

oclh_data = stock_data[['date', 'open', 'close', 'low', 'high']]

oclh_data['date'] = pd.to_datetime(oclh_data['date'])

oclh_data['date'] = oclh_data['date'].apply(date2num)

fig, ax = plt.subplots(figsize=(12, 5))

mpf.plot_day_summary_oclh(ax, oclh_data.values, colorup='r', colordown='g')

ax.xaxis_date()

ax.autoscale_view()

ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))

plt.grid(True)

plt.xticks(rotation=45)

plt.ylabel('Stock Price')

plt.xlabel('Date')

plt.show()

20190817153000.png

PythonStudyTogether.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值