(supermind量化-)振幅大于1、股票均价站在五日均线之上、周线macd在零轴之上_

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

问财量化选股策略逻辑

选择振幅大于1、股票均价站在五日均线之上、周线MACD在零轴之上的股票进行选股。

选股逻辑分析

振幅大于1表示股票价格较为波动,较适合进行短线操作;股票均价站在五日均线之上表示股价处于上涨趋势,有一定的增涨潜力;周线MACD在零轴之上表示股票价格处于上涨趋势,有一定的上涨潜力。

该选股策略主要考虑股票的价格变动及趋势,结合周线MACD指标来筛选具备较高短期和长期投资价值的股票,以期望获得较高的投资收益。

有何风险?

该选股逻辑仅仅以股票的技术面为主要因素,存在过度拟合市场的风险。

此外,某些股票会出现机构拉升、虚假利好等情况,使得选股逻辑失效。

如何优化?

需要加强公司基本面的分析,结合股票技术面和基本面进行综合判断,选择具有较高长期价值的股票进行投资。

可以加入公司盈利情况、业务前景、行业竞争格局等因素进行综合分析,选择具备成长性和景气性的股票进行投资。

最终的选股逻辑

选择振幅大于1、股票均价站在五日均线之上、周线MACD在零轴之上,并结合股票的基本面和行情趋势等因素进行综合筛选,选择具有较高长期价值及成长性的股票进行投资。

同花顺指标公式代码参考

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

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

// 挑选周线MACD在零轴之上的股票
dif,dea,macd = MACD(CLOSE, 26, 12, 9)
macd_bool = macd > 0

// 挑选符合条件的股票 
result = amplitude_bool & price_over_ma5 & macd_bool

// 输出筛选结果
result

python代码参考

import tushare as ts

# 获取所有股票的基本信息
all_stocks = ts.get_stock_basics()

# 获取所有股票的实时行情信息
all_data = ts.get_today_all()

# 合并数据
merge_data = pd.merge(all_stocks,all_data,on='code',how='inner')
final_data = merge_data

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

# 挑选股票均价站在5日均线之上的股票
symbol_list = final_data.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)
ma5 = temp_data.groupby('code')['close'].rolling(window=5).mean().reset_index(name='ma5')
final_data = final_data.merge(ma5)

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

# 挑选周线MACD在零轴之上的股票
macd_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)
MACD = MACD(temp_data['close'],fastperiod=12, slowperiod=26, signalperiod=9)
MACD_bool = MACD['macd'] > 0

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

# 输出筛选结果
print(result)

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

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

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

    模板如何使用?

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


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

评论