问财量化选股策略逻辑
本选股策略选取满足振幅大于1、2019年分红比例大于25%、市值在100亿以内且无亏损的企业作为投资标的。
选股逻辑分析
本选股逻辑主要考虑了三个因素:波动性、股息收益率和基本面财务指标。振幅大于1表示股票价格波动率较大,可以考虑在波动市场中适当介入,增加收益机会。2019年分红比例大于25%表示该公司分红较为慷慨,具有较高的股息收益率,更加适合喜欢收益稳定且分红丰厚的投资者。市值在100亿以内选择规模较小的公司,有更大的成长空间。选择无亏损的企业也减少了财务风险,更加稳健。
有何风险?
本选股逻辑可能会忽略一些企业的发展潜力,比如一些处于高速增长期的公司,但盈利未达预期或者分红收益较低。能否持续分红也存在一些风险,部分公司如果仅是为了应市场而分红,则其可持续性受到影响。
如何优化?
除了本选股逻辑中的指标,也可以加入其他技术和基本面指标,如股价相对估值、ROE、管理层和机构投资者持股比例等。考虑集中投资于某一行业或跟踪某一指数相比,更加偏好于个股择时选取。同时,可以将定量因素和定性因素的权重分别考虑,以加强选股策略的有效性。
最终的选股逻辑
本选股策略选取满足以下条件的股票:
- 振幅大于1;
- 2019年分红比例大于25%;
- 市值在100亿以内;
- 过去三年净利润均为正数。
同花顺指标公式代码参考
本选股策略中不需要用指标,省略此部分。
python代码参考
import tushare as ts
# 获取所有 A 股列表
def get_all_stock():
all_stock = ts.get_stock_basics()
return all_stock
# 选取满足条件的股票
def select_stock(market='sh'):
selected_stocks = []
all_stocks = get_all_stock()
for stock in all_stocks.index:
if all_stocks.loc[stock, 'name'][0] == '*':
continue
pe = all_stocks.loc[stock, 'pe']
if pe == 0:
continue
if all_stocks.loc[stock, 'outstanding'] * all_stocks.loc[stock, 'price'] > 1000:
continue
if all_stocks.loc[stock, 'pb'] > 3:
continue
dividends = ts.profit_data(top=3000, year=2019)
if len(dividends[dividends['code']== stock]) == 0:
continue
if dividends[dividends['code']== stock]['divi'].iloc[0] < 0.25:
continue
recent_profit = list(ts.get_hist_data(stock).iloc[-2:, 6] > 0)
if recent_profit.count(False) > 0:
continue
selected_stocks.append(stock)
return selected_stocks
print(select_stock(market='sh'))
以上代码仅供参考,实现方法会因投资人情况和市场环境而异。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
