问财量化选股策略逻辑
选股逻辑为振幅大于1、集中度70<20%、KDJ(K)增长值。将选股逻辑作为第一个段落放入标题为 ## 问财量化选股策略逻辑 的段落中。
选股逻辑分析
该选股策略主要考虑了价格波动、市场结构和技术指标等因素。通过振幅和集中度筛选出波动较大、市场竞争较充分的个股,再加上KDJ(K)增长值的过滤,选取长期成长性好的个股。
有何风险?
该选股策略主要风险如下:
- 过分依赖技术指标进行选股,难以评估股票未来的基本面表现;
- KDJ指标信号容易受到单一环节价格波动的干扰;
- 振幅指标具有一定主观性,选股存在误判的可能。
如何优化?
为缓解以上风险,可以考虑以下优化措施:
- 引入更多指标进行选股,如市盈率、市净率、股息率等综合考虑股票潜在价值;
- 结合基本面和技术面分析进行选股,进一步降低风险;
- 优化KDJ指标信号和振幅指标,尝试引入其他技术指标进行筛选交叉验证。
最终的选股逻辑
经过优化后,我们得出以下完善版的选股逻辑:
- 振幅选择在1%至10%之间;
- 市场集中度在50%到100%之间;
- KDJ(K)指标连续3个交易日增长,且增长幅度大于0.05;
- 引入基本面指标,如市盈率、市净率等;
- 结合技术分析和基本面分析进行选股;
- 坚持价值投资理念,重视股票内在价值。
注:以上选股逻辑仅供参考,具体根据实际需求和风险承受能力进行调整。
同花顺指标公式代码参考
以下是同花顺的相关代码:
/* 将具体选股条件填充至筛选公式中 */
SELECT
/* 振幅选择1%-10%之间 */
(high/low-1) >= 0.01 AND (high/low-1) <= 0.1 AND
/* 市场集中度在50%到100%之间 */
(circ_mv/total_mv >= 0.5 AND circ_mv/total_mv <= 1) AND
/* KDJ(K)指标连续3个交易日增长,且增长幅度大于0.05 */
(REF(KDJ(9, 3, 3).K, 1) < KDJ(9, 3, 3).K AND REF(KDJ(9, 3, 3).K, 2) < REF(KDJ(9, 3, 3).K, 1) AND KDJ(9, 3, 3).K - REF(KDJ(9, 3, 3).K, 2) > 0.05) AND
/* 引入基本面指标进行综合考虑 */
(some_fundamental_factors)
ORDER BY TRADEADDTOVOL(20) DESC, amount DESC
Python代码参考
以下是选股策略示例代码:
import tushare as ts
import datetime
def is_selected(code):
'''
判断股票是否符合选股策略
'''
# 获取股票基本信息
stock_info = ts.get_stock_basics().loc[code]
# 获取股票历史价格信息
hist_price = ts.get_hist_data(code)
# 判断股票是否符合条件
if (stock_info['high'] - stock_info['low']) / stock_info['close'] >= 0.01 and 0.5 <= (stock_info['circulating_share']*stock_info['price']) / stock_info['totals'] <= 1 and some_fundamental_factors:
# 结合技术分析和基本面分析进行选股
some_technical_factors = True if (some_conditions) else False
if some_technical_factors:
# KDJ(K)指标连续3个交易日增长,且增长幅度大于0.05
kdj_k = talib.KDJ(hist_price['high'].values, hist_price['low'].values, hist_price['close'].values, 9, 3, 3)[0]
if kdj_k[-1] > kdj_k[-2] > kdj_k[-3] and kdj_k[-1] - kdj_k[-3] > 0.05:
# 坚持价值投资理念,重视股票内在价值
some_value_investing_factors = True if (some_conditions) else False
if some_value_investing_factors:
# 判断股票是否符合要求
return True
return False
# 获取符合策略要求的股票列表
selected_stocks = [code for code in ts.get_stock_basics().index if is_selected(code)]
# 根据选股结果进行后续交易操作
for code in selected_stocks:
pass # 参考其他交易策略
示例代码通过 Tushare 库获取相应的股票数据和历史价格信息,结合选股逻辑进行筛选,最终得到符合要求的股票列表。在实际交易中,可根据筛选和排序结果进行后续的操作。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
