请选择 进入手机版 | 继续访问电脑版
楼主: hybing92
4495 6

[问答] 用numpy.average()做加权平均,结果是nan? [推广有奖]

  • 2关注
  • 0粉丝

本科生

72%

还不是VIP/贵宾

-

威望
0
论坛币
1051 个
通用积分
3.8001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
10152 点
帖子
22
精华
0
在线时间
173 小时
注册时间
2015-4-26
最后登录
2024-3-25

hybing92 在职认证  发表于 2019-1-6 15:16:31 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
import numpy as np
import pandas as pd
exante_beta = pd.read_csv('beta_0.csv') #导入回归得到的ex-ante beta
monthly_profit = pd.read_csv('alpha_1.csv') #导入股票每月收益率
weighted_index_1 = pd.read_csv(open('日度流通值.csv')) #导入股票每月市值
weighted_index = pd.DataFrame(weighted_index_1).fillna(0)
mean_beta = pd.DataFrame(columns=['beta1','beta2','beta3','beta4','beta5'])
mean_profits = pd.DataFrame(columns=['prof1','prof2','prof3','prof4','prof5']) #创建两个空列表
#对每行数据做循环
for i in range(2432):
    beta = exante_beta.iloc[i]
    profits = monthly_profit.iloc[i]
    weight = weighted_index.iloc[i]
    for index in beta.index:
        if beta[index] == 99999:
            beta.pop(index) #排除beta无效值
    beta1 = beta[1:].sort_values()#将股票按beta排序并分组
    window = len(beta1)//5
    b1 = beta1[0:window]
    #将每组alpha的空值排除
    profits_1 = pd.DataFrame(profits[b1.index]).dropna()
   #求组合alpha的加权平均
    prf1 = np.average(profits_1,axis=0, weights=weight[profits_1.index])
回归的结果出现很多‘nan’,可是空值已经排除了,求大神解惑,谢谢!!!



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:加权平均 月收益率 行数据 收益率

詹惠儿 发表于 2019-1-7 16:33:01 |显示全部楼层 |坛友微信交流群
你好,请问是否方便附上数据呢

使用道具

hybing92 在职认证  发表于 2019-1-7 22:08:45 |显示全部楼层 |坛友微信交流群
詹惠儿 发表于 2019-1-7 16:33
你好,请问是否方便附上数据呢
数据有点多,我先用回归的得到的beta值分组,然后以公司流通值为权重,对每组所含股票的每月超额收益做加权平均。数据用的是07年到16年所有A股上市公司股票数据。请问但看这段程序有问题么?我之前测试时都没问题

使用道具

hybing92 在职认证  发表于 2019-1-8 10:23:11 |显示全部楼层 |坛友微信交流群
詹惠儿 发表于 2019-1-7 16:33
你好,请问是否方便附上数据呢
我知道问题了,日度流通值里有空值,导致结果出现很多nan,但是我已经把空值填充0值了,而且0不影响结果,但是却运行错误,怎么解决这种问题呢?

使用道具

hybing92 在职认证  发表于 2019-1-8 10:27:46 |显示全部楼层 |坛友微信交流群
詹惠儿 发表于 2019-1-7 16:33
你好,请问是否方便附上数据呢
我知道问题了,日度流通值里有空值,导致结果出现很多nan,但是我已经把空值填充0值了,而且0不影响结果,但是却运行错误,怎么解决这种问题呢?

使用道具

henryzard 发表于 2019-1-8 19:36:01 |显示全部楼层 |坛友微信交流群
你好好看看原数据,放在excel里面看,除了空值应该还有inf值

使用道具

齐物论pi 学生认证  发表于 2019-1-9 00:18:23 来自手机 |显示全部楼层 |坛友微信交流群
数据有缺失值

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 02:47