问财量化选股策略逻辑
选股逻辑:在 RSI 小于 65、高点为两日最高、市值不超过 100 亿的无亏损企业股票中进行投资。
选股逻辑分析
该选股策略在 RSI 指标和过去两日最高点的基础上,进一步筛选出市值不超过 100 亿且无亏损的企业。这种选股策略旨在选择近期表现不错的股票,同时兼顾了公司基本面因素。
有何风险?
- 筛选条件相对较多,可能影响选股数量和选股准确性。
- 100 亿市值以内的股票可能缺乏行业领军企业和稳定的业绩增长。
- 无亏损的条件可能排除了一些有发展潜力但尚未实现盈利的公司。
如何优化?
- 可以进一步结合其他财务指标,如 PE、PB 等,以更充分地了解公司基本面情况。
- 可以结合行业板块因素,如选择成长前景良好、行业前景广阔的板块的股票进行投资。
- 可以使用机器学习等算法,以自动化的方式筛选和分析大量数据,提高选股精度和效率。
最终的选股逻辑
在 RSI 小于 65、高点为两日最高、市值不超过 100 亿且无亏损的企业股票中进行投资,同时在公司基本面、行业板块等方面综合考虑,控制风险,提高收益。
同花顺指标公式代码参考
- RSI 指标
通达信指标公式:RSI(CLOSE,N)
同花顺指标公式:RSI(CLOSE,14)
注:CLOSE 为当前收盘价,N 为周期数。
- 市值
通达信指标公式:CAPITAL(stock)
同花顺指标公式:MKTCAP()
注意:不同的数据平台可能指标公式有差异,请根据实际情况进行选择。
python代码参考
以下是基于该选股策略编写的 Python 代码示例,仅供参考。
import tushare as ts
import talib
def select_stocks():
res = []
for stock in ts.get_stock_basics().index:
try:
rsi_threshold = 65
n_days = 2
max_market_cap = 100
code_prefix = '60'
rsi_data = talib.RSI(ts.get_hist_data(stock)['close'].values, timeperiod=14)
if rsi_data[-1] > rsi_threshold:
continue
high_data = ts.get_hist_data(stock)['high'].values
if high_data[-1] != high_data[-n_days:].max():
continue
market_cap = ts.get_stock_basics().loc[stock]['totalAssets'] * ts.get_stock_basics().loc[stock]['pb']
if market_cap > max_market_cap:
continue
if not stock.startswith(code_prefix):
continue
profit_data = ts.get_profit_data().loc[stock]
if not (profit_data['roe'] > 0 and profit_data['gpr'] > 0):
continue
res.append(stock)
except Exception as e:
continue
return res
res = select_stocks()
print(res)
注:在使用该代码时,请遵守国家法律法规和相关规定,严禁擅自开展证券投资活动,自行承担相应风险。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


