量化交易研究———高级篇(1)实现代码(重要部分。)

选股策略
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 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值