(supermind量化-)振幅大于1、股票均价站在五日均线之上、10天内涨停天数大于2_

用户头像神盾局量子研究部
2023-08-21 发布

问财量化选股策略逻辑

选择振幅大于1、股票均价站在五日均线之上、10天内涨停天数大于2的股票,认为该股票有较强的市场表现和较高的成长性。

选股逻辑分析

振幅大于1意味着该股票的价格波动较大,有可能存在被低估的可能性;股票均价站在五日均线之上,则可能代表该股票在短期内处于上涨趋势中。同时,10天内连续涨停的天数大于2,则说明市场对该股票的追捧程度较高,市场前景较为良好。

有何风险?

该选股策略可能会出现短期行情对股票的影响过度而忽略了企业的基本面情况,同时过度依赖技术指标和短期表现可能会带来较高的风险,高成交量的情况下,该策略可能导致过度投资,从而增加个股风险。该策略适用于较为稳定的市场环境,慎用于波动较大的市场环境。

如何优化?

该策略可以通过引入更多的因素,如市场前景评估、行业景气度、市场竞争格局等多项因素进行综合考虑,提高选股的准确性及风险控制能力。

同时应对市场风格周期性转换的存在,及时对投资组合进行调整和优化,还要进行动态调整,结合自身投资经验对选股因素和权重进行调整。

最终的选股逻辑

选择振幅大于1、股票均价站在五日均线之上、10天内涨停天数大于2的股票,从宏观经济、行业前景、公司基本面、估值等多个角度综合考虑,挑选品质优良的股票进行投资。

同花顺指标公式代码参考

// 挑选振幅大于1的股票
amplitude = (HIGH - LOW) / REF(CLOSE,1)
amplitude_bool = amplitude > 1

// 挑选股票均价站在5日均线之上的股票
ma5 = MA(CLOSE, 5)
price_over_ma5_bool = CLOSE > ma5

// 挑选10天内涨停天数大于2的股票
up_days = IF((REF(CLOSE, 1)/REF(CLOSE, 2) - 1) > 0.094, 1, 0)
up_days_count = SUM(up_days, 10)
up_days_count_bool = up_days_count > 2

// 挑选符合条件的股票
result = amplitude_bool & price_over_ma5_bool & up_days_count_bool

// 输出筛选结果
result

python代码参考

import tushare as ts

# 获取所有股票的基本信息和行情信息
all_stocks = ts.get_stock_basics()
symbol_list = all_stocks.index.tolist()

hist_data = ts.get_hist_data(symbol_list[-1])
temp_data = pd.DataFrame()
for symbol in symbol_list:
    single_data = ts.get_hist_data(symbol)
    temp_data = pd.concat([temp_data,single_data],ignore_index=False)

# 挑选振幅大于1的股票
amplitude = (temp_data['high'] - temp_data['low']) / temp_data['pre_close']
amplitude_bool = amplitude >= 0.01

# 挑选股票均价站在5日均线之上的股票
ma5 = temp_data.groupby('code')['close'].rolling(window=5).mean().reset_index(name='ma5')
final_data = all_stocks.merge(ma5)

price_over_ma5_bool = final_data['close'] > final_data['ma5']

# 挑选10天内涨停天数大于2的股票
up_series = (final_data['close'] / final_data['close'].shift(1) - 1) > 0.094
up_days_count = up_series.groupby(final_data['code']).rolling(window=10).sum()
up_days_count_bool = up_days_count > 2
final_data = final_data.merge(up_days_count.reset_index(), on=['code', 'date'])

# 挑选符合条件的股票
result = final_data[(amplitude_bool & price_over_ma5_bool & up_days_count_bool).values]

# 输出筛选结果
print(result)

注:以上代码仅供参考,具体实现还需要根据实际情况进行适度修改。

    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

    select_sentence = '市值小于100亿' #选股语句。

    模板如何使用?

    点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。


    ## 如果有任何问题请添加 下方的二维码进群提问。
    ![94c5cde12014f99e262a302741275d05.png](http://u.thsi.cn/imgsrc/pefile/94c5cde12014f99e262a302741275d05.png)
收益&风险
源码

评论