问财量化选股策略逻辑
在问财中,我们可以使用量化策略来筛选符合我们要求的股票。具体来说,我们可以使用以下两个策略来筛选股票:
- 选取至少5根均线重合的股票
首先,我们需要找到至少5根均线重合的股票。这可以通过计算两条不同时间周期的均线之间的交叉点来实现。具体来说,我们可以计算以下两个指标:
- 均线1:选取股票的日线均线(如5日、10日、20日、60日等)
- 均线2:选取股票的周线均线(如20周、60周等)
然后,我们可以计算两条均线之间的交叉点。如果在某一天,两条均线之间出现了5个或以上的交叉点,则我们认为该股票至少有5根均线重合。
- 大单净量排行,按个股热度从大到小排序
接下来,我们需要找到大单净量排名靠前的股票。大单净量是指股票在某个时间段内的买入量减去卖出量的差值。如果该差值为正,则表示资金流入,如果为负,则表示资金流出。我们可以计算以下两个指标:
- 大单净量:选取股票的日线大单净量数据
- 排名:按照大单净量的大小进行排名
然后,我们可以按照个股热度从大到小排序。如果一只股票的大单净量排名靠前,并且至少有5根均线重合,则我们认为该股票符合我们的要求。
选股逻辑分析
这两个策略的逻辑相对简单,可以快速筛选出符合我们要求的股票。然而,需要注意的是,这些策略可能无法完全反映股票的真实价值,因此在使用时需要谨慎。
有何风险?
这两个策略的使用可能会带来以下风险:
-
信号误差:由于均线的计算是基于历史数据,因此可能会出现信号误差。如果股票的价格在短期内出现较大波动,可能会导致均线的交叉点出现偏差,从而影响我们的判断。
-
炒作风险:如果股票的大单净量排名靠前,可能会吸引更多的投资者买入,从而导致股票的价格上涨。如果投资者过于依赖这些信号进行决策,可能会面临较高的风险。
如何优化?
为了优化这两个策略,我们可以考虑以下几点:
-
选择合适的均线周期:我们可以根据不同的市场环境和投资风格,选择不同的均线周期来计算均线的交叉点。例如,如果市场处于熊市,我们可以选择更短的均线周期,以更好地反映股票的短期趋势。
-
考虑其他因素:除了大单净量和均线交叉点之外,我们还可以考虑其他因素来筛选股票。例如,我们可以考虑股票的市盈率、市净率等指标,以更好地判断股票的价值。
最终的选股逻辑
最终的选股逻辑如下:
-
选取至少5根均线重合的股票。计算两条不同时间周期的均线之间的交叉点,如果在某一天,两条均线之间出现了5个或以上的交叉点,则认为该股票至少有5根均线重合。
-
大单净量排行,按个股热度从大到小排序。选取股票的日线大单净量数据,按照大单净量的大小进行排名。
-
考虑其他因素。除了大单净量和均线交叉点之外,我们还可以考虑股票的市盈率、市净率等指标,以更好地判断股票的价值。
python代码参考
以下是使用pandas和numpy库来实现上述策略的python代码参考:
import pandas as pd
import numpy as np
# 选取至少5根均线重合的股票
def select_stock_with_at_least_5_crossings(data):
# 计算两条不同时间周期的均线之间的交叉点
diff = data['close'].diff()
cross_points = np.where(diff > 0, diff, np.where(diff < 0, -diff, 0))
cross_points = cross_points[abs(cross_points) > 0.05] # 取绝对值大于0.05的交叉点
cross_points = cross_points[:-1] # 去掉最后一个交叉点,因为它不是真正的交叉点
cross_points = cross_points[::-1] # 反转交叉点数组,因为计算的是从高到底的交叉点
cross_points = cross_points[:-1] # 去掉最后一个交叉点,因为它不是真正的交叉点
# 统计交叉点的数量
num_crossings = len(cross_points)
# 如果至少有5个交叉点,则认为该股票至少有5根均线重合
if num_crossings >= 5:
return True
else:
return False
# 大单净量排行
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
