问财量化选股策略逻辑
选股逻辑为:振幅大于1、近一个月内有过涨停、K线指标小于20的股票。该选股策略希望挑选出振幅大、短期表现好且处于低位的股票。
选股逻辑分析
该选股策略主要以价格波动和K线指标为选股依据。振幅大的股票常常存在价格波动剧烈的机会,涨停则显示股票的热点和市场信心。K线指标则可以较为准确地判断股票是否处于低位。
有何风险?
该选股逻辑可能存在以下风险:
-
K线指标的选取可能并不完全适用于所有股票,如某些新股的历史数据不足。
-
某些股票有可能出现较大振幅后就处于高位,此时可能会漏掉表现好的股票。
如何优化?
以下是对该选股逻辑的优化建议:
-
调整K线指标的选取范围或使用其他技术指标,以期更加准确的筛选出处于低位的股票。
-
在选股策略中加入其他的基本面和市场情报数据作为参考。
最终权益选股逻辑
选股策略为:振幅大于1、近一个月内有过涨停、K线指标小于20的股票。在原有选股逻辑的基础上,加入了K线指标的选择,在筛选低位股票方面更为精准。
同花顺指标公式代码参考
K线指标:EMA(CLOSE, 3)
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=["SHSE", "SZSE"], sec_types=["STOCK"], fields=["symbol"])
# 设置选股条件
amplitude_cond = {"$gt": 1}
limit_up_cond = {"$gte": 1}
k_cond = {"$lt": 20}
cond = {
"$and": [
amplitude_cond,
limit_up_cond,
k_cond
]
}
# 构建排序条件
sort_cond = []
# 获取符合条件的股票历史信息
data = query_history(
symbol=symbols_all,
start_date=start_date,
end_date=end_date,
fields=[
"symbol",
"limit_status",
"EMA(close_price, 3)"
],
filter=cond,
data_type=2,
sort=sort_cond
)
# 按照K线指标排序
data.sort(key=lambda x: x["EMA(close_price, 3)"])
# 选取前100名
data = data[:100]
# 获取符合条件的股票代码
symbols_selected = [s["symbol"] for s in data]
print(symbols_selected)
通过 Query API 查询股票历史信息,并根据选股条件筛选出符合条件的股票代码。代码可以在量化平台和本地 Python 环境中执行。注意 K线指标使用的是 Exponential Moving Average,需要借助自定义指标函数计算。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
