问财量化选股策略逻辑
选股逻辑为:在换手率在3%-12%,剔除北京A股,价格<12进行选股。
选股逻辑分析
在选股策略中,选择换手率在3%-12%可以筛出交投活跃且波动不太大的股票,剔除北京A股可以避免地缘风险,而价格<12可以筛选出相对较低的股价。
有何风险?
该选股逻辑的风险包括:
-
该选股逻辑主要依靠股价的低价进行选股,忽略了其他重要的因素,如基本面指标、技术面指标等,选到的股票可能会存在质量问题。
-
低价股存在较大的波动性和风险,价格低廉不一定代表有盈利能力,过高的市值可能会对机构投资者不太友好。
如何优化?
-
结合多个指标
应该综合考虑选股的多个指标,如滚动市盈率、市净率、相对强度、RSI等技术面指标和股票基本面指标等因素,避免仅依赖低价进行选股。 -
定义价格区间
如果选股只依赖股价,那也需要根据不同行业的股票设定不同价格阈值,这有助于减少股票战线风险和固定一个合适的买入价格。
最终的选股逻辑
在换手率在3%-12%之间,剔除北京A股,价格在一定的阈值区间进行筛选,综合考虑不同行业的相关指标,如基本面和技术面指标等辅助进行选股。
同花顺指标公式代码参考
通达信指标:
无
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']:
price = pro.daily(ts_code=ts_code,start_date='20210810',end_date='20210810', fields='ts_code,trade_date,close')['close'][0]
if price < 12:
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:
df=pro.daily(ts_code=ts_code,start_date='20210810',end_date='20210810', fields='ts_code,trade_date,close,vol,amount')
if not df.empty:
df=df.sort_values('vol',ascending=False)
if df['trade_date'][0]=='20210810':
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.sort_values('volume',ascending=False)
good_stocks = get_good_stocks()
print(good_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


