Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计提醒

current-akshare-list当前 akshare 列表

Agent Skill

current-akshare-list 用于补充开发相关能力,适合在 OpenClaw 中需要让 Agent 承接开发相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

2,375

周安装

102

GitHub Stars

公开资料未说明

下载量

832
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:current-akshare-list(当前 akshare 列表)
来源仓库:https://github.com/ugpoor/current-akshare-list
安装命令:
openclaw skills install current-akshare-list
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install current-akshare-list

简介

current-akshare-list 通过 akshare 接口获取 A股、创业板及 B 股股票的实时交易清单。

  • 适用于 OpenClaw 中构建股票数据库、监控上市状态或筛选活跃标的场景。
  • 自动区分正在交易与暂停交易的证券,并以 CSV 格式保存代码、简称与上市时间。
  • 使用前需确认 akshare 版本兼容性,部分字段可能因交易所规则变化而更新滞后。
  • 涉及金融数据接口调用,请遵守相关平台的使用条款与数据授权范围。

SKILL.md

name
current-akshare-list
description
通过akshare下载所有A股、创业板、B股股票简况并用实时行情列表校对,获得当前正在交易的所有AB和创业板股票清单,以及不在交易的股票清单(代码、简称、上市时间),保存为csv。触发词:"A股股票列表"、"更新股票列表"、"股票列表下载"、"akshare股票"、"获取全部A股"、"沪深京A股"、"不在交易股票"、"停牌股票"。若遇东方财富接口封禁,提示用户开VPN再试或自动建立定时任务重试直到接通。

current-akshare-list

获取A股全量股票基础信息列表,并用实时行情接口交叉验证,输出「在交易」和「不在交易」两份清单。

环境要求

  • Python 3.11+
  • akshare SDK:pip install akshare
  • 若接口封禁,需开启VPN或建立定时任务等待

工作流程

第一步:下载股票基础信息(可选,若已有可跳过)

从六个市场来源获取股票列表,合并去重:

import akshare as ak
import pandas as pd

sources = [
    ("沪A", lambda: ak.stock_info_sh_name_code(symbol="主板A股")),
    ("沪B", lambda: ak.stock_info_sh_name_code(symbol="主板B股")),
    ("沪创", lambda: ak.stock_zh_index_cons_ci(symbol="000688")),
    ("深A", lambda: ak.stock_info_sz_name_code(symbol="A股列表")),
    ("深B", lambda: ak.stock_info_sz_name_code(symbol="B股列表")),
    ("京A", lambda: ak.stock_info_bj_a_code_name()),
]

results = []
for name, fn in sources:
    try:
        df = fn()
        df["source"] = name
        results.append(df)
    except Exception as e:
        print(f"{name} 获取失败: {e}")

stocklist = pd.concat(results).drop_duplicates(subset=["code"])
stocklist.columns = ["Symbol", "ShortName", "ListedDate", "Source"]
stocklist.to_csv("stocklist.csv", index=False)

第二步:实时行情接口验证(核心)

依次尝试三个接口,遇到封堵则处理:

import akshare as ak
import json

def fetch_spot_data():
    """获取三接口实时行情数据"""
    data = {}
    
    # 1. A股实时行情
    try:
        df = ak.stock_zh_a_spot_em()
        codes = df[['代码','名称']].to_dict('records')
        with open('/tmp/akshare_a_codes.json', 'w') as f:
            json.dump(codes, f, ensure_ascii=False)
        data['a'] = len(codes)
        print(f"✅ A股成功: {len(codes)} 条")
    except Exception as e:
        print(f"❌ A股失败: {type(e).__name__}: {e}")
        raise ConnectionError(f"A股接口封禁: {e}")
    
    # 2. B股实时行情
    try:
        df = ak.stock_zh_b_spot_em()
        codes = df[['代码','名称']].to_dict('records')
        with open('/tmp/akshare_b_codes.json', 'w') as f:
            json.dump(codes, f, ensure_ascii=False)
        data['b'] = len(codes)
        print(f"✅ B股成功: {len(codes)} 条")
    except Exception as e:
        print(f"❌ B股失败: {e}")
    
    # 3. 科创板实时行情
    try:
        df = ak.stock_zh_kcb_spot()
        codes = df[['代码','名称']].to_dict('records')
        with open('/tmp/akshare_kcb_codes.json', 'w') as f:
            json.dump(codes, f, ensure_ascii=False)
        data['kcb'] = len(codes)
        print(f"✅ 科创板成功: {len(codes)} 条")
    except Exception as e:
        print(f"❌ 科创板失败: {e}")
    
    return data

# 执行获取
try:
    data = fetch_spot_data()
    print(f"完成: {data}")
except ConnectionError as e:
    print(f"接口封禁,需要处理...")
    raise

第三步:对比分析

import json, csv

# 读取三个接口数据
with open('/tmp/akshare_a_codes.json', 'r') as f:
    a_codes = set(item['代码'] for item in json.load(f))
with open('/tmp/akshare_b_codes.json', 'r') as f:
    b_codes = set(item['代码'] for item in json.load(f))
with open('/tmp/akshare_kcb_codes.json', 'r') as f:
    kcb_codes = set(item['代码'] for item in json.load(f))

# 读取 stocklist
stocklist_codes = set()
stocklist_info = {}
with open('stocklist.csv', 'r', encoding='utf-8-sig') as f:
    reader = csv.DictReader(f)
    for row in reader:
        code = row['Symbol'].strip()
        stocklist_codes.add(code)
        stocklist_info[code] = {'name': row.get('ShortName', ''), 'date': row.get('ListedDate', '')}

# 三接口合并(去重)
all_spot_codes = a_codes | b_codes | kcb_codes

# 对比分析
in_spot_not_stocklist = all_spot_codes - stocklist_codes  # 需补充
in_stocklist_not_spot = stocklist_codes - all_spot_codes  # notspot

print(f"需补充: {len(in_spot_not_stocklist)}")
print(f"notspot: {len(in_stocklist_not_spot)}")

第四步:接口封禁处理

当东财接口被封(ConnectionError、RemoteDisconnected)时:

方案A:用户手动处理

告知用户:"东方财富接口被封,请开启VPN后重新执行,或选择建立定时任务自动重试"

方案B:自动建立定时任务

1. 创建 cron 任务,每30分钟重试东财接口
2. 若成功:执行全量对比 → 输出结果 → 删除自身任务
3. 若失败:输出"仍被封,等待下次尝试" → 保留任务继续重试
4. 最大重试次数:24次(12小时),超时后通知用户
# 定时任务 payload 示例
{
    "kind": "agentTurn",
    "message": "重试东财接口,若成功则完成全量对比并输出结果到指定路径",
    "sessionTarget": "isolated"
}

第五步:输出结果文件

文件说明字段
stocklist.csv全量股票基础信息代码、简称、上市日期、来源
stocklist_intrading.csv当前在交易股票代码、简称、上市日期
notspot.csv不在交易股票清单代码、简称、上市日期

VPN 环境说明

东方财富接口(stock_zh_a_spot_em)在大陆IP下经常被封:

  • 开启VPN后:通常可稳定获取数据
  • 无VPN:接口返回 ConnectionError 或 RemoteDisconnected

若遇封禁,建议:

  1. 开启VPN后重试
  2. 建立定时任务自动重试(适合夜间执行)

已知限制

  • B股不在部分实时行情覆盖范围内,预期出现在 notspot 中
  • 科创板全量通过指数成分股接口获取(非直接全量列表)

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

79.66%
按下载量换算663

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills