问财量化选股策略逻辑
选股策略为:在元宇宙行业中选取KDJ刚形成金叉,且收盘价大于昨日的最低价的股票。
选股逻辑分析
本选股策略综合考虑了技术面和市场情绪,选取了KDJ指标和收盘价大于昨日最低价指标。此选股策略考虑了技术面上的趋势翻转,同时也是市场情绪的一种体现,即当股价收盘高于昨日最低价时,市场情绪相对积极,表明市场热度有所提高。
有何风险?
本选股策略存在以下风险:
- 只考虑了两个技术面指标和市场情绪,未考虑其他重要指标的影响;
- 选股逻辑较为简单,未必适用于各种复杂市场情况。
如何优化?
为提高本选股策略的准确性和鲁棒性,可以:
- 引入其他技术指标,如MACD、RSI等,进行综合分析;
- 引入其他形态指标,如头肩顶、双底等,进行综合分析,提高选股标的全面性;
- 引入其他市场情绪指标,如资金流入和市场热度等,进行综合分析。
最终的选股逻辑
在元宇宙行业中选取KDJ刚形成金叉,且收盘价大于昨日的最低价的股票。
同花顺指标公式代码参考
# 选股条件: 在元宇宙行业中选取KDJ金叉,收盘价大于昨日的最低价的股票
INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND CLOSE > REF(LOW, 1);
# 选股结果
选股条件:INDUSTRY == '元宇宙' AND KDJ(9,3,3)上穿KDJ(9,3,3)的DEA AND CLOSE > REF(LOW, 1);
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[df['KDJ_金叉']]
# 选取收盘价大于昨日最低价的股票
df['昨日最低价'] = df['LOW'].shift(1)
df['收盘价大于昨日最低价'] = df['CLOSE'] > df['昨日最低价']
df = df[df['收盘价大于昨日最低价']]
select_df = df.index.tolist()
return select_df
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


