Python练习题(四)

pandas_datareader、matplotlib、seaborn、scipy

  1. 题目:股票市场分析
    输出1:阿里及亚马逊两者走势图

    输出2:阿里每日变化情况

    输出3:五家公司的价格走势图

    输出4:亚马逊及谷歌 展示pearsonr,p

    输出5:亚马逊及谷歌 展示R^2

    输出6:多个子图

    输出7:

    有48%的信心对于AAPL最大亏损是0.0013426490233132958
    有95%的信心对于MSFT最大亏损是-0.020935521929566915
    请按任意键继续. . .

    代码:

		import numpy as np
		import pandas as pd
		from pandas import Series, DataFrame
		# 股票数据获取
		import pandas_datareader as pdr
		# 可视化
		import matplotlib.pyplot as plt
		import seaborn as sb
		# time
		from datetime import datetime
		# Add an annotation with a statistic summarizing the bivariate relationship
		from scipy import stats

		# ----------------------------------------------------
		'''start = datetime(2015, 9, 20)
		alibaba = pdr.get_data_yahoo('BABA', start=start)
		amazon = pdr.get_data_yahoo('AMZN', start=start)

		# 1.两者走势图
		# alibaba['Adj Close'].plot(color='b', linestyle='-')
		# amazon['Adj Close'].plot(color='g', linestyle='--')
		# 2.alibaba每天变化情况
		sb.distplot(alibaba['Adj Close'].pct_change().dropna(), bins=100, color='purple')

		plt.show()'''
		# ----------------------------------------------------
		start = datetime(2015, 1, 1)
		company = ['AAPL', 'GOOG', 'MSFT', 'AMZN', 'FB']  # 苹果/谷歌/微软/亚马逊/脸书
		top_tech_df_a = pdr.get_data_yahoo(company, start=start)['Adj Close']
		top_tech_df_b = top_tech_df_a.pct_change()

		plt.style.use('ggplot')

		# 3.五家公司的价格走势图,若只需要其中三家,代码可top_tech_df_a['AAPL', 'FB', 'MSFT'].plot()
		# top_tech_df_a.plot()

		# 4.展示 pearsonr,p
		# sb.jointplot('AMZN', 'GOOG', top_tech_df_b, kind='scatter', color='g').annotate(stats.pearsonr)
		# 5.展示 R^2
		# rsquare = lambda a, b: stats.pearsonr(a, b)[0] ** 2
		# sb.jointplot('AMZN', 'GOOG', top_tech_df_b, kind='scatter', color='y').annotate(rsquare, template="{stat}: {val:.2f}", stat="$R^2$")
		# 6.多个子图
		sb.pairplot(top_tech_df_b.dropna())

		plt.show()

		# 7.风险评估
		a = top_tech_df_b['AAPL'].quantile(0.52)
		b = top_tech_df_b['MSFT'].quantile(0.05)
		print('有48%的信心对于AAPL最大亏损是{}\n有95%的信心对于MSFT最大亏损是{}'.format(a, b))

未完待续,,,

  • 19
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值