全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
5321 6
2019-01-06
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
你好,请问是否方便附上数据呢
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

2019-1-8 10:23:11
詹惠儿 发表于 2019-1-7 16:33
你好,请问是否方便附上数据呢
我知道问题了,日度流通值里有空值,导致结果出现很多nan,但是我已经把空值填充0值了,而且0不影响结果,但是却运行错误,怎么解决这种问题呢?
二维码

扫码加我 拉你入群

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

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

2019-1-8 10:27:46
詹惠儿 发表于 2019-1-7 16:33
你好,请问是否方便附上数据呢
我知道问题了,日度流通值里有空值,导致结果出现很多nan,但是我已经把空值填充0值了,而且0不影响结果,但是却运行错误,怎么解决这种问题呢?
二维码

扫码加我 拉你入群

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

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

2019-1-8 19:36:01
你好好看看原数据,放在excel里面看,除了空值应该还有inf值
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群