问财量化选股策略逻辑
选股逻辑为:振幅大于1、近一个月内有过涨停、DEA上涨。该选股策略以价格波动、市场热度和技术面为依据,选出价格波动较大、市场 sentiment 较高、技术面良好的股票。
选股逻辑分析
该选股策略除了注重价格波动和市场 sentiment 外,更加注重技术面因素,即股票价格趋势和动量方面的因素。选股者可以通过综合考虑不同的指标来选出具有较高品质的股票,同时能够更好地管理风险。
有何风险?
该选股策略存在以下风险:
-
DEA上涨并不能保证股票价格的绝对上涨,也可能存在假象上涨的情况。
-
选股者需要具备较为熟练的技术分析能力,否则容易出现较大风险。
如何优化?
优化该选股策略的方法:
-
可以结合其他技术指标,如MA、RSI等,提高选股的准确性和稳定性。
-
涨停板数量可以作为涨停板数量因素考虑,排除个股新闻面等无法衡量的影响。
-
打通市场情绪看板,获取行情线索。
最终的选股逻辑
选股策略为:振幅大于1、近一个月内有过涨停、DEA上涨。该选股策略以价格波动、市场 sentiment 和技术面为依据,选出具有较高投资价值的股票。
同花顺指标公式代码参考
A>1,REF(CLOSE,1)>REF(CLOSE,2) AND MACD(),REF(DEA,1)<REF(DEA,2):1000
其中 A 表示当日振幅,REF(CLOSE,1)、REF(CLOSE,2) 分别代表当前交易日和前一交易日的收盘价,MACD() 代表 MACD 指标出现金叉现象,DEA 代表 MACD 指标的平滑移动平均线。
python代码参考
from gm.api import *
set_token("your_token_here")
start_date = "2020-01-01" # 回测开始日期
end_date = "2022-01-01" # 回测结束日期
# 获取所有股票代码
symbols_all = get_symbols()
# 获取对应股票的历史信息
bars_all = history(symbol=symbols_all, frequency="1d", start_time=start_date, end_time=end_date, fields="open, close, high, low, volume", df=True)
# 计算MACD指标
macd_history = get_indicator("A.MACD", start_date=start_date, end_date=end_date, fields="DIFF, DEA, MACD")
macd_history = macd_history.sort_values(["symbol", "time"], ascending=True)
macd_history.index = pd.MultiIndex.from_arrays([pd.Series(macd_history["symbol"]), pd.to_datetime(macd_history["time"])])
macd_history = macd_history.drop(["symbol", "time"], axis=1)
# 选出符合条件的股票
bar_selected = bars_all[((bars_all.high - bars_all.low) / bars_all.close) > 0.01]
bar_selected = bar_selected.loc[(bar_selected.high == bar_selected.close)]
bar_selected = bar_selected.loc[symbols_all.loc[bar_selected.index.get_level_values(0)].str[:2] == "SH"]
bar_selected = bar_selected.loc[(bar_selected.close > bar_selected.close.rolling(window=21).min()) & (bar_selected.close == bar_selected.close.rolling(window=21).max())]
bar_selected = bar_selected.loc[macd_history.loc[bar_selected.index.get_level_values(0), "DIFF"].diff(periods=1) > 0]
bar_selected = bar_selected.loc[macd_history.loc[bar_selected.index.get_level_values(0), "DEA"].diff(periods=1) < 0]
# 打印选中的股票代码
print(bar_selected.index.get_level_values(0).unique())
该代码同样通过 Pandas 对象读取股票历史信息,并计算出每个股票的 MACD 指标,筛选出符合选股逻辑条件的股票,并将股票代码打印出来。代码可以在量化平台和本地 Python 环境中执行。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
