问财量化选股策略逻辑
选股逻辑:选取RSI小于65、PE大于0,并且股票10日涨幅大于0小于35的股票。
选股逻辑分析
本选股策略针对股票的技术面和基本面进行筛选,选择RSI小于65和PE大于0的股票,并且要求股票过去10天的涨幅在0到35%之间,从而在股票价格合理,同时具备上涨潜力时买入股票,获得更高长期收益。
有何风险?
该选股策略可能会被市场波动和负面影响因素干扰,同时对涨幅的要求可以选择范围较小的个股,从而限制了股票池范围,在小市值股票中寻找潜力股的同时,也增加了一定的风险。
如何优化?
可以引入更多其他技术指标如MACD、KDJ等技术指标,同时可以适当增加PE、市值等基本面筛选条件来增加选股的可靠性和稳定性,从而减少风险和提高收益率。
最终的选股逻辑
选取RSI小于65、PE大于0,并且股票10日涨幅大于0小于35的股票。
同花顺指标公式代码参考
-
RSI公式:RSI(n)=100×(RS/(1+RS))其中,RS=N日内收盘价涨数和的平均值除以跌数和的平均值,N取6或12或24等周期。
-
PE公式:市价/每股收益
-
涨幅公式:(当日收盘价-前一日收盘价)/前一日收盘价*100%
Python代码参考
import pandas as pd
import tushare as ts
def get_stock_list(rsi_threshold=65, pe_threshold=0, high_change_threshold=(0, 35)):
stock_list = pd.DataFrame(columns=['股票代码', '名称'])
stock_data = ts.get_today_all()
for _, row in stock_data.iterrows():
symbol = row['code']
name = row['name']
if not symbol.startswith('60'):
continue
hist_data = ts.get_hist_data(symbol)
if hist_data is None:
continue
if hist_data['p_change'].iloc[-1] > rsi_threshold:
continue
pe = hist_data['turnover'].iloc[-1]/hist_data['volume'].iloc[-1]/ts.get_stock_basics().loc[symbol]['totals']
if pe < pe_threshold:
continue
high_change = hist_data['p_change'].iloc[-11:-1].max()
if high_change < high_change_threshold[0] or high_change > high_change_threshold[1]:
continue
stock_list = stock_list.append({'股票代码':symbol, '名称':name}, ignore_index=True)
return stock_list
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
