问财量化选股策略逻辑
- 今日增仓占比>5%, 表示这只股票在今天有较大的资金流入,说明有资金看好这只股票,有可能出现上涨。
- 今日最大跌幅<-4且>-5, 表示这只股票今天跌幅在-4%到-5%之间,说明这只股票今天出现了一定程度的下跌,但跌幅不是很大,有可能出现反弹。
- 近25个交易日有单日涨幅大于等于百分之10, 表示这只股票在近25个交易日中有过至少10%的单日涨幅,说明这只股票有较强的上涨动力。
选股逻辑分析
- 该策略主要关注股票的成交量和价格波动,寻找有资金流入且跌幅适中的股票,同时要求近25日有明显的上涨趋势。
- 该策略的优点是能够筛选出有资金流入且有上涨潜力的股票,但缺点是可能无法准确预测股票的未来表现。
有何风险?
- 该策略可能无法准确预测股票的未来表现,因为股票市场存在较大的不确定性。
- 该策略可能会筛选出一些短期内表现较好的股票,但长期表现可能并不好。
如何优化?
- 可以考虑加入更多的筛选条件,例如市盈率、市净率等,以更准确地筛选出有投资价值的股票。
- 可以考虑加入技术分析指标,例如移动平均线、布林线等,以更准确地判断股票的走势。
最终的选股逻辑
- 今日增仓占比>5%, 且今日最大跌幅<-4且>-5, 且近25个交易日有单日涨幅大于等于百分之10。
- 可以加入市盈率、市净率等条件,以更准确地筛选出有投资价值的股票。
- 可以加入技术分析指标,例如移动平均线、布林线等,以更准确地判断股票的走势。
python代码参考
- 以下是一个简单的Python代码示例,用于实现上述策略:
import talib
import pandas as pd
def get_stock_data(stock_code):
# 获取股票的历史数据
df = pd.read_csv(f'https://query1.finance.yahoo.com/v7/finance/download/{stock_code}', index_col='Date')
df = df[['Adj Close']]
df = df.resample('D').last()
df = df.fillna(method='ffill')
return df
def get筛选条件():
# 获取今日增仓占比
df = get_stock_data('600036')
df['今日增仓占比'] = df['Volume'] / df['Close'].shift(1)
df = df[df['今日增仓占比'] > 0.05]
# 获取今日最大跌幅
df = get_stock_data('600036')
df['今日最大跌幅'] = df['Close'].diff() * -1
df = df[df['今日最大跌幅'] < -4]
df = df[df['今日最大跌幅'] > -5]
# 获取近25个交易日有单日涨幅大于等于百分之10
df = get_stock_data('600036')
df = df[df['Close'].diff() > 0]
df = df[df['Close'].diff() > 0.1]
df = df[df['Close'].diff() > 0.01]
df = df[df['Close'].diff() > 0.001]
return df
def get筛选结果(df):
# 获取筛选后的股票列表
stocks = df['Stock Code'].unique()
return stocks
def main():
# 获取筛选条件
df = get筛选条件()
stocks = get筛选结果(df)
# 输出筛选后的股票列表
print(stocks)
if __name__ == '__main__':
main()
如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
如果有任何问题请添加 下方的二维码进群提问。


