大市值风格是否会转变?

看到招商证券的一篇文章,认为未来行情会更偏向小市值的股票。
于是想验证一下,2021年以来,不同市值股票的表现如何,也就是收益率的大小,然后用excel的条件格式来描绘。
主要思路就是把不同股票按市值分成40组,1是最小,40是市值最大,并计算不同组的平均收益率。
数据是用choice导出的,这里貌似发不了。选的格式是:横轴是时间,按指标分类,前4000行是涨跌幅,后4000行是总市值。

import pandas as pd
import numpy as np

data = pd.read_excel('市值因子的转变.xlsx')

data1 = data[data['指标']=='涨跌幅']
data2 = data[data['指标']=='总市值']

data0 = pd.concat([data1,data2.reset_index()],axis=1)
data0 = data0.dropna()

data0 = data0.drop('index',axis=1)

date = list(data1.columns)[2:]

data1 = data0.iloc[:,0:28]
data2 = data0.iloc[:,28:]

df_all = pd.DataFrame(index=list(range(1,41)))

for i in range(0,26):#时间升序
    df1 = data1.iloc[:,i+2:i+3]
    df2 = data2.iloc[:,i+2:i+3]
    df = pd.concat([df1,df2],axis=1)
    df.columns=['涨跌幅','市值']
    df0 = pd.qcut(df['市值'],40,labels=list(range(1,41)))#市值升序
    df = pd.concat([df,df0],axis=1)
    df.columns=['涨跌幅','市值','排序']
    df_gb = df.groupby('排序',sort=False).agg({
     '涨跌幅':'mean'})
    df_all = pd.concat([df_all,df_gb],axis=1)

df_all.columns = date
df_all.to_excel('市值因子的转变_处理后.xlsx')

效果类似这样:

总的来说目前还是高市值的机会更多。

你可能感兴趣的:(python)