实时股票数据筛选
摘要:
第一部分:数据源选择 (免费 vs. 付费)这是进行实时筛选的第一步,也是决定你筛选能力和广度的关键,免费数据源 (适合个人投资者、初学者)这些数据源通常有15-20分钟的延迟,但... 第一部分:数据源选择 (免费 vs. 付费)
这是进行实时筛选的第一步,也是决定你筛选能力和广度的关键。
免费数据源 (适合个人投资者、初学者)
这些数据源通常有15-20分钟的延迟,但对于大多数筛选策略已经足够。
- 财经网站/APP:
- 东方财富网: 数据全面,有强大的选股器功能,支持多种条件组合筛选。
- 新浪财经: 数据更新较快,同样提供条件选股功能。
- 腾讯自选股: 界面友好,筛选功能也比较完善。
- Python API (强烈推荐):
- akshare: 一个非常强大的、免费的Python财经数据接口库,可以获取A股、港股、美股的实时行情、财务数据、新闻等。
- tushare: 老牌的Python财经数据接口,免费版有积分限制,数据质量高。
- yfinance: 主要用于获取美股和加密货币的免费历史及实时数据。
优点: 免费,足够入门和策略回测。 缺点: 数据有延迟,部分深度数据缺失,并发请求可能受限。
付费数据源 (适合专业投资者、量化交易者)
这些数据源提供真正的实时数据(Level 1/Level 2)、历史Tick数据、财务细节、研报等。
- 国内:
- Wind (万得): 国内金融数据终端的绝对王者,数据最全、最权威。
- 同花顺iFinD: 功能强大,用户界面友好,与同花顺交易软件无缝集成。
- 东方财富Choice: 性价比较高,数据覆盖面广。
- 国际:
- Bloomberg Terminal (彭博): 全球金融从业者的标配,功能极其强大。
- Refinitiv Eikon (路孚特): 数据和新闻质量非常高。
- Interactive Brokers (IB): 不仅是券商,其提供的IBKR Gateway也是许多量化策略获取实时行情数据的常用接口。
优点: 数据真正实时、准确、全面,是专业交易和研究的基石。 缺点: 价格昂贵,通常需要机构账户或个人年费高达数万甚至数十万。
第二部分:筛选策略与维度 (如何筛选?)
无论使用哪个数据源,筛选的逻辑和维度是相通的,以下是一些核心的筛选维度和策略:
基于价格和成交量的筛选 (最常用)
这类策略捕捉市场的短期情绪和资金动向。
-
异动涨幅/跌幅筛选:
-
策略: 找出当天涨幅或跌幅超过特定阈值(如5%、7%、10%)的股票。
-
目的: 发现市场热点、强势股或风险股。
-
Python (akshare) 示例:
import akshare as ak # 获取今日A股实时行情 df_realtime = ak.stock_zh_a_spot_em() # 筛选涨幅超过5%的股票 gainers = df_realtime[df_realtime['涨跌幅'] > 5.0] print("涨幅超过5%的股票:") print(gainers[['代码', '名称', '最新价', '涨跌幅']].head(10)) # 筛选跌幅超过5%的股票 losers = df_realtime[df_realtime['涨跌幅'] < -5.0] print("\n跌幅超过5%的股票:") print(losers[['代码', '名称', '最新价', '涨跌幅']].head(10))
-
-
量比/换手率筛选:
- 策略: 量比是当日即时成交量与过去5日平均成交量的比值,换手率是成交量与流通股本的比值,筛选高量比或高换手率的股票。
- 目的: 发现资金关注度高、可能有大额资金进出的股票,往往是启动或异动的信号。
- Python (akshare) 示例:
# akshare的实时行情接口可能不直接提供量比,需要结合历史数据计算 # 这里假设df_realtime中已有'量比'和'换手率'列 high_turnover = df_realtime[df_realtime['换手率'] > 5.0] # 换手率超过5% print("\n换手率超过5%的股票:") print(high_turnover[['代码', '名称', '最新价', '换手率']].head(10))
基于技术指标的筛选 (系统化交易)
这类策略使用数学公式计算出的指标来辅助决策。
- 均线策略:
- 策略: 筛选股价在关键均线(如5日、10日、20日、60日)之上的股票(多头排列),或者突破均线的股票。
- 目的: 判断股票的长期趋势和短期趋势。
- MACD (指数平滑异同移动平均线):
- 策略: 筛选MACD金叉(快线上穿慢线)或死叉(快线下穿慢线)的股票。
- 目的: 捕捉趋势的转折点。
- RSI (相对强弱指数):
- 策略: 筛选RSI指标超卖(如低于30)或超买(如高于70)的股票。
- 目的: 寻找可能的反转机会。
基于基本面和财务数据的筛选 (价值投资)
这类策略关注公司的内在价值和健康状况。
- 市盈率/市净率 筛选:
- 策略: 筛选低市盈率(如低于行业平均或20倍)或低市净率的股票(价值股),也可以筛选高市盈率(成长股)。
- 目的: 寻找被低估或高估的股票。
- 市值筛选:
- 策略: 筛选总市值在一定范围内的股票(如50亿-200亿的中盘股)。
- 目的: 锁定特定规模的公司,通常小盘股波动大,大盘股更稳健。
- 财务健康状况筛选:
- 策略: 筛选流动比率、速动比率大于2(偿债能力强),资产负债率低于50%(杠杆低),ROE(净资产收益率)高于15%(盈利能力强)的股票。
- 目的: 寻找财务稳健、盈利能力强的优质公司。
基于资金流向的筛选 (聪明钱逻辑)
- 主力资金/北向资金 净流入:
- 策略: 筛选当天主力资金或北向资金(外资)净流入额最大的股票。
- 目的: 跟踪“聪明钱”的动向,相信大资金的判断。
- 大单/特大单 净流入:
- 策略: 筛选买入大单(通常指超过100手或50万元)金额远大于卖出大单的股票。
- 目的: 判断是否有机构资金在积极建仓。
第三部分:实现方式 (如何自动化?)
使用在线平台的选股器
对于非程序员,最简单的方式是直接使用东方财富、同花顺等平台的“选股器”或“条件选股”功能,它们提供了图形化界面,你可以像搭积木一样组合各种条件,一键执行筛选。
使用Python脚本 (高度灵活)
这是量化爱好者和专业交易者的首选,结合akshare或tushare获取数据,使用pandas库进行数据处理和筛选,最后可以用matplotlib进行可视化。
完整Python示例:一个综合筛选策略
假设我们要找一只“A股股票”,它需要满足以下条件:
- 总市值在100亿到500亿之间。
- 当日换手率大于3%。
- 相对强弱指数低于35(可能超卖)。
- 当日北向资金净流入。
import akshare as ak
import pandas as pd
def filter_stocks():
# 1. 获取实时行情数据
df_realtime = ak.stock_zh_a_spot_em()
# 2. 获取北向资金数据 (注意:akshare的北向资金接口通常是历史数据,这里简化处理)
# 实际应用中,你需要一个能获取当日净流入的接口或数据源
# df_north_flow = ak.stock_hsgt_north_flow_em() # 这是一个历史接口示例
# 为了演示,我们创建一个模拟的净流入列
df_realtime['北向资金净流入(亿)'] = (df_realtime['代码'].isin(['600519', '000858']) * 5.0 + # 茅台、五粮液
df_realtime['代码'].isin(['000333', '002415']) * (-2.0)) # 格力、海康威视
# 3. 获取财务数据 (市值)
# 注意:akshare获取财务数据通常需要单独调用,且数据不是实时的
# df_fundamental = ak.stock_financial_analysis_indicator(symbol="SH600519") # 示例
# 为了演示,我们假设df_realtime中有'总市值'列,实际上你可能需要合并
df_realtime['总市值(亿)'] = df_realtime['总市值'] / 100000000 # 假设原始单位是元,转换为亿
# 4. 定义筛选条件
conditions = (
(df_realtime['总市值(亿)'] >= 100) &
(df_realtime['总市值(亿)'] <= 500) &
(df_realtime['换手率'] > 3.0) &
# (df_realtime['RSI'] < 35) & # 假设有RSI数据
(df_realtime['北向资金净流入(亿)'] > 0)
)
# 5. 执行筛选
filtered_stocks = df_realtime[conditions]
# 6. 排序并输出
# 按北向资金净流入降序排列
result = filtered_stocks.sort_values(by='北向资金净流入(亿)', ascending=False)
return result[['代码', '名称', '最新价', '总市值(亿)', '换手率', '北向资金净流入(亿)']]
if __name__ == '__main__':
try:
final_result = filter_stocks()
print("\n--- 综合筛选结果 ---")
print(final_result)
except Exception as e:
print(f"执行筛选时出错: {e}")
print("请确保已安装 akshare: pip install akshare")
使用专业量化平台 (如聚宽、米筐)
这些平台提供了数据、回测、交易一体化的环境,内置了丰富的函数库,可以让你用Python-like的语言快速实现复杂的筛选和交易策略,并且可以方便地连接券商账户进行实盘交易。
总结与建议
| 筛选方法 | 适合人群 | 优点 | 缺点 |
|---|---|---|---|
| 在线平台选股器 | 个人投资者、新手 | 无需编程,操作简单 | 功能有限,定制性差 |
| Python + API | 量化爱好者、程序员 | 高度灵活、免费、可自动化 | 需要编程能力,数据有延迟 |
| 专业数据终端 | 专业投资者、机构 | 数据真正实时、全面、权威 | 价格极其昂贵 |
给您的建议:
- 从免费开始: 如果您是新手,先使用东方财富等网站的选股器,熟悉各种筛选维度和逻辑。
- 学习Python: 如果您有一定技术背景,强烈建议学习使用
akshare和pandas,这能让你构建完全属于自己的、高度定制化的筛选系统,这是迈向量化投资的第一步。 - 明确策略: 在筛选前,先想清楚你的目标是什么?是做短线追热点,还是长线价值投资?不同的目标对应不同的筛选策略。
- 风险提示: 任何筛选结果都应作为参考,而非绝对的买卖信号,投资决策需要结合更全面的分析,包括公司基本面、行业前景、市场风险等。过往表现不代表未来收益,投资有风险,入市需谨慎。
作者:咔咔本文地址:https://www.jits.cn/content/35212.html发布于 今天
文章转载或复制请以超链接形式并注明出处杰思科技・AI 股讯
还没有评论,来说两句吧...