问财量化选股策略逻辑
该选股策略选股逻辑为:选择换手率在3%-12%之间,上市年份为2021年,昨日主力控盘。
选股逻辑分析
该选股策略侧重于挖掘成交较为活跃、上市时间短、昨日被主力控盘的个股。运用主力控盘提示来进行选股,可以筛选出有被主力青睐,股价有望上涨的个股。
有何风险?
该选股策略存在以下风险:1、主力控盘的定义模糊,需要根据具体情况判断,存在较大的主观性;2、选择依据单一的主力控盘指标进行选股,可能忽略股票的其他重要指标,例如财务数据及行业趋势等;3、市场异常波动时,主力资金流向难以预测,主力控盘形成的时间可能很短,导致选股效果不佳。
如何优化?
可以加入其他指标来进行综合考虑,例如ROE、净利润增长率、市盈率等指标,来避免忽略关键财务和经营数据。同时可以进一步优化主力控盘的判断标准,如主力资金流入多少、主力成交量与总成交量的比例等,来减少主观性。
最终的选股逻辑
选择换手率在3%-12%之间,上市年份为2021年,昨日受到主力资金控盘的股票。
同花顺指标公式代码参考
需要自行编写。
python代码参考
import pandas as pd
from pytdx.hq import TdxHq_API
from pytdx.util.best_ip import select_best_ip
api = TdxHq_API()
ip = select_best_ip('tdx')
def get_stock_list(api):
dataList = []
for market in [0,1]:
stock_list = api.get_security_list(market, 0)
results = [(stock['code'], pd.Timestamp(stock['ipo_date']).year) for stock in stock_list if stock['code'][0] in ['0', '3', '6']]
dataList += results
return pd.DataFrame(dataList, columns=['stock_code','ipo_year'])
def check_main_force(api, stock_code):
today = pd.Timestamp.now().strftime('%Y-%m-%d')
df = api.to_df(api.get_security_bars(4 if stock_code[0] == '0' else 3, 0 if stock_code[0] == '0' else 1, stock_code, 9, 1000)) # 获取资金流向数据
df['date'] = pd.to_datetime(df['datetime']).dt.date
df = df.sort_values('date', ascending=False)
force_days = df['mainforce_money'] > 0
if today in force_days[force_days].index:
return True
else:
return False
stock_list = get_stock_list(api)
# 获取符合条件的股票列表
condition1 = stock_list['ipo_year'] == 2021
condition2 = (stock_list['ipo_price'] >= 1) & (stock_list['ipo_amount'] > 1000000)
matched_stocks = []
for stock_code in stock_list[condition1 & condition2]['stock_code']:
if check_main_force(api, stock_code):
matched_stocks.append(stock_code)
# 输出结果
print('下列股票符合选股策略:')
print(matched_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


