1、 设置所有深港通股票为股票池
2、 获取深港通股票的流通市值0—70亿
3、 获取深港通股票的净资产收益率(ROE)从小到大排列,取排名前100只股票
4、 获取深港通股票的每股收益(EPS)从小到大排列,取排名前100只股票
5、 选取满足以上条件的前30只股票
def tradestocklist(stock,date):
#流通市值、净资产收益率、每股收益数据获取
q = query(valuation.symbol,
valuation.current_market_cap,
profit.roe_ths,
growth.basic_eps_year_growth_ratio
).filter(valuation.symbol.in_(stock))
df = get_fundamentals(q, date = date)
#确定市值小于90亿
df0 = df[df['valuation_current_market_cap'] < 9000000000]
df0 = list(df0['valuation_symbol'])
#净资产收益率前200
df1 = pd.DataFrame(df).sort_values(by = 'profit_roe_ths', ascending = False)
df1 = df1.iloc[:200]
df1 = list(df1['valuation_symbol'])
#每股收益前200
df2 = pd.DataFrame(df).sort_values(by = 'growth_basic_eps_year_growth_ratio', ascending = False)
df2 = df2.iloc[:200]
df2 = list(df2['valuation_symbol'])
#同时满足条件123的个股
stock1 = list(set(df1)&set(df2)&set(df0))
log.info('今日选股数量:{},具体:{}'.format(len(stock1),stock1))
return stock1