问财量化选股策略逻辑
选股逻辑:选取RSI小于65、按个股热度从大到小排序、15分钟周期MACD绿柱变短的个股。
选股逻辑分析
该选股策略同时结合了技术面和市场情绪因素,通过筛选RSI小于65的股票,并按照市场热度排序,找出正在主升行情中的优质个股。同时,通过观察15分钟周期MACD指标中的绿柱是否变短来辅助判断股票是否已处于调整过程中,并尽量避开调整期的高位和低位。对于追求更合理的买入时机的投资者具有一定参考价值。
有何风险?
该选股策略同样忽略了公司基本面因素,如其盈利能力、市场占有率、财务状况等,同时,15分钟周期的MACD指标变化与整体趋势相比也容易受到短期市场波动的左右,有一些不稳定性。
如何优化?
可以结合其他技术指标,如均线、KDJ等,进一步优化筛选条件;同时,加入量价分析指标,如OBV等,考虑股票成交量与价格变化的关系,并通过多重筛选结果并用定量方法进行评分,综合考虑各项因素选出较优个股。
最终的选股逻辑
选取RSI小于65、按个股热度从大到小排序、15分钟周期MACD绿柱变短的个股作为基础筛选条件,同时结合其他技术指标和量价分析指标进行优化,筛选出较优个股。
同花顺指标公式代码参考
通达信指标公式:(MACD() - MACD(1)) < (MACD(1) - MACD(2)) AND RSI(C,14)<65 AND INDUSTRYTYPE!="28" AND INDUSTRYTYPE!="104" AND INDUSTRYTYPE!="105"
python代码参考
import baostock as bs
import talib
import pandas as pd
# 登陆系统
lg = bs.login()
# 获取所有股票列表
rs = bs.query_all_stock(day="2020-12-30")
data = rs.get_data()
stock_list = data["code"].tolist()
# 初始化结果列表
result_list = []
# 循环遍历股票列表
for stock in stock_list:
# 获取股票历史K线
rs = bs.query_history_k_data_plus(stock,
"date,code,close,turnoverrate,industryType",
start_date="2021-01-01",
end_date="2021-12-31",
frequency="d",
adjustflag="2")
data = rs.get_data()
# 判断是否符合选股条件
if data["industryType"].iloc[-1] not in ["28", "104", "105"] \
and data["rsi_14"].iloc[-1] < 65:
# 获取15分钟K线用于判断MACD指标
rs = bs.query_history_k_data_plus(stock,
"date,code,close",
start_date="2021-01-01",
end_date="2021-12-31",
frequency="15",
adjustflag="2")
data = rs.get_data()
# 计算MACD指标
macd, macdsignal, macdhist = talib.MACD(data["close"], fastperiod=12, slowperiod=26, signalperiod=9)
# 判断是否符合主升起动条件并且MACD绿柱变短
if macdhist[-1] < macdhist[-2] \
and macdhist[-2] > macdhist[-3]:
result_list.append(stock)
# 打印符合选股条件的股票列表
print(result_list)
# 登出系统
bs.logout()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


