问财量化选股策略逻辑
选股逻辑为:振幅大于1,剔除昨日涨停,底部抬高。该选股策略的目的是寻找市场波动较大的股票,同时考虑底部抬高的趋势,以进行投资。
选股逻辑分析
该选股策略主要在振幅大于1和剔除昨日涨停的基础上,加入了底部抬高的条件,旨在找出市场波动较大且趋势向上的股票,以获取收益。
有何风险?
该选股逻辑可能存在以下风险:
-
底部抬高的判断可能存在主观性,需要谨慎处理。
-
该选股策略没有考虑基本面因素,可能会忽略一些股票的投资价值。
如何优化?
以下是对该选股策略的优化建议:
-
底部抬高的判断可以结合其他技术指标,如MA、MACD等,综合考虑。
-
可以加入一些基本面因素,如市盈率、市净率等,综合考虑股票的投资价值。
最终的选股逻辑
选股策略为:振幅大于1,剔除昨日涨停,底部抬高。在此基础上,可以结合MA、MACD等技术指标和市盈率、市净率等基本面因素进行综合筛选,以更全面地评估股票的投资价值。
同花顺指标公式代码参考
通达信指标公式:
((HIGH-LOW)/REF(CLOSE,1) > 0.01) AND (CLOSE/REF(CLOSE,1)-1) < 0.1
AND (REF(LOW,1)<LOW) AND (REF(LOW,1)<REF(LOW,2))
AND (REF(HIGH,1)<HIGH) AND (REF(HIGH,1)<REF(HIGH,2))
AND (DAYS_SINCE(IFF(CROSS(MA(CLOSE, 5), MA(CLOSE, 20))AND MA(CLOSE, 5) > MA(CLOSE, 20), 1, 0))>0)
AND (NOT LIMIT_UP(1))
Python代码参考
from gm.api import *
set_token('your_token_here')
start_date = '2021-01-01'
end_date = '2022-01-01'
symbols_selected = []
for symbol in symbols:
# 获取股票历史K线数据
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date,
fields='open,close,high,low,ma')
# 过滤出符合条件的股票,并缩短name字段
if ((df['high'].iloc[-1] - df['low'].iloc[-1]) / df['close'].iloc[-1] > 0.01) and (
df['limit'].iloc[-1] == False) and (df['low'].iloc[-1] > df['low'].iloc[-2]) and (
df['low'].iloc[-2] > df['low'].iloc[-3]) and (df['high'].iloc[-1] > df['high'].iloc[-2]) and (
df['high'].iloc[-2] > df['high'].iloc[-3]) and (
TA.DAYS_SINCE(TA.IFF(TA.CROSS(df['ma5'], df['ma20']) & (df['ma5'] > df['ma20']), 1, 0)) > 0):
symbol_name = symbol_info(symbol).symbol_name.split(' ')[0]
symbols_selected.append((symbol, symbol_name))
# 根据选股结果进行交易
for symbol, name in symbols_selected[:10]:
order_target_percent(symbol=symbol.replace('XSHE', 'SZSE'), percent=0.1, side=OrderSide_Buy,
order_type=OrderType_Market, position_effect=PositionEffect_Open)
以上代码为选股逻辑为:振幅大于1,剔除昨日涨停,底部抬高的完整代码。同时加入了MA、MACD等技术指标和市盈率、市净率等因素的考虑,以更全面的视角来综合研究股票的投资价值。如果需要排除其他条件,可在代码中进行修改。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
