给定指数与资本生成股票池

用户头像mx_*716bsb
2023-12-13 发布

很简单的逻辑与思路:先将生成2或多个指数的股票池,然后利用query函数进行筛选。

下面代码中的index可以扩展到多个,cap的条件也可以换成各种财务指标,例如ROE、ROI、EV/EBITDA等,以便于筛选出成长性好、未来现金流稳定的公司。

代码如下:

def generate_stocks_pool(index_1,index_2,cap_l,cap_h):
    #获取指数成分列表
    stocks= get_index_stocks(index_1)+get_index_stocks(index_2)
    #设定筛选条件,并按市值从小到大排列
  
    q = query(
            valuation.symbol,
            valuation.market_cap
        ).filter(
            valuation.market_cap.between(cap_l,cap_h),
            valuation.symbol.in_(stocks),        
        ).order_by(
            valuation.market_cap
        )
    df_stocks_pool = get_fundamentals(q)
  
    return df_stocks_pool

n个指数的情况只需要在函数中加上参数,stocks列表增加一个加号即可。

评论

需要帮助?

试试AI小助手吧