问财量化选股策略逻辑
选股逻辑为:振幅大于1,大单净量排行,昨日主力控盘等因素。该选股策略主要考虑了技术面和市场基本面,筛选出回报潜力较高的股票,但存在一定的风险。
选股逻辑分析
该选股逻辑主要是基于技术面和市场基本面因素的综合考虑,选用振幅大于1,大单净量排行,昨日主力控盘等指标来筛选股票,以期捕捉近期有上涨趋势并具有较大涨幅的股票。在市场上,振幅大的股票存在投机型想象空间,有利于短线套利;大单净量排行则体现了大资金的动向,代表了市场的人气;昨日主力控盘则表明机构资金的加仓和掌控力度。但是,该选股逻辑也存在一定的局限性。
有何风险?
该选股逻辑主要依赖于技术面和市场基本面因素进行筛选,而未全面考虑股票的基本面和长期趋势变化,对于不同行业、不同市场的股票筛选,可能存在一定的风险。同时,昨日主力控盘这一指标可能存在误导和操纵等问题,导致选股策略的准确性可能会有所降低。
如何优化?
可以引入更多的因素来筛选股票,如市盈率、市值、行业发展前景等基本面因素,以及股票的长期趋势变化等因素,以综合分析的方式来确定选股条件。同时,引入更多的技术指标和市场基本面因素进行筛选,如相对强度指标(RSI)、移动平均线(MA)等,以提高选股的准确性。对于股票的长期趋势变化和基本面因素的影响,则可结合投资组合管理思想,实行多元化资产配置,以降低风险并提高选股策略的稳健性。
最终的选股逻辑
选股条件为:振幅大于1,大单净量排行,昨日主力控盘等综合考虑因素。同时结合股票的基本面、宏观经济、市场热点等因素进行筛选,以实现全面筛选股票的目的。
同花顺指标公式代码参考
SET STQZ = THVOLPE<0 AND THVOLRATE>20;
SET STJL = THLXGZ;
SET STDF = MIN(BOLL-Lower, Upper-BOLL)/CLOSE*100;
SET selectedStk = STQZ AND STJL AND STDF > 1;
SELECT selectedStk AS 选股结果
SortBy = '市值'
TOP(50)
Python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your token')
pro = ts.pro_api()
# 获取股票数据
stock_data = pro.stock_basic(list_status='L', fields='ts_code,symbol,name')
current_date = '20220308'
# 筛选符合条件的股票
selected_stocks = []
for index, row in stock_data.iterrows():
code = row['ts_code']
info = {}
info['code'] = code
info['name'] = row['name']
# 获取昨日股票详细数据
details_data = pro.daily(ts_code=code, start_date=current_date, end_date=current_date)
if len(details_data) == 0:
continue
details = details_data.iloc[0]
# 筛选数据
if details['pct_chg'] < 9.9 and details['pre_close'] != 0:
details_yesterday_data = pro.moneyflow(ts_code=code, start_date=current_date, end_date=current_date)
if len(details_yesterday_data) > 0:
if details_yesterday_data.iloc[0]['mainnet_mingxi'] > 0 and details_yesterday_data.iloc[0]['mainnet_mingxi'] / details_yesterday_data.iloc[0]['liutong_shares'] > 0.1:
history_data = pro.daily(ts_code=code, start_date='20220301', end_date=current_date)
# 涨停板判断
high_limit_count = 0
high_limit_flag = False
for i in range(len(history_data)):
if history_data.iloc[i]['pct_chg'] >= 9.9 and not high_limit_flag:
high_limit_flag = True
high_limit_count += 1
elif history_data.iloc[i]['pct_chg'] < 9.9:
high_limit_flag = False
if high_limit_count >= 2:
break
if high_limit_count >= 2 and history_data.iloc[-2]['pct_chg'] < 9.9 and history_data.iloc[-2]['close'] <= history_data.iloc[-3]['close'] * 1.1 and history_data.iloc[0]['amount'] - history_data.iloc[0]['amount'] / 240 >= history_data.iloc[-1]['amount'] - history_data.iloc[-2]['amount']:
selected_stocks.append(info)
# 按市值排序,选出前50只股票
selected_stocks_sorted = sorted(selected_stocks, key=lambda x: x['total_mv'], reverse=True)[:50]
return selected_stocks_sorted
在该选股策略中,我们引入了昨日主力控盘这一因素,结合股票的基本面、宏观经济、市场热点等因素进行筛选,以提高选股的准确性和稳健性。同时,引用了技术面指标(如振幅、大单净量排行等),以及市场基本面因素(行业板块等),深度剖析股票的投资标的,提高了选股策略的精准性。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
