问财量化选股策略逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,且市值在100亿以内且近5年无亏损的企业。
选股逻辑分析
该选股逻辑结合了股票技术面和基本面,筛选出了RSI指标小于65,昨日非涨停板,并且市值在100亿以内且近5年没有亏损的优质企业,以期望在大盘上涨的环境下,选到有较大的上涨空间的股票。
有何风险?
该选股逻辑可能存在市场风险、行业偏好、会计信息的真实性等因素。例如,个股所处的行业出现大幅下挫,将直接影响该选股逻辑的效果。此外,尽管企业无亏损并不代表企业业绩优秀,需要结合其他因素一起考虑。
如何优化?
可以在选股逻辑中增加其他基本面因素,例如企业盈利能力、资产负债率、企业竞争力等指标,以更加全面地判断股票的价值。优化数据的获取和处理能力,提高选股的准确性。此外,应该及时关注个股的十大股东等重要信息,适时调整选股逻辑以达到更好的投资效果。
最终的选股逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,且市值在100亿以内且近5年没有亏损的企业,并综合考虑企业的盈利能力、资产负债率、企业竞争力等因素。
同花顺指标公式代码参考
C1: RSI(CLOSE,14) < 65
C2: NOT(REF(涨跌幅, 1) >= 9.9)
C3: 上市市值 < 10000000000
C4: 最近5年净利润 > 0
SELECT * FROM STOCK_LIST
WHERE C1 AND C2 AND C3 AND C4
ORDER BY DESCENDING(个股热度)
python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list():
result_df = pd.DataFrame()
# 获取个股热度排行榜
stock_pool = ak.stock_zh_a_spot_em()
stock_pool = stock_pool[['代码','名称','流通市值','换手率','涨跌幅','流通股本','日期']]
stock_pool.sort_values(by='流通市值', ascending=False, inplace=True)
for code in stock_pool['代码'][:500]:
# 判断是否为涨停股、昨日收益率等条件
if code[:2] != '60':
continue
stock_k_data = ak.stock_zh_a_minute(symbol=code, period='5', adjust="hfq")
if stock_k_data['涨跌幅'].shift(1).iloc[-1] >= 9.9:
continue
if stock_k_data['收益率'].shift(1).iloc[-1] <= 0:
continue
# 判断RSI指标、市值、企业净利润等条件
rsi = talib.RSI(stock_k_data['收盘价'], timeperiod=14)
if rsi.iloc[-1] >= 65:
continue
market_cap = stock_pool[stock_pool['代码'] == code]['流通市值'].iloc[-1]
if market_cap > 10000000000:
continue
net_profit = ak.stock_financial_analysis_indicator(stock=code, indicator="最近5年净利润")
if net_profit.iloc[-1] <= 0:
continue
# 筛选出符合条件的股票
result_df = result_df.append(stock_k_data, ignore_index=True)
result_df.sort_values(by='个股热度', ascending=False, inplace=True)
return result_df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


