问财量化选股策略逻辑
选股逻辑为:在换手率3%-12%,剔除北京A股和新股,选取上市大于2年的股票进行选股。
选股逻辑分析
该选股逻辑从换手率和上市时间两个方面出发,同时也考虑到了新股的影响。但是该选股逻辑仅从比较简单的角度出发,即没有考虑其他重要的指标如盈利、市值、成长等。
有何风险?
该选股逻辑的风险包括:1. 只从量和时间角度出发容易忽视股票的内在价值和未来增长;2. 过于注重历史表现和过去数据,可能无法捕捉未来发展趋势。
如何优化?
-
考虑更多的股票基本面数据。
可综合利用EPS、净资产收益率、ROE等基本面指标,结合历史业绩表现和价值投资理念,进行选股。 -
考虑更长的上市时间。
可以结合A股市场历史情况,将上市时间适当延长,例如3年、5年等时间段。
最终的选股逻辑
在换手率3%-12%,剔除北京A股和新股的基础上,选取上市大于3年,EPS大于0且市值大于100亿的股票进行选股。
同花顺指标公式代码参考
无需通达信指标。
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,market_cap,list_date')
stock_list = stock_list[(stock_list['name'].str.contains('ST') == False) & (stock_list['market_cap'] > 100000000)]
good_stocks = []
for ts_code in stock_list['ts_code']:
trade_date = pro.daily(ts_code=ts_code, start_date='20210201', end_date='20210215')['trade_date']
if len(trade_date) < 1:
continue
list_date = pro.listed_date(ts_code=ts_code).iloc[0]['start_date']
if pd.to_datetime(list_date) > pd.to_datetime('20180101') and len(trade_date) > 200:
eps = pro.fina_indicator(ts_code=ts_code, start_date='20201231', end_date='20201231')['eps'][0]
if eps > 0:
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亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


