问财量化选股策略逻辑
选股逻辑:选取RSI小于65、昨日主力控盘且30日平均线向上的股票。
选股逻辑分析
此选股逻辑同样采用技术指标和基本面相结合的策略,选股条件为RSI小于65,结合主力资金的控盘情况以及30日平均线向上,形成一个较为完整的选股策略。30日平均线向上反映了股票近期的整体上涨趋势,加入此选项,可以增加投资成功的概率。
有何风险?
此选股逻辑同样采用技术面和基本面相结合的策略,但如果被选出的股票未来突然出现信息面变化,可能会造成一定的风险。此外,筛选条件若变化,也可能会影响最终的选股结果。
如何优化?
可以在技术指标上加入更多选项,并加入基本面指标,如市盈率、市净率等,以提高筛选的准确度。此外,可以考虑将选股的时间周期放宽,增加投资时间和空间,同时加强风险控制能力。
最终的选股逻辑
选取RSI小于65、昨日主力控盘且30日平均线向上的股票。
同花顺指标公式代码参考
选股条件:(RSI(14) < 65 AND 昨日主力控盘 AND MA(CLOSE,30)>REF(MA(CLOSE,30),1))
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list(rsi_threshold=65, top_count=50):
news = ak.stock_news_em(symbol="", limit=50)
stock_list = pd.DataFrame(columns=['股票代码', '名称'])
for i in range(len(news)):
symbol = news.iloc[i]['security']
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['昨日主力控盘'][0]:
if kline['close'].iloc[-1] > kline['low'].shift().iloc[-1] and kline['low'].iloc[-2] > kline['low'].shift().iloc[-2]:
if talib.MA(kline['close'], timeperiod=30).iloc[-1] > talib.MA(kline['close'], timeperiod=30).shift().iloc[-1]:
stock_list = stock_list.append({'code': symbol, 'name': news.iloc[i]['title']}, ignore_index=True)
# 添加更多的技术指标和基本面筛选条件,如PE、市净率等
return stock_list[['code', 'name']][:top_count]
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
