for i in stocks:
# 获得前一个交易日的日期(因为当前交易日你是不知道当前收盘价的)
D=getDay(dateStr,-1)
alpha = []
# 一个循环,对每一个财务季度进行获取因子
for j in range(0,lags):
# 查询财务因子的语句
q = query(indicator,valuation).filter(indicator.code.in_([i]))
f_temp=get_fundamentals(q,D)
row_name=i+'_lag'+str(j)
#先判定是否上市,如果上市,才将其装入
if len(f_temp)>0:
#如果能取到数据,说明已经上市
f_temp=f_temp[cols2]
f_temp.index=[row_name]
table_factors.ix[[row_name],cols2]=f_temp
#得到本期财报的披露日期向前推一个日期:
LD=getDay(table_factors['pubDate'][row_name],-1)
r=getAlpha(i,LD,D,g.rf)[0]
table_factors.ix[[row_name],['alpha']]=r
好奇这一段code是不是有点问题?因为D一直都没改变, 所以f_temp=get_fundamentals(q,D)在4次循环里,取的值都一样。
2017-05-04