Python金融数据挖掘 第6章 复习思考题1

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()#显示图形

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值