首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >雅虎财经python中新的unable to read URL?

雅虎财经python中新的unable to read URL?

提问于 2022-04-27 13:18:12
回答 0关注 0查看 105

import numpy as np

import pandas as pd

import pandas_datareader.data as web

from datetime import date

import numpy.random as npr

import matplotlib.pyplot as plt

from pylab import mpl

#设置中文字体

plt.rcParams['font.family'] = 'Arial Unicode MS'

plt.rcParams['axes.unicode_minus']=False

df = web.DataReader('600036.SS','yahoo',date(2018,1,1),date(2020,12,31))['Adj Close']#计算对数收益率

R = np.log(df/df.shift(1))

#剔除缺失值

R = R.dropna()

#计算年化收益率

miu = R.mean()*252

#计算年化波动率

sigma = R.std()*np.sqrt(252)

print('茅台白酒股票预期年收益率为{:.4f},收益率的年化波动率为{:.4f}'.format(miu,sigma))

#生成2022年的交易日日期,其中freq='B'表示工作日,freq='D'表示日历日

date = pd.period_range('2022/1/2','2022/12/31',freq = 'B')

#转换成str格式

date = date.astype(str)

n = len(date)

I = 100#模拟100条路径

dt = 1/365

result = np.zeros((n,I))

#招商银行2022年1月2日股价作为初始股价

result[0] = 43.17

#根据几何布朗运动公式预测股价

for t in range(1,n):

e = npr.standard_normal(I)

result[t] = result[t-1]*np.exp((miu - 0.5*sigma**2)*dt+sigma*e*np.sqrt(dt))

result = pd.DataFrame(result,index = date)

print(result)

#绘制茅台白酒2023年股价模拟路径

plt.plot(result)

plt.xlabel('日期')

plt.ylabel('股价')

plt.xticks([1,64,126,191,252],['2023.1.1','2023.3.1','2023.5.1','2023.8.1','2023.11.31'])

plt.xticks(rotation = 30)#调整横坐标刻度值的角度

plt.title('2022年1月2日-2022年12月31日招商银行股价模拟')

plt.show()

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档