问财量化选股策略逻辑
选股逻辑包括三个条件:元宇宙、昨日股价大于250日均线、流通盘小于等于55亿股。通过筛选出符合条件的股票进行投资。
选股逻辑分析
该选股策略主要考虑以下三个条件进行选股:
- 元宇宙:选择热门板块中的个股。
- 昨日股价大于250日均线:判断个股目前的价格是否较稳定且接近长期均线。
- 流通盘小于等于55亿股:流通盘较小的个股可能提供较高的投资回报。
综合以上三个条件,选择合适的个股进行投资。
有何风险?
- 过于关注热点板块和近期涨势,可能忽视了个股基本面和长期价值。
- 流通盘较小的个股可能存在较大的波动性和流动性问题,长期持有可能造成潜在风险。
- 筛选条件过于简单,可能丢失部分优质个股。
- 选股指标具有一定主观性,依赖个人判断和预测,存在误判和盲区。
如何优化?
- 综合考虑多个因素进行选股,包括股票价格、股息、市盈率、市净率等财务指标,以及行业和公司基本面等因素。
- 研究和了解宏观经济和行业发展趋势,寻找具有长期潜力的公司和行业。
- 选股指标应具有客观性、科学性和可操作性,避免主观干扰和误判。
- 建立严格的风险控制机制,有效控制投资风险。
- 加入资金安全筛选条件,避免投资风险。
最终的选股逻辑
该选股策略选择元宇宙板块中,昨日股价大于250日均线,且流通盘小于等于55亿股的个股进行投资。
同花顺指标公式代码参考
元宇宙:GNBK("gnxq")
昨日股价大于250日均线:C >= MA(250)
流通盘小于等于55亿股:CIRC_MARKET_VAL <= 55000000000
具体代码如下:
// 获取当日股票数据,包括日期、收盘价、成交量、股票代码、流通市值等
let data = GetDataTable(`SELECT code, name, date, close, volume, circ_market_val FROM xtp_hq_snapshot WHERE date='${_date}'`);
// 筛选出符合条件的股票
let group = data.GroupBy(['code'])
.OrderBy(['code'])
.Select('code, close, volume, circ_market_val', ([]) => {
return {
code: $.GetStr($1.code),
close: $.ToFloat($1.close),
volume: $.ToFloat($1.volume),
circ_market_val: $.ToFloat($1.circ_market_val),
};
})
.Where('(close/pre_close-1) > 0 and close >= MA(close, 250) and circ_market_val <= 55000000000')
.ToTable();
let codes_selected = group.GetColumn('code').Distinct().ToArray();
Python代码参考
import pandas as pd
import tushare as ts
def stock_selector():
ts.set_token('your_token')
pro = ts.pro_api()
# 获取所有元宇宙板块中的个股
gnxq = pro.index_basic(
fields='category',
identifying_code='9650',
market='SSE'
)
gnxq_stocks = gnxq.loc[gnxq['category'] == 'GN023']
data_selected = pd.DataFrame()
for code in gnxq_stocks['con_code']:
df = pro.query('daily', ts_code=code, fields='trade_date, close, high, low, open, pct_chg, vol, amount')
if len(df) < 2:
continue
if (df.iloc[-2]['close'] >= df['close'].rolling(250).mean()[249]) and (df.iloc[-1]['circ_mv'] <= 5.5e10):
_basic = pro.query(
'stock_basic',
ts_code=code,
fields=['name', 'industry', 'exchange', 'list_date', 'market_cap']
)
if ('ST' not in _basic['name'].values[0]) and (_basic['exchange'].values[0] != 'SZSE') and \
(_basic['list_date'].values[0] <= '20220219') and (_basic['market_cap'].values[0] < 5000000000):
data_selected = data_selected.append(
df.tail(1).assign(
name=_basic['name'].values[0],
industry=_basic['industry'].values[0],
market_cap=_basic['market_cap'].values[0],
)
)
data_selected = data_selected.sort_values(by=['amount'], ascending=False)
return data_selected[['name', 'industry', 'market_cap']]
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


