问财量化选股策略逻辑
选股逻辑:rsi小于65,上市时间大于1年,9点25分涨幅小于6%。
选股逻辑分析
该选股逻辑同样采用技术面指标和时间筛选相结合的方式。首先使用RSI指标来判断股票是否处于超卖状态,选择近期表现相对较弱的股票。其次,在时间筛选上,要求股票上市时间大于1年,并且在当天开盘前15分钟,涨幅不能超过6%,以筛选出波动相对较小的股票。
有何风险?
该选股逻辑同样存在忽略其他重要指标的风险,例如公司的盈利能力、财务状况等。另外,该策略未考虑交易成本和滑点等问题,也可能对实际收益产生一定的影响。
如何优化?
可以在基本面指标和历史价格波动率等指标上增加筛选条件,以更充分地评估公司的价值和风险。例如,可以考虑ROE、PEG等指标,并设定一个合理的历史价格波动率阈值,以减少交易成本和滑点对实际收益的影响。
最终的选股逻辑
选股逻辑:rsi小于65,上市时间大于1年,9点25分涨幅小于6%。
同花顺指标公式代码参考
C1: MAINBORADINFO(1) == 1 AND ZuiXinJia >= 5
C2: BARSLAST(C1) >= 240
C3: RSI(CLOSE, 14) < 65
C4: REF((OPEN - PRECLOSE) / PRECLOSE, 0) < 0.06
SELECT IF(C1 AND C2 AND C3 AND C4, 1, 0)
Python代码参考
import pandas as pd
import akshare as ak
import talib
def get_stock_list():
result_df = pd.DataFrame()
stock_pool = ak.stock_zh_a_spot().astype({'证券代码':'str'})['证券代码'].tolist()
for code in stock_pool:
# 获取股票基本信息和财务数据
stock_info = ak.stock_info_a_name(code).reset_index(drop=True)
if len(stock_info) == 0:
continue
stock_info.rename(columns={"0": "name", "4": "industry"}, inplace=True)
stock_info['code'] = code
stock_info = stock_info[['code', 'name', 'industry', '上市时间']]
# 剔除上市时间较短的股票
if stock_info['上市时间'] > 1:
# 计算RSI
df = ak.stock_zh_a_minute(symbol=code, period='5')
if len(df) == 0:
continue
df['rsi'] = talib.RSI(df['close'].values, timeperiod=14)
if df['rsi'].iloc[-1] < 65 and (df['open'].iloc[0] - df['pre_close'].iloc[0]) / df['pre_close'].iloc[0] < 0.06:
result_df = result_df.append(stock_info, ignore_index=True)
return result_df
Python依赖库
-
pandas
-
akshare
-
talib
## 如何进行量化策略实盘? 请把您优化好的选股语句放入文章最下面模板的选股语句中即可。 select_sentence = '市值小于100亿' #选股语句。 模板如何使用? 点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。 ## 如果有任何问题请添加 下方的二维码进群提问。 

