问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%,剔除北京A股,选取500日内至少2次涨停的股票进行选股。
选股逻辑分析
该选股逻辑强调技术面选股,即通过挑选500日内至少2次涨停的股票来进行选股。涨停是市场情绪的一种体现,能反映市场对该股票的看好程度,可以做为技术面选股的辅助指标,可以使用该指标结合其他选股指标,降低选股误差。
有何风险?
该选股逻辑的风险包括:
- 因涨停板块轮动较快,选股结果可能短期内波动较大。
- 市场情绪的波动和变化,可能会对涨停板块的选股结果产生较大的影响。使用过去表现来判断未来表现,具有一定的局限性。
如何优化?
-
建立涨停板块指数
可以建立涨停板块指数,包括涨停股票的市场表现和行情走势,从整体层面对涨停股票的选股结果作出评价,避免过度依赖少数个股的表现。 -
综合考虑多个指标进行选股。
在对涨停股票的数量、频率等进行筛选的基础上,可以综合考虑多个指标如成交量、RSI指标等来进一步衡量选股的准确性和稳定性。
最终的选股逻辑
在换手率3%-12%,剔除北京A股的基础上,选取500日内至少2次涨停的股票进行选股。
同花顺指标公式代码参考
不需要通达信指标。
Python代码参考
import pandas as pd
import tushare as ts
def get_good_stocks():
ts.set_token('your_token')
pro = ts.pro_api()
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,industry')
stock_list = stock_list[(stock_list['name'].str.contains('ST') == False)]
good_stocks = []
for ts_code in stock_list['ts_code']:
daily_data = pro.daily(ts_code=ts_code, start_date='20190101', end_date='20210701')
if len(daily_data) >= 500:
daily_data = daily_data[-500:]
limit_count = 0
for i in range(len(daily_data)-1):
if daily_data.iloc[i]['close'] >= daily_data.iloc[i]['pre_close'] * 1.1:
limit_count += 1
if limit_count >= 2:
turnover_rate = pro.daily_basic(ts_code=ts_code, start_date='20210701', end_date='20210701')['turnover_rate'][0]
if turnover_rate >=3 and turnover_rate <=12:
good_stocks.append([ts_code, stock_list[stock_list.ts_code == ts_code].iloc[0].name, stock_list[stock_list.ts_code == ts_code].iloc[0].industry])
good_stocks = pd.DataFrame(good_stocks, columns=['ts_code', 'name', 'industry'])
return good_stocks
good_stocks = get_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


