问财量化选股策略逻辑
- 今日增仓占比>5%, 表示这只股票最近有主力资金流入,且流入比例较高,说明这只股票有较强的上涨动力。
- 昨日成交额大于6千万, 表示这只股票昨日的成交量较大,说明这只股票的流动性较好,容易吸引投资者的关注。
- 9点25分涨幅小于6%, 表示这只股票在开盘后价格没有出现大幅上涨,说明这只股票的上涨空间有限,可以避免追高风险。
选股逻辑分析
- 该策略通过结合三个指标来筛选股票,可以筛选出有主力资金流入、流动性好且上涨空间有限的股票,这些股票有可能成为短期投资的热点。
- 但是需要注意的是,该策略只能筛选出部分股票,不能保证完全准确,因此还需要结合其他因素进行综合分析。
有何风险?
- 该策略筛选出的股票可能存在一定的风险,例如,如果主力资金流入量过大,可能会导致股票价格短期内出现大幅上涨,从而带来投资风险。
- 此外,该策略只能筛选出部分股票,不能保证完全准确,因此还需要结合其他因素进行综合分析。
如何优化?
- 可以考虑加入更多指标来筛选股票,例如,加入股票的市盈率、市净率等指标,以更全面地分析股票的投资价值。
- 可以考虑加入技术分析指标,例如,加入股票的均线、macd等指标,以更准确地预测股票的走势。
最终的选股逻辑
- 今日增仓占比>5%, 昨日成交额大于6千万, 9点25分涨幅小于6%。
- 市盈率小于20, 市净率小于2, 均线多头排列, macd金叉。
python代码参考
- 代码如下所示:
import talib
import pandas as pd
def get_stock_data(stock_code):
# 获取股票的历史数据
df = pd.read_csv(f'https://query1.finance.sina.com.cn/gundata/api/data/?symbol={stock_code}&type=1d&per=1y')
df = df[['close']]
df = df[(df.index >= pd.to_datetime('2021-01-01')) & (df.index <= pd.to_datetime('2021-12-31'))]
return df
def get_stock筛选_data(df):
# 计算今日增仓占比
df['今日增仓占比'] = df['net_amount'] / df['total_amount'] * 100
# 计算昨日成交额
df['昨日成交额'] = df['turnover'] * df['vol']
# 计算9点25分涨幅
df['9点25分涨幅'] = df['close'] / df['close'].shift(1) - 1
# 过滤条件
df = df[(df['今日增仓占比'] > 5) & (df['昨日成交额'] > 60000000) & (df['9点25分涨幅'] < 6)]
return df
def get_stock_analysis_data(df):
# 计算市盈率
df['市盈率'] = df['close'] / df['eps']
# 计算市净率
df['市净率'] = df['close'] / df['pb']
# 计算均线
df['均线'] = talib.MA(df['close'], timeperiod=5)
# 计算macd
df['macd'] = talib.MACD(df['close'], fastperiod=12, slowperiod=26, signalperiod=9)
return df
def get_stock_optimized_data(df):
# 过滤条件
df = df[(df['市盈率'] < 20) & (df['市净率'] < 2) & (df['均线'].is_monotonic() == True) & (df['macd'].d > df['macd'].o)]
return df
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


