m0_58296881 2022-06-07 09:01 采纳率: 100%
浏览 692
已结题

Python报错:name ’get_price’ is not defined ,请问要怎么解决呀,前面已经对get_price定义了呀

我进行月份效应的检验,输入代码如下:

月份效应

获取数据

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False

def get_daily_ret(security,start_date,end_date):
df=get_price(security, start_date,end_date, frequency='daily', fields=['open','close','high','low','volume','money'])
df.index=pd.to_datetime(df.index)

计算收益率

daily_ret=df['close'].pct_change()

删除缺失值

daily_ret=daily_ret.dropna()
return daily_ret

月度收益情况

def plot_monthly_ret(security,title):
daily_ret=get_daily_ret(security,start_date,end_date)
monthly_ret=daily_ret.resample('M').apply(lambda x:((1+x).prod()-1))
plt.rcParams['figure.figsize']=[20,5]
monthly_ret.plot()
start=monthly_ret.index[0]
end=monthly_ret.index[-1]

#显示月收益率大于3/4分位数的点
dates=monthly_ret[monthly_ret>monthly_ret.quantile(0.75)].index
for i in range(0,len(dates)):
plt.scatter(dates[i], monthly_ret[dates[i]],color='r')
labs = mpatches.Patch(color='red',alpha=.5, label="月收益率高于3/4分位")
plt.title(title+'月度收益率',size=15)
plt.legend(handles=[labs])
plt.xlabel('时间')
plt.ylabel('收益率')
plt.show()

security='000300.XSHG'
start_date='2012-01-01'
end_date='2022-04-01'
plot_monthly_ret(security,'沪深300指数')
最后Python报错:name ’get_price’ is not defined
,请问要怎么解决呀,前面已经对get_price定义了呀

展开全部

  • 写回答

4条回答 默认 最新

  • 请叫我问哥 Python领域新星创作者 2022-06-07 09:23
    关注

    你的代码里 df = get_price()并不是对get_price进行定义了,恰恰相反,这句代码是要使用它,但是它之前没有被定义,所以报错了。
    你检查一下是不是在代码的其他地方有类似于 def get_price() 这样的定义方法,或者是复制黏贴时漏掉了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月7日
  • 创建了问题 6月7日

悬赏问题

  • ¥15 STS/eclipse导入gradle项目时报错如下
  • ¥15 centos7.6进不去系统,卡在数字7界面
  • ¥15 Tensorflow采用interpreter.allocate_tensors()分配内存出现ValueError: vector too long报错
  • ¥15 使用CGenFF在线生成血红素辅基拓扑结构遇到问题
  • ¥15 在fragment使用okhttp同步上传文件,能不能在fragment销毁后还可以继续上传文件?
  • ¥20 matlab代码实现可达矩阵形成骨骼矩阵
  • ¥15 关于地板的木纹和图库中的匹配的
  • ¥30 机器学习预测疾病模型流程疑问
  • ¥50 2048Python实现
  • ¥15 使用ads进行低噪放仿真没有结果且不报错
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部