问财量化选股策略逻辑
选股逻辑:振幅大于1,昨天3连板,rsi小于65。
选股逻辑分析
该选股策略主要考虑了技术面,通过股票的振幅、昨日的涨停板数以及RSI指标来选取有较大上涨潜力的股票。其中,振幅大于1和昨日3连板可以代表市场热点,而RSI小于65可以代表股票还没有过度超买,有一定上涨空间。
有何风险?
该选股逻辑可能存在以下风险:
- 过度依赖技术分析,有可能忽略了基本面和市场热点的变化等因素;
- RSI指标容易被低价格的股票影响,可能存在一定程度的低效性;
- 自动化选股可能忽略了个股特质、行业特点等因素,导致选股结果不尽如人意。
如何优化?
为了降低风险并优化选股策略,可以尝试以下优化:
- 尝试结合基本面分析以及行业分析;
- 考虑采用其他技术指标如KDJ等进行判断;
- 加入市场情绪等因素进行选股。
最终的选股逻辑
根据以上分析和优化,可以得到以下完善的选股逻辑:
- 挑选振幅大于1且昨日有3连板的股票;
- RSI小于65;
- 结合其他技术指标如KDJ等综合判断;
- 考虑股票的基本面,如PE、PB等因素。
同花顺指标公式代码参考
C1: IF((HIGH - LOW >= 1), 1, 0);
C2: IF((LASTDAY(HIGH,1)/LASTDAY(CLOSE,1)-1 >= 0.096 AND LASTDAY(HIGH,2)/LASTDAY(CLOSE,2)-1 >= 0.096 AND LASTDAY(HIGH,3)/LASTDAY(CLOSE,3)-1 >= 0.096), 1, 0); // 昨日3连板
C3: IF(RSI(CLOSE, 14) < 65, 1, 0); // 14天的RSI指标
SELECTOR: IF((C1 == 1) AND (C2 == 1) AND (C3 == 1), 1, 0);
RESULT: SELECTOR;
python代码参考
import pandas as pd
from tqsdk import TqApi
from tqsdk.ta import rsi
api = TqApi()
klines = api.get_kline_serial("SHFE.rb2101", 24 * 60 * 60, data_length=300)
df = pd.DataFrame(klines)
df['rsi'] = rsi(df['close'], 14)
C1 = (df['high'] - df['low'] >= 1)
def check_limit_up(x):
return ((x.shift(1) / x.shift(2) - 1 >= 0.096) & \
(x.shift(2) / x.shift(3) - 1 >= 0.096) & \
(x.shift(3) / x.shift(4) - 1 >= 0.096)).all()
C2 = df.groupby('contract.symbol')['close'].apply(check_limit_up)
C3 = (df['rsi'] < 65)
selector = (C1 & C2 & C3).astype(int)
result = df[selector == 1].sort_values('amount', ascending=False).index.tolist()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
