问财量化选股策略逻辑
选股策略为:在元宇宙行业中选取KDJ刚形成金叉,并且今日最大跌幅在-4%至-5%之间的股票。在每个交易日的10点之前进行选股,选取当日的交易股票。
选股逻辑分析
本选股策略结合了技术面和行情面的分析,通过技术面的选股条件,筛选符合要求的股票,在过去一段时间内出现了趋势反转的信号,将下跌的最大幅度控制在一定范围内,并在行情面上,选择股价至少有短期反弹可能的股票。同时,在每个交易日的10点之前进行选股,能够减小市场波动的影响。
有何风险?
本选股策略存在以下风险:
- 所选条件忽略了公司未来的业务规划和发展方向,可能出现数据不全或失误导致的误判;
- 最大跌幅快速反转的风险,例如选股时刻可能是股票短期内的跌幅极点;
- 时间条件的限制可能导致错过一些交易机会;
- 特别是KDJ金叉指标假信号和跳空缺口的风险,需要谨慎操作。
如何优化?
为提高本选股策略的准确性和鲁棒性,可以:
- 在技术面的选股条件中,加入更多的指标,例如RSI等,以提高选股的准确性;
- 在行情面的选股条件中,加入盘口变盘、楼龙等选股条件,以规避最大跌幅反转风险;
- 在时间条件的限制中,可以适当增加选股时间,以顺应市场波动和变化;
- 综合考虑KDJ指标、最大跌幅和股价走势,避免出现假信号,并注意跳空缺口的存在影响。
最终的选股逻辑
在元宇宙行业中选取KDJ刚形成金叉,并且今日最大跌幅在-4%至-5%之间的股票。在每个交易日的10点之前进行选股,选取当日的交易股票。
同花顺指标公式代码参考
# 选股条件:在元宇宙行业中选取KDJ刚形成金叉,并且今日最大跌幅在-4%至-5%之间的股票。
INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND LLV(LOW,0)>LLV(LOW,1) AND (REF(CLOSE/DELAY(CLOSE)-1,0) < -0.04) AND (REF(CLOSE/DELAY(CLOSE)-1,0) > -0.05) AND HSL > 0 AND LB > 0 AND ST == 0
# 选股结果:选取当日的交易股票
选股条件:INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND LLV(LOW,0)>LLV(LOW,1) AND (REF(CLOSE/DELAY(CLOSE)-1,0) < -0.04) AND (REF(CLOSE/DELAY(CLOSE)-1,0) > -0.05) AND HSL > 0 AND LB > 0 AND ST == 0 AND CURRENT_TIME = 1000
排序规则:EMPTY()
选股数量:EMPTY()
python代码参考
import numpy as np
import pandas as pd
from typing import List
def select_stocks(data: pd.DataFrame, industry: str) -> List[str]:
df = data[data['INDUSTRY'] == industry]
# KDJ
df['KDJ_K'], df['KDJ_D'], df['KDJ_J'] = talib.STOCH(df['HIGH'].values, df['LOW'].values, df['CLOSE'].values, fastk_period=9, slowk_period=3, slowd_period=3)
df['KDJ_金叉'] = (df['KDJ_K'] > df['KDJ_D']) & (df['KDJ_K'].shift() < df['KDJ_D'].shift())
# 行情面条件
df['最大跌幅'] = (df['LOW'] / df['CLOSE'].shift() - 1).rolling(5).max()
select_df = df[(df['KDJ_金叉']) & (df['最大跌幅'] < -0.04) & (df['最大跌幅'] > -0.05) & (df['TIME'] < '10:00:00')].index.tolist()
return select_df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


