本文作者:咔咔

实时股票数据筛选

实时股票数据筛选摘要: 第一部分:数据源选择 (免费 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脚本 (高度灵活)

这是量化爱好者和专业交易者的首选,结合aksharetushare获取数据,使用pandas库进行数据处理和筛选,最后可以用matplotlib进行可视化。

完整Python示例:一个综合筛选策略

假设我们要找一只“A股股票”,它需要满足以下条件:

  1. 总市值在100亿到500亿之间。
  2. 当日换手率大于3%。
  3. 相对强弱指数低于35(可能超卖)。
  4. 当日北向资金净流入。
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 量化爱好者、程序员 高度灵活、免费、可自动化 需要编程能力,数据有延迟
专业数据终端 专业投资者、机构 数据真正实时、全面、权威 价格极其昂贵

给您的建议:

  1. 从免费开始: 如果您是新手,先使用东方财富等网站的选股器,熟悉各种筛选维度和逻辑。
  2. 学习Python: 如果您有一定技术背景,强烈建议学习使用aksharepandas,这能让你构建完全属于自己的、高度定制化的筛选系统,这是迈向量化投资的第一步。
  3. 明确策略: 在筛选前,先想清楚你的目标是什么?是做短线追热点,还是长线价值投资?不同的目标对应不同的筛选策略。
  4. 风险提示: 任何筛选结果都应作为参考,而非绝对的买卖信号,投资决策需要结合更全面的分析,包括公司基本面、行业前景、市场风险等。过往表现不代表未来收益,投资有风险,入市需谨慎。
文章版权及转载声明

作者:咔咔本文地址:https://www.jits.cn/content/35212.html发布于 今天
文章转载或复制请以超链接形式并注明出处杰思科技・AI 股讯

阅读
分享

发表评论

快捷回复:

评论列表 (暂无评论,1人围观)参与讨论

还没有评论,来说两句吧...