(iwencai量化策略)按今日竞价金额排序前5_、换手率_2%且_9%、至少5根均线重合

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

问财量化选股策略逻辑

在问财中,我们可以通过以下逻辑来筛选出至少5根均线重合的股票:

  1. 按照今天的开盘价计算,选出所有收盘价在5日、10日、20日、60日、120日均线之上的股票。
  2. 计算每只股票的换手率,选择换手率大于2%且小于9%的股票。
  3. 按照今日竞价金额排序,选择前5只股票。

选股逻辑分析

该策略的逻辑较为简单,主要利用了均线和换手率这两个指标来筛选股票。其中,均线可以帮助我们判断股票的趋势,而换手率则可以反映股票的活跃程度。通过综合考虑这两个指标,我们可以筛选出一些具有潜力的股票。

然而,该策略也存在一些风险。首先,由于该策略是基于历史数据进行筛选的,因此它可能无法准确预测未来市场走势。其次,由于该策略只考虑了均线和换手率这两个指标,因此它可能无法捕捉到其他重要的因素,例如公司的财务状况、行业发展趋势等。

如何优化?

为了优化该策略,我们可以考虑以下几点:

  1. 尝试加入更多的指标,例如市盈率、市净率等,以更全面地评估股票的价值。
  2. 尝试加入技术指标,例如MACD、KDJ等,以更准确地判断股票的趋势。
  3. 尝试加入市场情绪指标,例如恐慌指数、贪婪指数等,以更准确地捕捉市场情绪的变化。

最终的选股逻辑

在最终的策略中,我们可以考虑加入更多的指标,例如市盈率、市净率、技术指标(如MACD、KDJ)和市场情绪指标(如恐慌指数、贪婪指数),以更全面地评估股票的价值和趋势。同时,我们还可以考虑加入一些过滤条件,例如只选择在一定价位区间内的股票,以避免高估或低估的情况。最后,我们可以将这些指标和过滤条件组合起来,以更准确地筛选出具有潜力的股票。以下是最终的策略代码:

import tushare as ts

# 设置token
ts.set_token('your_token_here')

# 初始化pro接口
pro = ts.pro_api()

# 获取所有股票的代码和名称
stock_codes = pro.stock_codes()

# 初始化策略
def strategy():
    # 获取所有股票的收盘价、换手率和今天的开盘价
    data = pro.daily(ts_code=stock_codes, start_date='2021-01-01', end_date='2021-12-31')
    df = pd.DataFrame(data)
    df = df[['close', 'turnover', 'open']]
    df.columns = ['收盘价', '换手率', '开盘价']

    # 计算每只股票的均线
    df['5ma'] = df['close'].rolling(window=5).mean()
    df['10ma'] = df['close'].rolling(window=10).mean()
    df['20ma'] = df['close'].rolling(window=20).mean()
    df['60ma'] = df['close'].rolling(window=60).mean()
    df['120ma'] = df['close'].rolling(window=120).mean()

    # 筛选出收盘价在5日、10日、20日、60日、120日均线之上的股票
    df = df[df['close'] > df['5ma']]
    df = df[df['close'] > df['10ma']]
    df = df[df['close'] > df['20ma']]
    df = df[df['close'] > df['60ma']]
    df = df[df['close'] > df['120ma']]

    # 筛选出换手率大于2%且小于9%的股票
    df = df[df['turnover'] > 2]
    df = df[df['turnover'] < 9]

    # 按照今天的开盘价计算,选出所有收盘价在5日、10日、20日、60日、120日均线之上的股票
    df = df.sort_values(by=['open'], ascending=False)
    df = df.iloc[:5]

    # 返回筛选后的股票代码和名称
    return df['ts_code'].tolist()

# 运行策略
strategy()

如何进行量化策略实盘?

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

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

模板如何使用?

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

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

94c5cde12014f99e262a302741275d05.png

收益&风险
源码

评论