问财量化选股策略逻辑
选股逻辑为:振幅大于1、近一个月内有过涨停、开盘价在十日线左右。该选股策略结合了价格和技术面,选取价格波动性适当且处于近期上涨趋势的股票。
选股逻辑分析
该选股逻辑要求股票具备适度的价格波动性,且处于近期上涨趋势,具备一定的短期投资潜力。
有何风险?
该选股逻辑可能存在以下风险:
-
十日线并不一定是股票的可靠技术指标,需要在综合考虑多种技术指标的基础上使用。
-
过度关注近期涨势,可能导致忽略了股票的长期价值表现。
如何优化?
以下是对该选股逻辑的优化建议:
-
考虑进一步引入定量分析方法,通过股票历史走势和财务数据综合衡量股票的投资价值。
-
在技术面和基本面处进行综合考虑,兼顾风险和投资潜力。
最终权益选股逻辑
选股策略为:振幅大于1、近一个月内有过涨停、开盘价在五日线到二十日线之间。此选股策略在原有选股条件基础上,增加了限定开盘价在不同时间段的均线范围内。
同花顺指标公式代码参考
- 振幅:(当日最高价 - 当日最低价) / REF(收盘价, 1)
- 开盘价:OPEN
- 均线:MA(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}
ma5_cond = {"$lte": REF(MA(CLOSE, 5), 1) + 0.05 * REF(MA(CLOSE, 5), 1) and "$gte": REF(MA(CLOSE, 5), 1) - 0.05 * REF(MA(CLOSE, 5), 1)}
ma10_cond = {"$lte": REF(MA(CLOSE, 10), 1) + 0.05 * REF(MA(CLOSE, 10), 1) and "$gte": REF(MA(CLOSE, 10), 1) - 0.05 * REF(MA(CLOSE, 10), 1)}
ma20_cond = {"$lte": REF(MA(CLOSE, 20), 1) + 0.05 * REF(MA(CLOSE, 20), 1) and "$gte": REF(MA(CLOSE, 20), 1) - 0.05 * REF(MA(CLOSE, 20), 1)}
# 构建排序条件
sort_cond = []
# 构建选股查询条件
cond = {
"$and": [
amplitude_cond,
limit_up_cond,
{
"$or": [ma5_cond, ma10_cond, ma20_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)", "OPEN", "MA(CLOSE, 5)", "MA(CLOSE, 10)", "MA(CLOSE, 20)"],
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
