问财量化选股策略逻辑
选股逻辑为:振幅大于1、按个股热度从大到小排序、按今日竞价金额排序前5。将选股逻辑作为第一个标题放入段落中。
选股逻辑分析
该选股策略的逻辑如下:
- 振幅大于1:表明该股票交易活跃度较高;
- 按个股热度从大到小排序:表示在符合条件下按照市场的热度进行排序;
- 按今日竞价金额排序前5:表示关注当日活跃度较高的股票。
基于以上三个条件选股,可以筛选出当日交易活跃度高,市场热度高的公司。
有何风险?
该选股策略可能存在以下风险:
- 过于追求当日活跃度,忽略了公司的基本面和长期发展判断;
- 「振幅大于1」和「按个股热度从大到小排序」的条件下,市场热度较高的股票可能存在过热现象;
- 「竞价金额排序前5」不能代表公司的投资价值,可能存在投资周期较短的问题。
如何优化?
为了提高选股的准确性和降低风险,可以从以下方面进行优化:
- 不仅要关注当日活跃度,还要结合公司的基本面和行业信息等因素进行综合分析;
- 在振幅大于1和按个股热度排序的条件下,重点关注公司基本面和未来发展潜力,避免过分追求短期涨幅;
- 可以引入更多指标,结合股票的历史表现和长期趋势等因素,提高选股策略的可靠性和准确性。
最终的选股逻辑
综合以上分析和优化,我们最终的选股逻辑为:
在符合振幅大于1、按个股热度从大到小排序、按历史表现和长期趋势等因素筛选的条件下,结合公司的基本面和行业信息,综合考虑市场因素,重点关注公司的未来发展潜力,避免过分追求短期涨幅,提高选股的准确性和可靠性。
同花顺指标公式代码参考
该策略可引入以下指标进行辅助分析:
- 振幅指标:
振幅:
((HIGH-LOW)/REF(CLOSE,1))>0.01
- 同花顺热度指标:
同花顺热度指标:
SORT_BY_DESC(stock_heat/)
- 今日竞价金额排序:
今日竞价金额:
SORT_BY_DESC(JJ_AMOUNT)
python代码参考
以下是使用Python进行选股的代码参考:
import pandas as pd
import tushare as ts
from pyecharts.charts import *
from pyecharts.options import *
# 获取股票基本面数据
def get_stocks_info(codes):
info_dict = {}
for code in codes:
df = ts.get_stock_basics()
name = df.loc[code]["name"]
info_dict[name] = {"industry": df.loc[code]["industry"], "area": df.loc[code]["area"]}
return info_dict
# 获取符合条件的股票代码
def get_selected_codes():
codes = ts.get_today_all()["code"].tolist()
selected_codes = []
for code in codes:
df = ts.get_k_data(code)
if df.empty:
continue
if ((df.iloc[-1]["high"] - df.iloc[-1]["low"]) / df.iloc[-2]["close"]) > 0.01:
selected_codes.append(code)
stock_heat_dict = {}
for code in selected_codes:
df = ts.get_realtime_quotes(code)
stock_heat = int(df["volume"]) * float(df["price"])
stock_heat_dict[code] = stock_heat
sorted_stock_heat = sorted(stock_heat_dict.items(), key=lambda x: x[1], reverse=True)
selected_codes = [x[0] for x in sorted_stock_heat[:30]]
df = ts.get_today_ticks(selected_codes[0])
df = df[df["volume"] > 0]
top_5 = df.sort_values(by="amount", ascending=False).head(5)
selected_codes = top_5["code"].tolist()
return selected_codes
# 选股策略
def stock_selection():
selected_codes = get_selected_codes()
selected_info = get_stocks_info(selected_codes)
return selected_info
# 可视化展示
def show(selected_info):
data = []
for name, info in selected_info.items():
data.append((name, info["industry"], info["area"]))
# 绘制表格
chart = (
Table()
.add(headers=["股票名称", "行业", "地区"], rows=data)
.set_global_opts(title_opts=opts.ComponentTitleOpts(title="股票挑选结果"))
)
return chart
# 选出符合条件的股票
selected_info = stock_selection()
print("符合条件的股票:", selected_info)
# 展示结果
chart = show(selected_info)
chart.render()
其中,在代码中需要根据实际需求进行相应的设置。
## 如何进行量化策略实盘?
请把您优化好的选股语句放入文章最下面模板的选股语句中即可。
select_sentence = '市值小于100亿' #选股语句。
模板如何使用?
点击图标右上方的复制按钮,复制到自己的账户即可使用模板进行回测。
## 如果有任何问题请添加 下方的二维码进群提问。
