(同花顺量化)10日涨幅大于0小于35_、macd零轴以上、高点为两日最高

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

问财量化选股策略逻辑

高点为两日最高,macd零轴以上,10日涨幅大于0小于35

选股逻辑分析

这个策略的逻辑是基于技术分析和趋势跟踪。首先,它选择在两天内达到最高点的股票,这表明这些股票已经经历了短期的上涨。然后,它选择macd零轴以上的股票,这表明市场正在经历上涨趋势。最后,它选择10日涨幅大于0小于35的股票,这表明这些股票的上涨趋势正在持续,但还没有达到过高的水平。

有何风险?

这个策略的潜在风险是它可能会选择一些已经过热的股票,这些股票可能会在短期内经历回调。此外,如果市场出现反转,这个策略可能会选择一些表现不佳的股票。

如何优化?

为了优化这个策略,可以考虑加入更多的过滤条件,例如选择市盈率较低的股票、选择有业绩支撑的股票等等。此外,可以考虑使用更高级的技术分析工具来确定股票的高点和趋势。

最终的选股逻辑

以下是最终的选股逻辑:

def select_stock():
    # 获取所有A股股票
    stocks = get_stocks()

    # 筛选出两天内达到最高点的股票
    high_points = [stock['high'] for stock in stocks if stock['high'] > stock['high'].shift(1)]

    # 筛选出macd零轴以上的股票
    macd = stocks['macd'].rolling(window=10).mean()
    macd_zero_cross = macd > 0
    stocks = stocks[macd_zero_cross]

    # 筛选出10日涨幅大于0小于35的股票
    gains = stocks['close'].pct_change()
    gains = gains.where(gains > 0, 0)
    gains = gains.where(gains < 35, 0)
    stocks = stocks[gains]

    return stocks

python代码参考

import pandas as pd

def get_stocks():
    # 获取所有A股股票
    stocks = pd.read_csv('stock_data.csv')
    return stocks

def calculate_macd(stocks):
    # 计算macd指标
    macd = stocks['close'].rolling(window=10).mean() - stocks['close'].rolling(window=20).mean()
    return

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

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

    模板如何使用?

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


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

评论