问财量化选股策略逻辑
选股逻辑为:振幅大于1,竞价时涨跌幅买入大单,特大单共计买入量大于0.7千万,20日均线大于120日均线的股票。该选股策略综合考虑了技术面和基本面等因素,通过过滤掉不合格的股票,选择出具有一定投资价值的股票。
选股逻辑分析
该选股逻辑综合考虑了振幅、竞价时涨跌幅等技术面指标,以及特大单共计买入量和均线等市场面指标。20日均线大于120日均线,可以表明该股票涨势良好,尤其是当股价交叉上穿的时候,更具投资价值。同时,该选股逻辑增加了技术面指标和基本面指标的结合,尽可能地减少了因为单一投资指标存在的客观性和不确定性。
有何风险?
该选股策略主要存在以下风险:
-
过于依赖历史数据和过往表现,可能存在过拟合和丧失适应性的风险。
-
忽略了市场环境和公司基本面等因素,无法全面评估股票的价值。
-
某些股票可能存在因为市场大背景而大幅波动,或因为资金流动而影响其选股结果的风险。
如何优化?
为了优化该选股策略,可以考虑以下措施:
-
加入市净率、股票市值、营业收入和利润数据等更多的基本面指标,以完善投资评估模型。
-
建立动态选股模型,根据市场环境和板块动态调整选股策略,尽可能降低过拟合和丧失适应性的风险。
-
加强资产配置和风险分散,避免把所有筹码集中在少量股票上,降低风险。
最终的选股逻辑
选股逻辑为:振幅大于1,竞价时涨跌幅买入大单,特大单共计买入量大于0.7千万,20日均线大于120日均线的股票。该选股策略通过加入均线等技术面指标和市场面指标,尽可能充分考虑了基本面、技术面和市场环境等多方面因素。
同花顺指标公式代码参考
A > 1 AND ABS(B1 / B2 - 1) > 0.03 AND ABS(C4) > 7000000 AND MA(C, 20) > MA(C, 120), 1
其中,A表示振幅,B1/B2表示竞价时涨跌幅,C4表示特大单共计买入量,MA(C, 20)表示20日均线,MA(C, 120)表示120日均线,其他参数参考前述选股逻辑和分析。
python代码参考
from gm.api import *
set_token("your_token_here")
symbol = "SZSE.000001" # 股票代码
start_date = "2018-01-01" # 回测开始日期
end_date = "2022-01-01" # 回测结束日期
# 获取历史股票信息
stocks = get_history_instruments(type=InstrumentType.Stock, market=Market.SZSE, max_count=10000)
# 获取股票历史信息,包括分红信息
bars = history(symbol=symbol, frequency="1d", start_time=start_date, end_time=end_date, fields="close, Depth, financial, institution, amount, dividend, listing_date, limit_up_down", df=True)
# 计算均线
bars['ma20'] = ta.sma(bars['close'], 20)
bars['ma120'] = ta.sma(bars['close'], 120)
# 判断是否符合条件
selected = (abs(high() / low() - 1) > 0.01) & (abs(bid_volume1() / ask_volume1() - 1) > 0.03) & (abs(total_bought_large_orders()) > 70000000) & (bars['ma20'] > bars['ma120'])
# 选出符合条件的股票
selected_bars = bars.loc[selected]
# 打印选中的股票代码
print(selected_bars.index.values)
其中,其他变量含义同前述的选股逻辑和分析。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


