问财量化选股策略逻辑
选股逻辑:选取RSI小于65、昨日主力控盘且竞价涨幅在-2%到5%之间的股票。
选股逻辑分析
此策略将技术指标和基本面因素相结合,RSI指标可以用来评价股票价格的强度和趋势,选取RSI小于65将倾向于选择当前价格走势较为弱势的股票。而昨日主力控盘可以考虑到主力资金对于个股的影响。竞价涨幅可以综合反应当前股票的价格波动情况,同时加入涨跌幅限制,也可减小交易的波动性。此策略因为综合了多方面的因素,可以较为全面地反映当前市场股票的综合价值。
有何风险?
此选股策略综合考虑多个指标,但有时指标之间会出现相互矛盾的情况,比如某些指标显示买入信号,而RSI指标显示超买信号,此时就需要综合考虑多个因素来进行判断。同时,对于价格走势较为平静和死盘股票,竞价涨幅可能会偏低,筛选出的个股数量有可能较少,需要根据实际情况进行调整。
如何优化?
可以加入更多的技术指标如成交量变化、均线走势等因素,同时加大筛选的数据量,扩大样本空间。优化选股策略需要综合考虑各类指标之间的配合、数据的去噪处理等因素,同时需要考虑到条件的设定对最终筛选结果的影响。可以采用因子分析等方式,找到更为精准的股票筛选条件。
最终的选股逻辑
选取RSI小于65、昨日主力控盘且竞价涨幅在-2%到5%之间的股票。
同花顺指标公式代码参考
选股条件:(RSI(14) < 65 AND 昨日主力控盘 AND J[1] > -2% AND J[1] < 5%)
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_minute(symbol="", period="15")
rsi = talib.RSI(kline['close'], timeperiod=14)
if rsi.iloc[-1] < rsi_threshold:
# 获取主力资金数据和竞价涨跌幅数据
main_money = ak.stock_zh_a_hk_hold(symbol=symbol, indicator="外盘/内盘")
bid_ask = ak.stock_zh_a_tick_tx_js(symbol=symbol)
if main_money['昨日主力控盘'][0] and bid_ask['竞价涨跌幅'][0] > -2 and bid_ask['竞价涨跌幅'][0] < 5:
stock_list = stock_list.append({'code': symbol, 'name': news.iloc[i]['title'], '竞价涨跌幅': bid_ask['竞价涨跌幅'][0]}, ignore_index=True)
stock_list = stock_list.sort_values(by='竞价涨跌幅', ascending=False).iloc[:top_count]
# 添加更多的技术指标和基本面筛选条件,如PE、市净率等
return stock_list[['code', 'name', '竞价涨跌幅']]
get_stock_list()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
