问财量化选股策略逻辑
选取振幅大于1、2019年度分红比例大于25%、深证主板中市盈率为0-29.01、市净率为0-3.11的股票作为选股对象。
选股逻辑分析
该选股策略除了考虑股票波动性、基本面和企业性质因素外,还增加了市盈率和市净率范围的限制,选出市场估值较为合理的股票作为投资对象。
有何风险?
市盈率和市净率虽然是衡量估值的重要指标,但并不能完全代表企业的投资价值,同时选股策略的范围也需要谨慎调整。
如何优化?
可以综合考虑其他财务数据、行业热度、宏观经济指标等因素,加入更为精细化的估值范围限制和选股策略的优化。
最终的选股逻辑
选取振幅大于1、2019年度分红比例大于25%、深证主板中市盈率为0-29.01、市净率为0-3.11的股票作为选股对象。
同花顺指标公式代码参考
// 筛选振幅大于1的股票
amplitude = (HIGH-LOW)/OPEN
amplitude_bool = amplitude>0.01
// 筛选2019年度分红比例大于25%的股票
dividend_year = DIVIDENDYIELD*100
dividend_year_bool = dividend_year>25
// 筛选深证主板中市盈率为0-29.01,市净率为0-3.11的股票
pe_ratio = PE
pb_ratio = PB
pe_bool = (pe_ratio>=0)&(pe_ratio<=29.01)
pb_bool = (pb_ratio>=0)&(pb_ratio<=3.11)
// 合并条件
result = amplitude_bool÷nd_year_bool&pe_bool&pb_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:深证主板中市盈率为0-29.01,市净率为0-3.11
finance_data = ts.get_stock_basics()
pe_ratio = finance_data['pe']
pe_bool = (pe_ratio >= 0) & (pe_ratio <= 29.01)
pb_ratio = finance_data['pb']
pb_bool = (pb_ratio >= 0) & (pb_ratio <= 3.11)
# 合并筛选条件
result = amplitude_bool & dividend_year_bool & pe_bool & pb_bool
# 筛选结果
final_result = today_data.loc[result].sort_values(by=["DOMINANTMARKETMAKING"], ascending=False)
# 输出结果
print(final_result)
注:以上为示例代码,仅供参考,实际使用中需根据具体情况做适当调整。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
