问财量化选股策略逻辑
选股逻辑为:振幅大于1,剔除昨日涨停,选股时间范围为2021年。该选股策略旨在挑选具有较大波动的股票,并对选股时间做出限制,筛选具有短期投资价值的股票。
选股逻辑分析
该选股策略主要考虑了波动性因素,限制时间范围以避免选择长时间走低的股票。选股逻辑较为简单,适用于快速挑选使用短线操作的股票。
有何风险?
该选股逻辑可能存在以下风险:
-
只考虑了股票的波动性,而忽略了基本面等其他因素,忽略了公司的财务数据和行业背景等重要信息。
-
限制选股时间可能出现反应不及时的情况,可能会错过重要市场波动,影响选股策略的效果。
如何优化?
以下是对该选股逻辑的优化建议:
-
在选股时应该综合考虑股票的基本面指标和政策面的因素,例如行业热点和政策变化等,更全面深入地分析股票的价值。
-
应该考虑更长的时间范围,以获取更加全面的市场信息和历史数据,对选股策略进行更完整的优化。
最终的选股逻辑
选股策略为:振幅大于1,剔除昨日涨停,选股时间范围为2021年,市盈率低于20。在选股的过程中除了波动性外增加了市盈率作为基本面指标的考察。
同花顺指标公式代码参考
通达信指标公式:
(TR / REF(CLOSE,1)) > 0.01 AND NOT(LIMIT) AND YEAR > 2020 AND PE < 20
Python代码参考
from gm.api import *
set_token('your_token_here')
start_date = '2021-01-01'
end_date = '2022-01-01'
industry_pe = get_fundamentals(table='PE_INDICS', date=trade_days(-1)[-1], symbols='SHSE.000300')['pe'].mean()
symbols_selected = []
for symbol in symbols:
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='open,close,high,low')
close_price = df['close']
kdj_signal = TA.KDJ(df, 9, 3, 3)['k'].iloc[-1] > TA.KDJ(df, 9, 3, 3)['d'].iloc[-1] > TA.KDJ(df, 9, 3, 3)['j'].iloc[-1]
if ((df['high'].iloc[-1] - df['low'].iloc[-1]) / df['close'].iloc[-1] > 0.01) and (
df['limit'].iloc[-1] == False) and (int(df.index[-1][:4]) > 2020) and (get_fundamentals(table='indicator', date=trade_days(-1)[-1], symbols=symbol)['pe'][0] < 20):
symbols_selected.append(symbol.replace('XSHE', 'SZSE'))
# 根据选股结果进行交易
for symbol in symbols_selected[:10]:
order_target_percent(symbol=symbol, percent=0.1, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)
以上代码为选股逻辑为振幅大于1,剔除昨日涨停,选股时间范围为2021年,市盈率低于20的代码。代码增加市盈率的考虑,以更好的评判股票的基本面价值;同时去除了可能的过度追涨策略,以防股票价值的过高估计。另有根据股票筛选结果进行交易的功能,便于用户的实际操作。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
