问财量化选股策略逻辑
选股逻辑:在RSI小于65、昨日竞价换手率大于0.26、市值不超过100亿且近几年盈利稳定的无亏损企业中进行选股。
选股逻辑分析
该选股策略基于技术指标、市场情绪和公司基本面进行选股,主要考虑的是股票市场前景和公司财务状况等因素。添加了市值和企业盈利等指标的考察。RSI小于65代表股票有一定的安全边际,且昨日竞价换手率大于0.26代表市场对于该股看好程度较高。同时,该选股策略可以避开亏损的企业并选取市值小于100亿且近几年盈利稳定的企业,以寻求长期投资价值。
有何风险?
该选股策略的风险在于,较大的市值范围可能会涵盖一些资本等行业产业,这些公司的财务状况不稳定,可能出现业绩大幅下滑等问题。同时,近几年盈利表现稳定并不代表未来稳定,可能存在其他风险并未考虑到。
如何优化?
1.更细致的市值划分范围:可以根据不同的选股目标设定具体的市值划分范围,以便更好地观察合适的企业范围。
2.加入其他财务指标或分析明细:可以加入更具细化的财务分析指标,如资产负债率、净利润率等,从更多维度来衡量企业的财务状况。
3.结合行业分析:可以结合行业分析来选取企业,判断企业竞争力和未来可能的发展趋势等。
最终的选股逻辑
选股标准为RSI小于65、昨日竞价换手率大于0.26、市值不超过100亿且近3年内净利润、归母净利润呈现稳定增长的无亏损企业为选取对象。
同花顺指标公式代码参考
// RSI小于65
CONDITION1 = RSI(C,14) < 65;
// 昨日竞价换手率大于0.26
CONDITION2 = Turnover > 0.26;
// 市值不超过100亿
CONDITION3 = Capitalization < 100;
// 近3年净利润稳定增长
CONDITION4 = LastYearNetProfit > NetProfit3YearsAgo AND NetProfit3YearsAgo > NetProfit5YearsAgo;
// 选取符合条件的股票
SELECT (CONDITION1 AND CONDITION2 AND CONDITION3 AND CONDITION4);
python代码参考
import datetime
import tushare as ts
import numpy as np
def select_stocks(stocks):
res = []
for stock in stocks:
try:
basic_data = ts.get_stock_basics()
circ_value = basic_data.loc[stock]['circulating_a'] * basic_data.loc[stock]['price'] / 100000000
if circ_value < 0.55 or circ_value > 100: # 流通盘大小范围筛选
continue
if basic_data.loc[stock]['totalAssets'] == 0: # 筛选数据存在性判断
continue
capitalization = basic_data.loc[stock]['totalAssets'] * basic_data.loc[stock]['pb']
if capitalization > 100: # 市值范围筛选
continue
quarter_data = ts.get_profit_data(stock)
lst = quarter_data['roe'].values
if len(lst) < 3 or min(lst[-3:]) < 0: # 近3年ROE为正才算稳定
continue
res.append((basic_data.loc[stock]['price'], stock))
except:
continue
res.sort(reverse=True)
return [i[1] for i in res]
stocks = ts.get_stock_basics().index
res = select_stocks(stocks)
print(res)
注意:在实际代码中可能需要对于数据类型和异常进行额外判断。对于无法用tushare查询到的数据,可以使用信息披露网站或者其他数据源查询。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
