问财量化选股策略逻辑
在问财中,我们可以通过以下步骤来实现量化选股策略:
-
确定需要筛选的股票。可以通过股票池或者自定义股票池来确定需要筛选的股票。
-
筛选出至少5根均线重合的股票。可以使用以下代码来实现:
import talib
def get_intersection(ma1, ma2, ma3, ma4, ma5):
# 计算5根均线的交点
cross_over = talib.CA(ma1, ma2, cross=True)
cross_under = talib.CA(ma1, ma2, cross=False)
if cross_over and cross_under:
return (ma1, ma2, ma3, ma4, ma5)
else:
return None
# 选取至少5根均线重合的股票
intersection = get_intersection(close, ma5, ma4, ma3, ma2)
if intersection:
selected_stocks = intersection[0]
else:
selected_stocks = []
其中,ma1
、ma2
、ma3
、ma4
、ma5
分别表示5根均线,close
表示收盘价。
- 筛选出下午大单净流入的股票。可以使用以下代码来实现:
import talib
def get_net_flow(ticker, interval):
# 获取股票的分时K线数据
k_data = yf.download(ticker, interval=interval)
# 计算每分钟的净流入量
net_flow = talib.CA(k_data['Close'], k_data['Volume'], offset=1, min_periods=60)
# 统计每分钟的净流入量
net_flow_sum = net_flow.sum()
# 计算下午的净流入量
afternoon_net_flow = net_flow_sum[-60:]
# 判断下午是否存在净流入
if afternoon_net_flow > 0:
return True
else:
return False
# 筛选出下午大单净流入的股票
selected_stocks = []
for ticker in selected_stocks:
if get_net_flow(ticker, '1d'):
selected_stocks.append(ticker)
其中,ticker
表示股票代码,interval
表示数据的时间间隔。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
