问财量化选股策略逻辑
该选股策略选股逻辑为:选择换手率在3%-12%之间,上市年份为2021年,今日均线向上发散。
选股逻辑分析
该选股策略着眼于成交量、上市时间及股票走势,选择换手率适中的新股,且今日均线向上发散,预计将出现持续的上涨趋势。
有何风险?
该选股策略存在以下风险:1、均线的选择和时间段的差异会影响选股成效;2、单一指标选股,用以选择适合技术面选股,而不考虑公司的财务面情况;3、市场突发事件的影响将导致跌幅,单一指标可能无法捕捉到这些情况。
如何优化?
适当加入其他技术指标进行综合比较,如KDJ、MACD等指标,同时考虑公司的财务及业绩情况,降低风险。可以缩短均线时间范围,或根据不同的市场阶段应用不同的技术指标。
最终的选股逻辑
选择换手率在3%-12%之间,上市年份为2021年,今日均线向上发散的股票。
同花顺指标公式代码参考
需要自行编写。
python代码参考
import pandas as pd
from pytdx.hq import TdxHq_API
from pytdx.util.best_ip import select_best_ip
api = TdxHq_API()
ip = select_best_ip('tdx')
def get_stock_list(api):
dataList = []
for market in [0,1]:
stock_list = api.get_security_list(market, 0)
results = [(stock['code'], pd.Timestamp(stock['ipo_date']).year) for stock in stock_list if stock['code'][0] in ['0', '3', '6']]
dataList += results
return pd.DataFrame(dataList, columns=['stock_code','ipo_year'])
def check_today_trend(api, stock_code):
today = pd.Timestamp.now().strftime('%Y-%m-%d')
df = api.to_df(api.get_security_bars(4 if stock_code[0] == '0' else 3, 0 if stock_code[0] == '0' else 1, stock_code, 9, 1000)) # 获取日线数据
df['date'] = pd.to_datetime(df['datetime']).dt.date
df['ma5'] = df['close'].rolling(5).mean() #计算5日均线
df['ma10'] = df['close'].rolling(10).mean() #计算10日均线
today_data = df[df['date'] == today]
if today_data['ma5'].values[0] > today_data['ma10'].values[0]:
return True
else:
return False
stock_list = get_stock_list(api)
# 获取符合条件的股票列表
condition1 = stock_list['ipo_year'] == 2021
condition2 = (stock_list['ipo_price'] >= 1) & (stock_list['ipo_amount'] > 1000000)
matched_stocks = []
for stock_code in stock_list[condition1 & condition2]['stock_code']:
if check_today_trend(api, stock_code):
matched_stocks.append(stock_code)
# 输出结果
print('下列股票符合选股策略:')
print(matched_stocks)
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
