(iwencai选股策略)近25个交易日有单日涨幅大于等于百分之10_、企业性质、rsi小

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

问财量化选股策略逻辑

选股逻辑:选择RSI小于65的股票,企业性质优秀,近25个交易日有单日涨幅大于等于百分之10。

选股逻辑分析

该选股逻辑基于技术面和基本面分析,选股指标包括RSI和单日涨幅等技术指标,以及企业性质作为基本面分析的条件。通过分析最近25个交易日的涨幅,筛选出单日涨幅大于等于10%的股票,同时考虑了RSI和企业性质作为选股条件。通过综合分析技术面和基本面,筛选出具有投资潜力的股票。

有何风险?

该选股逻辑仅着眼于中短期股票的涨幅表现和基本面情况,忽略了长期的趋势。同时,当股票市场表现较为平淡时,该选股逻辑的效果可能会受到影响。

如何优化?

可以考虑加入更多的基本面指标和技术面指标,例如市盈率、市净率、布林带等指标来进一步分析股票的投资价值。此外,可以通过更加贴近投资者需求的策略和预测方法来优化选股逻辑,例如加入均值回归模型、因子选股策略等。

最终的选股逻辑

选股逻辑:选择RSI小于65的股票,企业性质优秀,最近25个交易日内有单日涨幅大于等于10%的股票。

同花顺指标公式代码参考

  • RSI小于65:RSI(CLOSE, 14) < 65
  • 企业性质:使用PE、PB、Growing_of_income等指标,需具体分析选用哪些指标
  • 近25个交易日内有单日涨幅大于等于10%:COUNT(CLOSE > REF(CLOSE, 1) * 1.1, 25) > 0

python代码参考

import pandas as pd
import tushare as ts
import numpy as np

# 连接tushare并获取股票基本信息
token = 'token'
pro = ts.pro_api(token)
basic = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')

# 初始化筛选条件
rsi = 65
percent = 0.1

# 获取当前时间和交易日历
import datetime
today = datetime.datetime.today().strftime('%Y%m%d')

# 遍历每支股票
result = []
for code in basic['ts_code']:
    # 获取25日收盘价数据
    hist = pro.daily(ts_code=code, start_date=today, end_date='', fields='close', 
                      adj=None, ma=[5, 10, 20, 50, 100, 250])
    if hist is None or len(hist) < 25: continue
    # 判断RSI条件和企业性质
    h_data = ts.pro_bar(ts_code=code, adj='qfq', start_date='19000101', end_date=today, ma=[5, 10, 20])
    if h_data is None: continue
    if h_data.iloc[-1]['rsi14'] is None or float(h_data.iloc[-1]['rsi14']) >= rsi: continue
    classify = pro.query('stock_basic', ts_code=code, fields='area, industry')
    if classify['area'][0] != '广东' or classify['industry'][0] != '电子元器件': continue
    # 判断单日涨幅条件
    pct = (hist['close'][-1] - hist['close'][0]) / hist['close'][0]
    if (hist['close'] > hist['close'].shift(1) * (1 + percent)).sum() <= 0: continue
    # 获取市值并加入结果列表
    mv = pro.daily_basic(ts_code=code, trade_date=today, fields='ts_code, market_value').iloc[0]['market_value']
    if mv < 200000: result.append([code, basic[basic['ts_code'] == code].iloc[0]['name'], mv])
# 对筛选结果进行排序
result_df = pd.DataFrame(result, columns=['代码', '名称', '市值'])
result_df = result_df.sort_values('市值').reset_index(drop=True)
result_df.to_excel('result.xlsx', index=False)
    ## 如何进行量化策略实盘?
    请把您优化好的选股语句放入文章最下面模板的选股语句中即可。

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

    模板如何使用?

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


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

评论