问财量化选股策略逻辑
本选股策略选取满足振幅大于1、2019年分红比例大于25%、连续5年ROE大于15%的企业作为投资标的。
选股逻辑分析
本选股策略综合考虑了股票波动性、企业稳定性以及未来盈利能力,振幅大于1和2019年分红比例大于25%表示股票波动性和企业稳定性较好的特征;连续5年ROE大于15%则说明该企业有较强的盈利能力,有投资价值。
有何风险?
本选股策略可能存在市场风险、行业风险和公司特有风险,如财务数据造假、经营不善等风险。
如何优化?
本选股策略可以增加其他技术和基本面指标,如MACD、RSI、PE、PEG等。可以采用多因子选股的方式,选取经过权重优化后的复合因子,提高选股策略的有效性。同时,可以用机器学习算法调整策略参数,更好地满足市场需求。
最终的选股逻辑
本选股策略选取满足以下条件的股票:
- 振幅大于1;
- 2019年分红比例大于25%;
- 连续5年ROE大于15%。
同花顺指标公式代码参考
- 振幅公式:
AVG(MAX(MAX(HIGH-LOW,ABS(HIGH-REF(CLOSE,1))),ABS(REF(CLOSE,1)-LOW)),N)
- ROE公式:
ROE = NETPROFIT/((SUM(EQUITY)+SUM(REF(EQUITY,1)))/2)
IF((ROE >= 0.15) & (ROE[1] >= 0.15) & (ROE[2] >= 0.15) & (ROE[3] >= 0.15) & (ROE[4] >= 0.15),1,0)
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
if all_stocks.loc[stock, 'outstanding'] * all_stocks.loc[stock, 'price'] > 1000:
continue
if all_stocks.loc[stock, 'pb'] > 3:
continue
if all_stocks.loc[stock, 'pe'] > 50:
continue
ROE = ts.get_roe_data(stock)
if not (ROE.iloc[-1]['roe'] >= 0.15 and ROE.iloc[-2]['roe'] >= 0.15 and ROE.iloc[-3]['roe'] >= 0.15 and ROE.iloc[-4]['roe'] >= 0.15 and ROE.iloc[-5]['roe'] >= 0.15):
continue
selected_stocks.append(stock)
return selected_stocks
print(select_stock(market='sh'))
以上代码仅供参考,实现方法会因投资人情况和市场环境而异。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
