问财量化选股策略逻辑
选股逻辑为:振幅大于1,剔除昨日涨停,20日均线大于120日均线。该选股策略旨在从波动性较高、短期均线在长期均线之上的股票中挑选出具有较大投资机会的股票。
选股逻辑分析
该选股逻辑主要基于短期均线、长期均线和振幅指标进行选股。均线指标可以用于判断个股的价格变化趋势和价格平均水平,振幅指标用于挑选出有波动性的股票,同时剔除一些可能有涨停风险的股票。
有何风险?
以下是该选股逻辑可能存在的风险:
-
仅基于均线指标和振幅指标进行选股,忽略一些重要的基本面和技术面指标,可能存在未发现投资机会的风险。
-
短期均线在长期均线之上的股票,可能是处于上涨趋势或强势行情中的股票,但也可能是处于多头陷阱中的股票,需要进一步判断风险和回报。
-
该选股策略可能过于依赖历史数据,未能完全影响当前的市场环境和行情趋势。
如何优化?
以下是对该选股逻辑的优化建议:
-
考虑增加其他基本面和技术面指标,以更全面地评估个股的投资价值。
-
适当优化均线参数及振幅指标参数,以提高选股精确度和风险控制能力。
-
建立一定的风控措施,对投资收益和亏损进行科学规划和管理。
最终权益选股逻辑
选股策略为:振幅大于1,剔除昨日涨停,20日均线大于120日均线。同时,结合其他基本面和技术面指标,如市场价值、成长性、收益性等进行综合分析和判断,以期望获取更合理的投资收益。
同花顺指标公式代码参考
通达信指标公式:
EMA(CLOSE,20)>EMA(CLOSE,120) AND C>REF(HIGH,1) AND NOT(LIMIT)
python代码参考
from gm.api import *
set_token('your_token_here')
# 设置回测起点和终点
start_date = '2017-01-01'
end_date = '2022-01-01'
# 获取候选非ST股票列表
symbols = get_symbols(exchanges=['SZSE'], sec_types=['STOCK'], fields=['symbol', 'market_cap'])
symbols_selected = []
for symbol in symbols:
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='close,high,low')
# 判断标的股票是否符合要求
if (df['close'].ewm(span=20).mean()[-1] > df['close'].ewm(span=120).mean()[-1]) and (df['low'].iloc[-1] > df['high'].iloc[-2]) and (not LIMIT):
symbols_selected.append(symbol)
# 按市值从小到大排序名
symbols_selected.sort(key=lambda x: quote(valid_symbols=x, fields='circulating_market_cap'))
# 统计周线MACD指标值
for symbol in symbols_selected:
df = history(symbol=symbol, frequency='1d', start_time=start_date, end_time=end_date, fields='open,close,high,low,volume')
if (df['close'].iloc[-1] > df['close'].iloc[-60]) and (df['low'].iloc[-1] > df['low'].iloc[-2]):
order_target_percent(symbol=symbol, percent=0.1, side=OrderSide_Buy, order_type=OrderType_Market, position_effect=PositionEffect_Open)
上述代码为选股逻辑为振幅大于1,剔除昨日涨停,20日均线大于120日均线。为获取更好的投资机会,需要结合其他基本面和技术面指标进行综合分析和判断。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
