(supermind量化-)振幅大于1、周线MA5金叉MA10、昨日主力控盘_

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

问财量化选股策略逻辑

本选股策略选取振幅大于1、周线MA5金叉MA10以及昨日主力控盘的股票。该选股逻辑通过振幅和均线选出走势较好的股票,再结合主力控盘指标进一步筛选出潜在上涨股票。

选股逻辑分析

本选股策略通过振幅和均线筛选出股票的走势,再结合主力控盘指标来寻找短期市场潜在上涨股票。选股逻辑比较注重短期较为敏感的行情,需要适时调整和优化选股策略。

有何风险?

该选股策略相对于长期投资而言,更注重短期市场情况,难以考虑到个股的基本面和长期价值。同时,该策略适应于主力控盘的股票可能涨幅过高,存在回调风险。

如何优化?

可以加入其他指标,如MACD等指标,进一步筛选优质股票。同时,结合公告和年报等基本面数据,加强分析股票的长期投资价值。在实际操作中,也应当灵活应对市场情况,适时调整选股策略。

最终的选股逻辑

本选股逻辑的选股策略是振幅大于1、周线MA5金叉MA10以及昨日主力控盘的股票。在实际操作中,可以结合市场情况和实际需求对选股逻辑进行调整和优化。

同花顺指标公式代码参考

  • 振幅公式:
    • Amplitude = (HIGH - LOW) / PRE_CLOSE
  • 均线公式:
    • MA(N) = SUM(CLOSE, N) / N
  • 主力控盘公式:
    • 4日主力成交量比 = SUM(VOL * IF(REF(CLOSE,1) > REF(CLOSE,2), 1, 0), 4) / SUM(VOL * IF(REF(CLOSE,1) < REF(CLOSE,2), 1, 0), 4)
    • 9日主力成交量比 = SUM(VOL * IF(REF(CLOSE,1) > REF(CLOSE,2), 1, 0), 9) / SUM(VOL * IF(REF(CLOSE,1) < REF(CLOSE,2), 1, 0), 9)
  • 满足条件公式:
    • condition = (amplitude > 0.01) & (ma5 > ma10) & (ma4_volume_ratio_yesterday > 1.5) & (ma9_volume_ratio_yesterday > 1.5)

python代码参考

import tushare as ts
import datetime

PRO = ts.pro_api('your_token')

def select_stocks(n):
    selected_stocks = []
    for code in PRO.stock_basic(exchange='', list_status='L', fields='ts_code,name,industry,market,circ_mv,total_mv,pe,pb,area,list_date')['ts_code']:
        if code.startswith('300') or code.startswith('688'):
            continue
        df = PRO.daily(ts_code=code, start_date='20180101', end_date=datetime.datetime.now().strftime('%Y%m%d'), fields='ts_code,trade_date,open,high,low,close,vol')
        if len(df) == 0:
            continue
        amplitude = (df['high'] - df['low']) / df['close'].shift(1)
        ma5 = df['close'].rolling(5).mean()
        ma10 = df['close'].rolling(10).mean()
        ma4_volume_ratio_yesterday = df['vol'].rolling(4).apply(lambda x: (x * (df['close'].shift(1) > df['close'].shift(2))).sum() / (x * (df['close'].shift(1) < df['close'].shift(2))).sum(), raw=True).shift(1)
        ma9_volume_ratio_yesterday = df['vol'].rolling(9).apply(lambda x: (x * (df['close'].shift(1) > df['close'].shift(2))).sum() / (x * (df['close'].shift(1) < df['close'].shift(2))).sum(), raw=True).shift(1)
        if amplitude[-1] > 0.01 and ma5[-1] > ma10[-1] and ma4_volume_ratio_yesterday[-1] > 1.5 and ma9_volume_ratio_yesterday[-1] > 1.5:
            selected_stocks.append(code)
    return selected_stocks[:n]
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论