估值因子和规模因子
估值因子和规模因子的作用是帮助投资者更好地把握股票市场的走势和投资机会。通过对估值因子和规模因子的分析和比较,投资者可以找到低估值、高规模的股票,从而实现盈利的目的。
使用估值因子和规模因子获取股票收益的情景可以是,当投资者发现某只股票的市值较大,且估值较低时,可以考虑买入该股票;当投资者发现某只股票的市值较小,且估值较高时,可以考虑卖出该股票。通过使用估值因子和规模因子,投资者可以更好地把握股票市场的走势和投资机会,从而实现盈利的目的。
估值因子
估值因子是指利用股票的估值指标来进行分析和比较的一种方法。常用的估值指标包括市盈率、市净率等,通过对这些指标的分析和比较,可以判断股票的估值水平和投资价值。
规模因子
规模因子是指利用股票的市值来进行分析和比较的一种方法。通过对不同市值的股票进行分析和比较,可以判断股票的规模大小和投资价值。
获取估值因子和规模因子的Python函数
该函数用于获取股票的估值因子和规模因子,其中stocklist是股票代码列表,date是获取数据的日期。该函数首先通过query函数获取股票的市值、市盈率和市净率等估值指标的数据,然后对市值取log对数以消去差异过大带来的影响,最后对估值因子和规模因子进行标准化处理。函数返回处理后的估值因子和规模因子数据。
#估值因子和规模因子获取,标准化处理
def get_factors(stocklist=None,date=None):
import numpy as np
q1 = query(
valuation.symbol,
valuation.date,
valuation.market_cap,
valuation.pe_ttm,
valuation.pb
).filter(
valuation.symbol.in_(stocklist)
)
df_valANDsize = get_fundamentals(q1, date=date)
# 市值取log对数以消去差异过大带来的影响
df_valANDsize['valuation_market_cap']= -np.log(df_valANDsize['valuation_market_cap'])
# 对因子值
df_valANDsize['norm_market_cap'] = (df_valANDsize['valuation_market_cap']-
df_valANDsize['valuation_market_cap'].mean())/df_valANDsize['valuation_market_cap'].std()
df_valANDsize['norm_pe_ratio'] = (df_valANDsize['valuation_pe_ttm']-
df_valANDsize['valuation_pe_ttm'].mean())/df_valANDsize['valuation_pe_ttm'].std()
df_valANDsize['norm_pb_ratio'] = (df_valANDsize['valuation_pb']-
df_valANDsize['valuation_pb'].mean())/df_valANDsize['valuation_pb'].std()
return df_valANDsize