(supermind量化-)振幅大于1、2019分红比例>25%、流通市值大于100亿元_

用户头像神盾局量子研究部
2023-08-21 发布

问财量化选股策略逻辑

选取振幅大于1、2019年度分红比例大于25%、流通市值大于100亿元的股票作为选股对象。

选股逻辑分析

该选股策略通过振幅、分红和流通市值等因素筛选出较佳表现且较低风险的股票。振幅反映股票波动性,2019分红比例反映公司盈利情况,流通市值反映公司规模和价值。综合多个因素选择股票可以降低投资风险和提高收益。

有何风险?

该选股策略可能存在一定的选股样本选择偏差,导致选股结果不能充分代表整个市场的表现。此外,选股因素太少或太多都会影响选股结果的准确性和可靠性。

如何优化?

可引入更多因素,如市盈率、市净率、PEG等,以提高选股准确度。对于流通市值的选取,可以做进一步细化的策略。例如对于中小市值股票可以考虑将流通股票数量设为1亿至10亿股以筛选选择中小市值品种。

最终的选股逻辑

通过振幅、分红和流通市值等因素,选取具有较好表现和较低风险的股票作为投资标的,以获得稳定的收益。

同花顺指标公式代码参考

// 筛选振幅大于1的股票
amplitude = (HIGH-LOW)/OPEN
amplitude_bool = amplitude>0.01

// 筛选2019分红比例大于25%的股票
dividend_year = DIVIDENDYIELD*100
dividend_year_bool = dividend_year>25

// 筛选流通市值大于100亿元的股票
market_cap = MCRANK_MARKET_CAP
market_cap_bool = market_cap > 100

// 筛选符合条件的股票
result = amplitude_bool & dividend_year_bool & market_cap_bool

// 输出筛选结果
result

Python代码参考

import tushare as ts

# 筛选条件1:振幅大于1
today_data = ts.get_today_all()
amplitude = (today_data['high'] - today_data['low']) / today_data['open']
amplitude_bool = amplitude > 0.01

# 筛选条件2:2019分红比例大于25%
basic_data = ts.get_stock_basics()
dividend_year = basic_data['dividend_yield'] * 100
dividend_year_bool = dividend_year > 25

# 筛选条件3:流通市值大于100亿元
market_data = ts.capital_flow(hgt='S', start='2022-01-01', end='2022-01-10')
market_cap = market_data['lsjz'].iloc[-1]['ljjz'] * 100000000
market_cap_bool = market_cap > 10000000000

# 筛选符合条件的股票
result = amplitude_bool & dividend_year_bool & market_cap_bool

# 输出筛选结果
final_result = today_data.loc[result].sort_values(by=["DOMINANTMARKETMAKING"], ascending=False)
print(final_result)

注:以上为示例代码,请根据实际情况进行调整。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论