问财量化选股策略逻辑
选股逻辑:选取RSI小于65、昨日主力控盘,且20日均线大于120日均线的股票。
选股逻辑分析
该选股策略同样以技术面为基础,筛选出RSI小于65、昨日主力控盘,且20日均线大于120日均线的股票,以期望获取低风险、高收益的股票。20日均线大于120日均线可以反应出短期走势胜于长期走势,符合股票市场的波动规律。
有何风险?
该选股逻辑同样存在市场风险和基本面风险,20日均线大于120日均线的判断标准不一定适用于所有行业或周期股,同时,昨日主力控盘可能导致做多资金的湖中之鲸,对市场的操作有一定的影响。
如何优化?
同样可以加入更多的技术指标或其他基本面因素,如选择权重较高的行业、公司的研发投入等综合考虑选股,同时根据个人风险和收益需求,自由调整选股的标准。另外,该选股策略没有考虑行业因素的影响,可以结合个股所处的行业和产业趋势来选择,以降低基本面风险。
最终的选股逻辑
选取RSI小于65、昨日主力控盘,且20日均线大于120日均线的股票。
同花顺指标公式代码参考
选股条件:RSI(14) < 65 AND 昨日主力资金净流入 > 0 AND MA(20) > MA(120),选出股票并按个股热度从大到小排序。
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list(rsi_threshold=65):
news = ak.stock_zh_a_latest()
stock_list = pd.DataFrame(columns=['股票代码', '名称', '20日均线', '120日均线'])
for i in range(len(news)):
symbol = news.iloc[i]['symbol']
if symbol.startswith('ST'):
continue
kline = ak.stock_zh_a_daily(symbol=symbol)
rsi = talib.RSI(kline['close'], timeperiod=14)
if rsi.iloc[-1] < rsi_threshold:
main_money = ak.stock_zh_a_hk_hold(symbol=symbol, indicator="主力资金净流入")
if main_money.iloc[0]['主力资金净流入'] > 0:
ma20 = talib.MA(kline['close'], timeperiod=20)
ma120 = talib.MA(kline['close'], timeperiod=120)
if ma20.iloc[-1] > ma120.iloc[-1]:
market = news.iloc[i]['market_value']
if market > market_value:
rank_df = ak.stock_zh_a_capital_flow_rank()
stock_rank = rank_df[rank_df['代码'] == symbol]['排名']
stock_list = stock_list.append({'股票代码': symbol, '名称': news.iloc[i]['name'], '20日均线': ma20.iloc[-1], '120日均线': ma120.iloc[-1], '个股热度': stock_rank}, ignore_index=True)
stock_list.sort_values('个股热度', ascending=False, inplace=True)
return stock_list
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


