(iwencai选股策略)近25个交易日有单日涨幅大于等于百分之10_、饮料酒进出口、ma

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

问财量化选股策略逻辑

选股逻辑:MACD零轴以上、饮料酒行业进出口情况、近25个交易日有单日涨幅大于等于百分之10。选股逻辑作为第一个段落放入标题为##问财量化选股策略逻辑的段落中。分析以上的选股逻辑(每个逻辑以 , 进行分隔) ,分析选股的逻辑(放入标题为 ## 选股逻辑分析 的段落),有什么风险?(放入标题为 ## 有何风险? 的段落)如何优化?(放入标题为 ## 如何优化? 的段落)并最终给出完善选股逻辑(放入标题为 ## 最终的选股逻辑 的段落),请用markdown格式。

选股逻辑分析

该选股策略以MACD指标、饮料酒行业进出口情况、近25个交易日有单日涨幅等因素为选股指标,选出MACD零轴以上、饮料酒行业进出口情况良好、近25个交易日有单日涨幅大于等于10%的股票。其中,MACD指标反映了当前市场走势情况、饮料酒行业进出口情况反映了行业的基本面因素、近25个交易日有单日涨幅大于等于10%反映了股票的市场热度和走势情况。

有何风险?

以下是该选股策略可能存在的一些风险:

  1. 近25个交易日有单日涨幅大于等于10%的股票可能存在超买现象,买入时存在一定的风险;
  2. 选股策略过于依赖于MACD指标和行业基本面数据,缺乏全面衡量个股基本面情况的指标;
  3. 选股结果比较单一,可能存在较大的个股风险。

如何优化?

以下是该选股策略的一些优化建议:

  1. 近25个交易日有单日涨幅大于等于10%可以结合其他技术指标来综合判断,例如KD指标、RSI指标等指标;
  2. 可以加入其他基本面因素,例如市盈率、市净率等指标,以全面衡量股票基本面情况;
  3. 可以将需要掌握的量化指标进行训练,以提高选股策略的准确性。

最终的选股逻辑

该选股策略以MACD指标、饮料酒行业进出口情况、近25个交易日有单日涨幅大于等于10%为主要选股指标,选出MACD零轴以上、饮料酒行业进出口情况良好、近25个交易日有单日涨幅大于等于10%的股票。

同花顺指标公式代码参考

选股公式: MACD() >= 0 AND REF(MACD(), 1) < REF(MACD(), 2) AND stock_industry.in("啤酒制造", "白酒制造", "饮料制造") AND (C/REF(C, 1)-1)>=0.1

Python代码参考

from jqdata import *

# 初始化函数
def initialize(context):
    g.stocks_selected = []
    set_benchmark('000300.XSHG')  # 设置基准
    
# 策略选股函数
def stock_select(context):
    industry_name = ['啤酒制造', '白酒制造', '饮料制造']
    q = query(
          valuation.code, valuation.circulating_cap
        ).filter(
          valuation.circulating_cap < 100*1000000000,
          indicator.roe > 0,
          valuation.pe_ratio > 0,
          indicator.net_profit_margin > 0,
        ).order_by(
          valuation.market_cap.asc()
        ).limit(30)
    df = get_fundamentals(q).fillna(value=0)
    security_list = list(df.code)
    
    if security_list:
        for security in security_list:
            current_macd = get_macd(security)
            if current_macd != None and current_macd['diff'] > current_macd['dea'] and current_macd['macd'] > 0:
                if get_industry(security) in industry_name:
                    last_25_day_closes = get_bars(security, 25, '1d', 'close')  # 获取最近25个交易日的收盘价数据
                    if ((last_25_day_closes[-1] / last_25_day_closes[-2] - 1) >= 0.1):
                        g.stocks_selected.append(security)

# 交易部分函数
def trade(security_list, cash):
    position_count = len(security_list)
    if position_count == 0:
        return

    # 单只股票买入不超过 total cash 的 1/4
    if cash/position_count >= 4 * get_security_info(security_list[0]).price:
        stock_value = cash / position_count

    for stock in security_list:
        if stock in context.portfolio.positions:
            # 已持有该股,调整其仓位
            target_value = stock_value
            adjust_position(stock, target_value)
        else:
            # 未持有该股,开仓
            order_target_value(stock, stock_value)
            
def adjust_position(stock, target_value):
    cur_price = get_security_info(stock).last_price
    cur_value = context.portfolio.positions[stock].value
    gap = abs(target_value - cur_value) / cur_price
    if target_value > cur_value:
        order(stock, int(gap))
    elif target_value < cur_value:
        order(stock, -int(gap))

# 策略实现部分
def handle_data(context, data):
    current_cash = context.portfolio.cash
    stock_select(context)  # 选股
    trade(g.stocks_selected, current_cash)  # 调仓
    g.stocks_selected = []  # 清空当日股票池
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论