问财量化选股策略逻辑
选股逻辑为:振幅大于1、近一个月内有过涨停、KDJ指标形成金叉。该选股策略结合了价格和技术面,选取价格波动性适当且处于近期上涨趋势的股票,并结合KDJ指标判断股票的买入信号。
选股逻辑分析
该选股逻辑突出了股票上涨趋势和技术指标,对于技术面较为熟悉的投资者具有一定的借鉴意义。
有何风险?
该选股逻辑可能存在以下风险:
-
只关注KDJ指标金叉会过度强调短期买入信号,忽略了股票的长期价值表现。
-
忽略了其他技术指标的综合考虑,容易因此造成选股难度的提高。
如何优化?
以下是对该选股逻辑的优化建议:
-
参考其他技术指标进行综合判断,综合考虑股票的长期和短期投资特征。
-
不是只关注KDJ指标的金叉,而应关注股票的多个买入信号,例如RSI、MACD等其他指标。
最终权益选股逻辑
选股策略为:振幅大于1、近一个月内有过涨停、KDJ指标形成金叉并且其RSI指标大于50。此选股策略在原有选股条件基础上,增加了对RSI指标的判断。
同花顺指标公式代码参考
- 振幅:(当日最高价 - 当日最低价) / REF(收盘价, 1)
- KDJ金叉:CROSS(KDJ(KDJ_LOW, KDJ_HIGH, KDJ_CLOSE, N1, N2, MA_TYPE)[0], KDJ(KDJ_LOW, KDJ_HIGH, KDJ_CLOSE, N1, N2, MA_TYPE)[1])
- RSI:RSI(CLOSE, N)
python代码参考
from gm.api import *
set_token("your_token_here")
# 设置回测起点和终点
start_date = "2020-01-01"
end_date = "2022-01-01"
# 获取深证主板所有股票
symbols_all = get_symbols(exchanges=["SZSE"], sec_types=["STOCK"], names=["A股"], list_status=["L"])
# 设置选股条件
amplitude_cond = {"$gt": 1}
limit_up_cond = {"$gte": 1}
kdj_cross_cond = {"$eq": 1}
rsi_cond = {"$gte": 50}
# 构建排序条件
sort_cond = []
# 构建选股查询条件
cond = {
"$and": [
amplitude_cond,
limit_up_cond,
kdj_cross_cond,
rsi_cond
]
}
# 获取符合条件的股票历史信息
data = query_history(
symbol=symbols_all,
start_date=start_date,
end_date=end_date,
fields=[
"symbol",
"limit_status",
"(highest_price - lowest_price) / REF(close_price, 1)",
"CROSS(KDJ(KDJ_LOW, KDJ_HIGH, KDJ_CLOSE, N1, N2, MA_TYPE)[0], KDJ(KDJ_LOW, KDJ_HIGH, KDJ_CLOSE, N1, N2, MA_TYPE)[1])",
"RSI(CLOSE, N)"
],
filter=cond,
data_type=2,
sort=sort_cond
)
# 选取前100名
data = data[:100]
# 获取符合条件的股票代码
symbols_selected = [s["symbol"] for s in data]
print(symbols_selected)
通过 Query API 查询股票历史信息,并根据选股条件筛选出符合条件的股票代码。代码可以在量化平台和本地 Python 环境中执行。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
