问财量化选股策略逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,20日均线大于120日均线的股票。
选股逻辑分析
结合技术面的指标,选股指标较少,难以全面反映公司的基本面情况,选股的准确性较差。
有何风险?
在技术面的基础上,缺少基本面筛选,导致对公司的财务状况、生产经营等方面的情况无法全面了解,可能会选择一些业绩相对较差、风险较大的公司。
如何优化?
可以加入更多的基本面指标进行选股,例如公司的营收增长、净利润等财务数据,以及股东控制力等基本面指标。同时,可以根据目标市场的行情和业务特点,适当调整技术面的选股指标,例如加入MACD、KDJ等指标,以更好地适应市场行情的变化。
最终的选股逻辑
选股逻辑:选出RSI指标小于65,昨日非涨停板,20日均线大于120日均线的股票,并且20日均线处于上升趋势。
同花顺指标公式代码参考
C1: RSI(CLOSE, 14) < 65
C2: NOT(REF(涨跌幅, 1) >= 9.9)
C3: MA(CLOSE, 20) > MA(CLOSE, 120)
C4: REF(MA(CLOSE, 20), 1) < MA(CLOSE, 20)
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_em_yjbb_industry_board_ths(date="20220107")
stock_pool.sort_values(by='个股热度', ascending=False, inplace=True)
for code in stock_pool['股票代码'][:100]:
# 判断是否为涨停股
stock_k_data = ak.stock_zh_a_daily(symbol=code, adjust="hfq")
if stock_k_data['涨跌幅'].shift(1).iloc[-1] >= 9.9:
continue
# 判断RSI指标
rsi = talib.RSI(stock_k_data['收盘价'], timeperiod=14)
if rsi.iloc[-1] >= 65:
continue
# 判断20日和120日均线指标
ma20 = talib.MA(stock_k_data['收盘价'], timeperiod=20)
ma120 = talib.MA(stock_k_data['收盘价'], timeperiod=120)
if ma20.iloc[-1] <= ma120.iloc[-1]:
continue
# 判断20日均线处于上升趋势
if ma20.iloc[-1] <= ma20.iloc[-2]:
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


