1、使用Pandas_datareader获取任意两只股票近三个月的交易数据,作出收盘价的变动图像。
使用EDU新东方、APEI 美国公共教育、BABA阿里巴巴为例。
雅虎不能用了,将‘get_data_yahoo’换成‘get_data_stooq’。
# 导入必要的包
import pandas_datareader.data as webdata
import datetime
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
# 起止日期
start_day=datetime.datetime(2022,2,7)
end_day=datetime.datetime(2022,5,7)
def stock_code(stock_code):
stock_info = webdata.get_data_stooq(stock_code,start_day,end_day)
# 图表内嵌中文字体问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sns.set_style({'font.sans-serif':['simhei','Arial']})
# 画图
plt.plot(stock_info['Close'])
plt.xlabel('日期')
plt.ylabel('收盘价')
plt.title('{}收盘价变动图'.format(stock_code))
plt.legend()
plt.show()
stock_code('EDU') # 新东方
stock_code('APEI') # 美国公共教育
stock_code('BABA') # 阿里巴巴
#导入必要的包
import pandas_datareader.data as webdata
import datetime
import pandas as pd
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
#datetime用于生成日期数据
start_day=datetime.datetime(2022,2,1)
end_day=datetime.datetime(2022,5,1)
#查询GOOG的信息
stock_code1='GOOG'
stock_info1=webdata.get_data_stooq(stock_code1,start_day,end_day)
print(stock_info1.head())
#查询^DJI的信息
stock_code2='^DJI'
stock_info2=webdata.get_data_stooq(stock_code2,start_day,end_day)
print(stock_info2.head())
#作图
plt.style.use('ggplot')#设置绘图风格
plt.rcParams['font.sans-serif']=['Microsoft YaHei']#设置字体
data1=stock_info1.pivot_table(index='Date',values='Close')
data1.plot(kind='line',
style=['-']
)
plt.xlabel('日期')#x轴标签
plt.ylabel('收盘价')#y轴标签
plt.title('GOOG收盘价变动图')#图像标题
plt.show()#显示图形
data2=stock_info2.pivot_table(index='Date',values='Close')
data2.plot(kind='line',
style=[':']
)
plt.xlabel('日期')#x轴标签
plt.ylabel('收盘价')#y轴标签
plt.title('DJI收盘价变动图')#图像标题
plt.show()#显示图形