问财量化选股策略逻辑
- 至少5根均线重合的股票
- KDJ刚形成金叉
- 10天内涨停天数大于2
选股逻辑分析
这个策略的逻辑是基于技术分析和市场行为来筛选股票。首先,它要求至少5根均线重合,这表明股票的价格趋势稳定,没有大的波动。其次,KDJ指标刚刚形成金叉,这表明股票的价格正在上升,可能有买入的机会。最后,要求股票在10天内出现了大于2次的涨停板,这表明股票有较强的市场活跃度和交易量。
有何风险?
这个策略的风险在于它只考虑了股票的技术指标和市场行为,而忽略了其他因素,如公司的财务状况、行业前景、管理层能力等。此外,股票市场的波动性很大,即使股票符合这些条件,也可能在短期内出现大幅下跌。
如何优化?
为了降低风险,可以考虑将其他因素纳入筛选股票的条件中,例如公司的财务状况、行业前景、管理层能力等。此外,可以使用更多的技术指标和市场行为来分析股票,以提高策略的准确性和可靠性。
最终的选股逻辑
以下是最终的选股逻辑:
- 股票的日线图上,至少5根均线(包括5日、10日、20日、60日和120日均线)重合
- KDJ指标刚刚形成金叉
- 股票在10天内出现了大于2次的涨停板
python代码参考
以下是基于pandas和ta-lib库的python代码参考:
import pandas as pd
import talib
def get_stock_data(stock_code):
# 获取股票的历史数据
df = pd.read_csv(f'https://raw.githubusercontent.com/ta-lib/ta-lib/master/data/{stock_code}.csv')
df['date'] = pd.to_datetime(df['date'])
df.set_index('date', inplace=True)
return df
def get_stock_data_and_kdj(df):
# 计算KDJ指标
df['sma5'] = df['close'].rolling(window=5).mean()
df['sma10'] = df['close'].rolling(window=10).mean()
df['sma20'] = df['close'].rolling(window=20).mean()
df['sma60'] = df['close'].rolling(window=60).mean()
df['sma120'] = df['close'].rolling(window=120).mean()
df['dmi'] = talib.DMI(df['close'], fastperiod=14, slowperiod=30, signalperiod=9)
df['k'], df['d'], df['j'] = df['dmi'].k, df['dmi'].d, df['dmi'].j
df['kama'] = talib.KAMA(df['close'], timeperiod=30)
df[' kdj'] = talib.STOCH(df['close'], fastperiod=14, slowperiod=30, fastk=3, slowk=3, slowd=3)
df[' close_kd'] = df['close'] * df['kdj'].fastk
df[' close_kd_j'] = df['close'] * df['kdj'].fastd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowk
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
df[' close_kd_j'] = df['close_kd_j'] * df['kdj'].slowd
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


