问财量化选股策略逻辑
选股逻辑为:在换手率在3%~12%之间、买一量大于卖一量的股票中,剔除昨日有过涨停的股票,则选取该股票。
选股逻辑分析
该选股策略注重了股票的流动性、市场情绪以及交易行为因素,选股时综合考虑了换手率、买一量等指标,旨在选取流动性好、市场情绪乐观且由于昨日涨停而第二天无法自由买卖的股票。
有何风险?
该选股策略的剔除昨日涨停股票可能使得短期内的交易量和流动性有所下降,同时,不能完全反映股票整体表现,只是表明了交易行为的影响力。
如何优化?
可以在剔除昨日涨停股票的前提下,加入一些基本面因素,如市盈率、市净率等,来筛选出高性价比和基本面良好的公司。此外,可以加入技术指标等信息的计算,如MACD、RSI等指标,寻找更加准确的交易信号。
最终的选股逻辑
在换手率3%-12%之间、买一量>卖一量的股票中,剔除昨日有过涨停的股票。
同花顺指标公式代码参考
通达信公式:MAVOL(1),MA(3),MA(5),REF(C, 1),HHV(C, 22),SMCROSS(C, MA(C, 6)),REF(MA(OPEN, 5), 1)
python代码参考
import baostock as bs
import pandas as pd
import datetime
#### 登陆系统 ####
lg = bs.login()
#### 获取满足条件的股票 ####
rs = bs.query_stock_basic()
stock_list = []
while (rs.error_code == '0') & rs.next():
stock_code = rs.get_row_data()[0]
# 查询K线数据
rs_l = bs.query_history_k_data_plus(stock_code, 'date,close,turn,tradestatus', start_date='2022-06-01', end_date='2022-06-30', frequency='d', adjustflag='3')
if rs_l.error_code == '0':
# 判断条件1
if float(rs_l.get_row_data()[2]) >= 3 and float(rs_l.get_row_data()[2]) <= 12 and float(rs_l.get_row_data()[3]) > float(rs_l.get_row_data()[4]):
# 判断条件2
rs_y = bs.query_history_k_data_plus(stock_code, 'date,limit_up', start_date=(datetime.datetime.now() - datetime.timedelta(days=1)).strftime("%Y-%m-%d"), end_date=datetime.datetime.now().strftime("%Y-%m-%d"), frequency='d', adjustflag='3')
if rs_y.error_code == '0' and "0.1" not in rs_y.get_row_data()[1:]:
stock_list.append(stock_code)
# 转换成DataFrame格式并输出结果
df = pd.DataFrame(stock_list, columns=['stock_code'])
print(df)
#### 登出系统 ####
bs.logout()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
