Python 数据分析中金融数据的来源库和简单操作

mac2022-06-30  27

目录

金融数据 pandas-datareaderTuShare金融学图表 案例

金融数据

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

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 类型

数据类型

股票分类数据http://tushare.org/classifying.html基本面数据http://tushare.org/fundamental.html宏观经济http://tushare.org/macro.html新闻事件数据http://tushare.org/newsevent.html

使用

安装: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 可满足我们的基本使用。

API链接:https://matplotlib.org/api/finance_api.html

常用的方法有:

candlestick2__ochl,candlestick2_ohlccandlestick_ochl,candlestick_ohlcplot_day_summary2_ochl,plot_day_summary2_ohlcplot_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()

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()

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()

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()

转载于:https://www.cnblogs.com/banshaohuan/p/11405244.html

最新回复(0)