目录
可能用到的库:
import pandas as pd
import numpy as np
import datetime
import matplotlib.pyplot as plt
import seaborn
import tushare as ts
%matplotlib inline
import warnings; warnings.simplefilter('ignore') #忽略可能会出现的警告信息,警告并不是错误,可以忽略;
一、获得金融数据
1.1 tushare获取单个对象数据
#获得中信证券的股价信息
zxzq = ts.get_k_data('600030', start = '2019-01-01', end = '2019-03-01')
zxzq.head()
1.2 tushare pro 获取单个对象数据
ts.set_token('你注册的token')
pro = ts.pro_api()
df = pro.daily(ts_code='600030.SH', start_date='20190101', end_date='20190301')
df
不知道tushare pro的token,可以看我上篇博客量化金融分析AQF(5):金融数据获取、清洗、整理和存储(Yahoo、Tushare)
1.3 同时获取多只股价信息
编写函数同时获得多只股票的数据:
以后有需要直接复制(只需修改时间):
def multiple_stocks(tickers):
def data(ticker):
stocks = ts.get_k_data(ticker,start = '2019-01-01', end = '2019-03-01') #定义了stocks这个daraFrame;
stocks.set_index('date',inplace = True)
stocks.index = pd.to_datetime(stocks.index) #要把日期时间parse成python支持的datetime格式,不然很多python层面的操作无法完成;
return stocks #返回的是进行完处理的stcoks这个DataFrame;
datas = map(data, tickers)
return pd.concat(datas, keys=tickers, names=['Ticker','Date']) #multiple_stocks函数返回的是拼接后的大DataFrame
获得以下三只股票数据:
tickers = ['600030', '000001','600426']
all_stocks = multiple_stocks(tickers)
all_stocks
如果报错,是tushare数据库问题,可以重启iPython