问财量化选股策略逻辑
今日增仓占比>5%
首先,我们需要筛选出今日增仓比例超过5%的股票。具体实现方式可以使用以下代码:
import talib
def get_top_positive_percentile(prices, n):
# 计算今日收盘价与昨日收盘价的差值
diff = prices[-1] - prices[-n]
# 计算今日收盘价与昨日收盘价的比值
ratio = prices[-1] / prices[-n]
# 计算今日增仓比例
percent = (diff / prices[-1]) * 100
# 计算今日增仓比例的排名
rank = percent_rank(percent)
# 返回排名在前n%的股票
return prices[-n-rank:]
# 以60日为周期,筛选出今日增仓比例超过5%的股票
top_positive_percentiles = get_top_positive_percentile(prices, 60)
上市大于
接下来,我们需要筛选出上市时间大于等于6个月的股票。具体实现方式可以使用以下代码:
def get_stock_list(ticker_list):
# 获取所有股票的上市时间
上市时间 = []
for ticker in ticker_list:
url = f'https://finance.yahoo.com/quote/{ticker}/history'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
try:
上市时间.append(soup.find('div', {'class': 'Summary-Term'}).text)
except:
pass
# 将上市时间转换为时间戳
上市时间 = pd.to_datetime(上市时间, unit='ms')
# 选择上市时间大于等于6个月的股票
return ticker_list[上市时间 >= pd.to_datetime('2021-01-01', unit='ms')]
# 以60日为周期,筛选出上市时间大于等于6个月的股票
ticker_list = get_stock_list(ticker_list)
竞价涨幅>-2<5
最后,我们需要筛选出竞价涨幅在-2到5之间的股票。具体实现方式可以使用以下代码:
def get_stock_list(ticker_list):
# 获取所有股票的竞价涨幅
bid_ask_diff = []
for ticker in ticker_list:
url =
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


