(supermind量化-)振幅大于1、上市大于、周K线上穿30周线_

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

问财量化选股策略逻辑

策略选取振幅大于1、上市时间大于一年,且周K线上穿30周线的股票。选取周K线可以过滤掉日内波动的干扰,指标上穿可视为股票近期表现向好的信号。

选股逻辑分析

振幅大于1表示股票的价格波动范围较大,具有一定的市场活跃性。上市时间大于一年可以过滤掉新股或股价波动较大的股票。周K线上穿30周线则是技术指标中的趋势信号,表明股票近期表现向好,具有投资价值。

有何风险?

本选股策略只是从价格波动及技术指标两方面考虑,未考虑公司基本面、市场情况、板块轮动等因素对股票的影响。同时,可能存在股票涨跌幅度较大、市场情况变化时,股价波动较大等风险。

如何优化?

本选股策略可以加入其他技术指标,如MACD、KDJ等,更全面的技术面分析可以提高选股精度。同时,对于涨跌较大的股票,也需要合理的风险管理。

最终的选股逻辑

本选股策略选取振幅大于1、上市时间大于一年,且周K线上穿30周线的股票。

同花顺指标公式代码参考

周K线:
CM:=IF((WEEK(V)>REF(WEEK(V),1)),2HHV(H,60)-HHV(L,60)-REF(2HHV(H,60)-HHV(L,60),1),IF((WEEK(V)=REF(WEEK(V),1)),IF(C>REF(C,1),2HHV(H,60)-HHV(L,60)-REF(2HHV(H,60)-HHV(L,60),1),IF(C<=REF(C,1),2LLV(L,60)-HHV(H,60)-REF(2LLV(L,60)-HHV(H,60),1),WIDTH)),0);
MT:EMA(CM,M);

30周线:
MA(CLOSE, 30);

指标上穿:
CROSS(MT, MA(CLOSE, 30))

python代码参考

import tushare as ts

pro = ts.pro_api()

def select_stocks(n):
    selected_stocks = []

    for code in pro.query('stock_basic', exchange='', list_status='L', fields='ts_code,name,list_date,list_status')["ts_code"]:
        if len(selected_stocks) >= n:
            break

        if code.startswith("688"):
            continue

        if not code.startswith("60"):
            continue

        quote_info = pro.query('weekly', ts_code=code, start_date=(datetime.today() - timedelta(weeks=30)).strftime('%Y%m%d'), end_date=datetime.today().strftime('%Y%m%d'), fields='open, close, low, high')
        if len(quote_info) < 30:
            continue
        
        ma30 = quote_info["close"].rolling(30).mean()
        if ma30.iloc[-1] <= quote_info["close"].iloc[-1]: # 周K线上穿30周线
            selected_stocks.append(code)

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

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

    模板如何使用?

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


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

评论