(i问财选股策略)换手率3%-12%_、100亿市值以内的无亏损企业、至少5根均线重合的股

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

问财量化选股策略逻辑

  • 至少5根均线重合的股票:表示股票价格在不同时间周期内的趋势较为一致,可以作为买入的信号。
  • 100亿市值以内的无亏损企业:表示企业经营状况较好,有一定的抗风险能力。
  • 换手率3%-12%:表示股票流通性较好,买卖较为活跃。

选股逻辑分析

  • 5根均线重合的股票:表示股票价格在不同时间周期内的趋势较为一致,可以作为买入的信号。如果5根均线都在上升趋势中,则表示股票价格有较强的上涨动力;如果5根均线都在下降趋势中,则表示股票价格有较强的下跌动力。
  • 100亿市值以内的无亏损企业:表示企业经营状况较好,有一定的抗风险能力。如果企业经营状况不佳,则可能会面临较大的风险,从而影响股票价格的走势。
  • 换手率3%-12%:表示股票流通性较好,买卖较为活跃。如果换手率过低,则表示股票流通性较差,买卖较为不活跃,不利于股票价格的波动。

有何风险?

  • 5根均线重合的股票:如果5根均线都在上升趋势中,则表示股票价格有较强的上涨动力;如果5根均线都在下降趋势中,则表示股票价格有较强的下跌动力。如果股票价格在短期内出现较大的波动,则可能会导致投资者出现较大的损失。
  • 100亿市值以内的无亏损企业:如果企业经营状况不佳,则可能会面临较大的风险,从而影响股票价格的走势。如果企业出现财务危机,则可能会导致股票价格出现大幅下跌。
  • 换手率3%-12%:如果换手率过低,则表示股票流通性较差,买卖较为不活跃,不利于股票价格的波动。如果换手率过高,则可能会导致股票价格出现较大的波动,从而对投资者造成损失。

如何优化?

  • 可以考虑加入更多的均线作为参考,例如6根、8根等,以更好地反映股票价格的趋势。
  • 可以考虑加入更多的财务指标作为参考,例如市盈率、市净率等,以更好地反映企业的经营状况。
  • 可以考虑加入更多的技术指标作为参考,例如布林线、MACD等,以更好地反映股票价格的波动情况。

最终的选股逻辑

  • 选取至少5根均线重合的股票,其中5根均线都在上升趋势中。
  • 选取100亿市值以内的无亏损企业。
  • 选取换手率在3%-12%之间的股票。

python代码参考

  • import talib

  • import pandas as pd

  • import numpy as np

  • def get_stock_data(stock_code):

    • df = pd.read_csv('stock_data.csv')
      
    • df = df[df['stock_code'] == stock_code]
      
    • return df
      
  • def get_5_moving_average(df):

    • ma5 = talib.MA(df['close'], timeperiod=5)
      
    • ma10 = talib.MA(df['close'], timeperiod=10)
      
    • ma20 = talib.MA(df['close'], timeperiod=20)
      
    • ma50 = talib.MA(df['close'], timeperiod=50)
      
    • ma100 = talib.MA(df['close'], timeperiod=100)
      
    • return ma5, ma10, ma20, ma50, ma100
      
  • def get_loss(df):

    • loss = df['close'].diff()
      
    • loss = loss[loss > 0]
      
    • return loss
      
  • def get_open_price(df):

    • open_price = df['open']
      
    • return open_price
      
  • def get_stock筛选数据(df):

    • ma5, ma10, ma20, ma50, ma100 = get_5_moving_average(df)
      
    • loss = get_loss(df)
      
    • open_price = get_open_price(df)
      
    • data = pd.DataFrame({'ma5': ma5, 'ma10': ma10, 'ma20': ma20, 'ma50': ma50, 'ma100': ma100, 'loss': loss, 'open_price': open_price})
      
    • return data
      
  • def get_stock筛选结果(df):

    • data = get_stock筛选数据(df)
      
    • data = data[(data['ma5'] > data['ma10']) & (data['ma5'] > data['ma20']) & (
      

如何进行量化策略实盘?

请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

模板如何使用?

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

如果有任何问题请添加 下方的二维码进群提问。

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论