问财量化选股策略逻辑
选股逻辑为:振幅大于1,流通市值大于100亿元,非科创。该选股策略同时考虑了市场交易情况和公司规模,以及规避科创板股票的风险。
选股逻辑分析
该选股策略主要考虑了市场交易情况和公司规模,以及规避了科创板股票的风险。振幅和流通市值反映了市场的交投活跃度和公司的规模,同时通过排除科创板股票可以降低风险,并且有助于进行行业分散投资,使投资组合更加稳健。
有何风险?
该选股策略忽略了公司的基本面和财务数据等重要因素,过于依赖股票流动性和交投活跃度等因素,存在一定程度上的盲目跟风和投资风险。同时,振幅和流通市值等因素也可能受到市场热度的影响,可能存在市场风险。
如何优化?
在股票的选择上,要更加全面的考虑股票的基本面、技术面、行业前景等多方面因素,避免单方面依赖某一种因素的判断。同时,要选择适合自己的投资风格,以稳健为主,减少投资风险。可以选择配置多种行业的股票,进行行业分散投资,以降低特定行业风险。
最终的选股逻辑
选股条件为:振幅大于1,流通市值大于100亿元,非科创板。该选股策略同时考虑了市场交易情况和公司规模,以及规避科创板股票的风险。
同花顺指标公式代码参考
C1: ABS((HIGH/LOW-1)*100)>=1; //振幅大于1
C2: CIRC_MV>10000000000; //流通市值大于100亿元
C3: MARKET<1660 AND MARKET>0; //非科创板
SYMBOL: C1 AND C2 AND C3;
python代码参考
import pandas as pd
import tushare as ts
def select_stocks(length):
ts.set_token('your_token')
pro = ts.pro_api()
# 获取所有股票数据
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,name,market')
# 筛选符合条件的股票
df_list = []
for i in range(len(data)):
code = data.iloc[i]['ts_code']
# 判断是否符合要求
if str(data.iloc[i]['market']).startswith(('688', '689')): # 科创板排除
continue
k_data = pro.daily(ts_code=code, start_date='20220101', end_date='20220601')
if k_data.empty:
continue
if abs((k_data.iloc[-1]['high'] / k_data.iloc[-1]['low'] - 1) * 100) < 1: # 振幅小于1
continue
circ_mv = pro.query('daily_basic', ts_code=code, trade_date=k_data.iloc[-1]['trade_date'], fields='circ_mv').iloc[0]['circ_mv'] # 流通市值
if circ_mv < 10000000000: # 流通市值小于100亿元
continue
info = {}
info['ts_code'] = code
info['name'] = data.iloc[i]['name']
df_list.append(info)
# 随机选择一定数量的股票
selected_stocks = pd.DataFrame(df_list)
selected_stocks = selected_stocks.sample(n=length)
return selected_stocks
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
