问财量化选股策略逻辑
选股策略为:在元宇宙行业中选取开盘价在十日均线左右且流通盘小于等于55亿股的股票。
选股逻辑分析
本选股策略同样以行业和技术指标作为筛选条件,加入了流通盘的判断条件,以筛选流通盘较小的股票。此外,相对于前一个选股逻辑,本逻辑条件更加明确和准确。
有何风险?
本选股策略中存在以下风险:
- 过度依赖流通盘数据判断股票的表现,可能忽略其他重要因素;
- 流通盘小的股票可能具有较大的市场风险;
- 此选股逻辑仍较为单一,可能会选出表现较差的股票。
如何优化?
为了提高本选股策略的可靠性和全面性,可以加入其他市场、经济和基本面因素,如加入企业基本面数据、市场分析数据和行业风险等数据,以帮助更好地评估股票的发展价值。此外,在流通盘判断时,不能只考虑绝对值大小,还需考虑相对股价的流通盘比例,以更好地评估流通盘对股票的影响。
最终的选股逻辑
在元宇宙行业中,选取开盘价在十日均线左右且流通盘小于等于55亿股的股票。
同花顺指标公式代码参考
选出符合元宇宙行业的股票:INDUSTRY == '元宇宙';
选取开盘价在十日均线左右的股票:
CROSS(OPEN, MA(CLOSE, 10)) AND CROSS(MA(CLOSE, 10), REF(CLOSE, 1));
选取流通盘小于等于55亿股的股票:
CIRCULATING_CAP <= 5500000000;
合并选股条件:
(INDUSTRY == '元宇宙') AND \
(CROSS(OPEN, MA(CLOSE, 10)) AND CROSS(MA(CLOSE, 10), REF(CLOSE, 1))) AND \
(CIRCULATING_CAP <= 5500000000));
python代码参考
import tushare as ts
import pandas as pd
def get_eligible_stocks():
eligible_stocks = []
stock_data = ts.get_stock_basics()
for stock_code, row in stock_data.iterrows():
if '元宇宙' not in row['industry']:
continue
if row['circulating_cap'] > 5500000000:
continue
if (ts.get_today() - row['timeToMarket']).days < 365 * 2:
continue
prices = ts.get_k_data(stock_code, index=True)[['date', 'open', 'close', 'high', 'low', 'volume', 'amount']]
if len(prices) < 20:
continue
ma10 = prices['close'].rolling(10).mean()
if not ((prices['open'] - ma10).abs() / prices['open'] < 0.05).iloc[-1]:
continue
eligible_stocks.append(stock_code)
return eligible_stocks
print(get_eligible_stocks())
本代码同样使用tushare库来获取股票数据,根据选股逻辑筛选符合条件的股票。相对于前一个选股逻辑,本逻辑加入了流通盘的判断条件,并且对选股条件的比较也更加全面和详细,可以更全面地筛选出符合条件的股票。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。


