问财量化选股策略逻辑
今日增仓占比>5%,收盘价大于昨日的最低价,连续5年ROE>15%
选股逻辑分析
该策略的逻辑是基于以下三个因素:
-
今日增仓占比:即当日股票的成交量与过去5日平均成交量的比例。如果增仓占比超过5%,说明市场对该股票的买入意愿较强,可能预示着未来上涨的概率较高。
-
收盘价大于昨日的最低价:即当日收盘价高于昨日最低价。这表明股票在当日出现了一定的反弹,说明市场对该股票的看涨情绪较高。
-
连续5年ROE>15%:即过去5年该股票的年化收益率超过15%。这表明该股票的盈利能力较强,具有较好的投资价值。
综合以上三个因素,该策略的逻辑是寻找那些近期出现反弹、市场关注度较高、盈利能力较强的股票。
有何风险?
该策略的局限性在于:
-
仅考虑了过去5年的盈利能力,忽略了未来盈利能力的变化。如果未来盈利能力下降,该策略可能会选择错误的股票。
-
仅考虑了股票的短期表现,忽略了长期表现。如果股票在短期表现良好,但在长期表现不佳,该策略可能会选择错误的股票。
-
该策略可能无法捕捉到市场中的热点股票。如果市场中的热点股票不符合该策略的条件,该策略可能会错过机会。
如何优化?
为了优化该策略,可以考虑以下几点:
-
将时间窗口扩大到更长的时间段,以更好地反映股票的长期表现。
-
添加更多的因素,如市盈率、市净率等,以更好地判断股票的价值。
-
使用量化交易软件,以提高交易的效率和准确性。
最终的选股逻辑
最终的选股逻辑如下:
-
今日增仓占比>5%
-
收盘价大于昨日的最低价
-
连续5年ROE>15%
-
市盈率低于30倍,市净率高于1.5倍
-
成交量大于100万股
python代码参考
以下是使用pandas和numpy库实现该策略的python代码:
import pandas as pd
import numpy as np
def select_stock():
# 读取股票数据
df = pd.read_csv('stock_data.csv')
# 计算今日增仓占比
df['今日增仓占比'] = df['今日成交量'] / df['过去5日平均成交量']
# 计算收盘价与昨日最低价的差值
df['收盘价差值'] = df['收盘价'] - df['昨日最低价']
# 计算连续5年ROE
df['连续5年ROE'] = df['年化收益率'] / 100 * 5
# 过滤不符合条件的股票
df = df[(df['今日增仓占比'] > 0.05) & (df['收盘价差值'] > 0) & (df['连续5年ROE'] > 0.15)]
# 计算市盈率和市净率
df['市盈率'] = df['收盘价'] / df['eps']
df['市净率'] = df['市值'] / df['净资产']
# 过滤不符合条件的股票
df = df[(df['市盈率'] < 30) & (df['市净率'] > 1.5)]
# 过滤成交量太小的股票
df = df[df['成交量'] > 1000000]
# 返回符合条件的股票列表
return df['股票代码'].tolist()
该代码会读取名为stock_data.csv的股票数据文件,并根据以上策略筛选出符合条件的股票。最后返回符合条件的股票代码列表。
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。