问财量化选股策略逻辑
本选股策略选择振幅大于1、非ST(上午10点之前选股票)、五部涨停战法、连续3天以上大单净量大于0.05的股票进行选购。
选股逻辑分析
本选股策略在前面的基础上增加了一个条件,即选择连续3天以上大单净量大于0.05的股票进行选购。大单净量指大单买入量减去大单卖出量后剩余的净额,通常代表着主力资金的交易情况。该选股方法旨在通过跟踪主力资金变化,判断股票价格的趋势和走向,最终进行选股。
有何风险?
本选股策略存在以下风险:1)大单净量的连续性判断可能存在信息滞后的现象,导致操作时机延误;2)大单交易量可能发生在一段时间内,而不是一个完整的交易日,无法反应股票交易的整体情况;3)大单净量筛选可能存在噪音及假阳性(主力资金变化并不代表着首次入场)问题。
如何优化?
对选股策略可通过如下方式进行优化:1)引入多个技术面和基本面指标交叉验证,提高选股质量;2)设置可调整的大单净量阈值,以适应不同的市场情况;3)增加更多市场情报分析,提升选股策略的适用性和普适性。
最终的选股逻辑
本选股策略的最终逻辑为:振幅大于1、非ST、五部涨停战法、连续3天以上大单净量大于0.05的股票进行选购。
同花顺指标公式代码参考
本选股策略不涉及技术指标因素,不需要给出。
python代码参考
import pandas as pd
import tushare as ts
# 读取股票数据
df = pd.read_csv('stock_data.csv')
# 筛选条件1:振幅大于1
df['AMPLITUTE'] = df.apply(lambda row: max(row['HIGH'] - row['LOW'], abs(row['HIGH'] - row['PREV_CLOSE']), abs(row['LOW'] - row['PREV_CLOSE'])), axis=1)
df = df[df['AMPLITUTE'] > 1]
# 筛选条件2:非ST
df = df[df['NAME'].str.upper().str.find('ST') == -1]
# 筛选条件3:五部涨停战法
df['CLOSE_MAX'] = df['CLOSE'].rolling(5).max()
df = df[df['CLOSE'] == df['CLOSE_MAX']]
# 筛选条件4:连续3天以上大单净量大于0.05
df['BIG_NET_AMOUNT'] = (df['BUY_L'] - df['SELL_L']) / df['VOLUME']
df['COUNT'] = df['BIG_NET_AMOUNT'].rolling(3).apply(lambda x: (x > 0.05).sum())
df = df[df['COUNT'] == 3]
# 输出选股数据
print(df)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
