问财量化选股策略逻辑
选股逻辑为:在换手率在3%-12%之间、连续三天收阴线、连续三天以上大单净量大于0.05的股票中选择投资。
选股逻辑分析
该选股逻辑主要考虑了连续三天以上大单净量的情况,同时考虑到换手率和连续三天收阴线的因素,能够降低投资风险。
有何风险?
该选股逻辑仍忽略了股票的基本面分析,并且在考虑大单净量的时候也有可能存在过度渲染的情况,需要进行综合的分析。
如何优化?
可以继续引入更多的财务因素、考虑行业与宏观经济等因素的影响。同时,也可以结合技术面的因素来进行综合分析。
最终的选股逻辑
在换手率在3%-12%之间、连续三天收阴线、连续三天以上每天大单净量大于0.05的股票中进行筛选。
同花顺指标公式代码参考
以通达信公式为例:
SETBARS(250,0);
V_SELECT := 主板A股 AND 三连阴(5) AND 每天大单净量>0.05;
筛选条件:V_SELECT;
其中,每天大单净量可以通过计算成交量和成交金额的关系进行得出。
python代码参考
import baostock as bs
import pandas as pd
#### 登陆系统 ####
lg = bs.login()
#### 获取满足条件的股票 ####
rs = bs.query_stock_basic()
stock_list = []
while (rs.error_code == '0') & rs.next():
stock_code = rs.get_row_data()[0]
# 满足换手率和三连阴的股票
rs_k = bs.query_history_k_data_plus(stock_code, "date,open,high,low,close,volume,amount", start_date='2022-07-01', end_date='2022-07-09', frequency='d', adjustflag='3')
if rs_k.error_code == '0':
close_hist = list(map(float, rs_k.get_column("close")))
volume_hist = list(map(float, rs_k.get_column("volume")))
amount_hist = list(map(float, rs_k.get_column("amount")))
if len(close_hist) >= 3 and all([close_hist[i] < close_hist[i-1] for i in range(1, 3)]):
# 查询大单资金流向
big_trade_data = []
for i in range(len(close_hist)-2):
big_trade_volume = (volume_hist[i] + volume_hist[i+1] + volume_hist[i+2])/3
big_trade_amount = (amount_hist[i] + amount_hist[i+1] + amount_hist[i+2])/3
if big_trade_volume/big_trade_amount > 0.05:
big_trade_data.append({"date": rs_k.get_column("date")[i], "big_trade": big_trade_amount})
if len(big_trade_data) >= 3:
stock_list.append(stock_code)
df = pd.DataFrame({"stock_code": stock_list})
print(df)
#### 登出系统 ####
bs.logout()
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
