跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 世界
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

AI量化投资实验室-社区&知识库

  1. 首页
  2. AI量化实验室 玩法
  3. akshare获取etf及lof的数据

akshare获取etf及lof的数据

已定时 已固定 已锁定 已移动 AI量化实验室 玩法
2 帖子 1 发布者 131 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • A 离线
    A 离线
    ailabx
    编写于 最后由 编辑
    #1

    获取ETF数据, symbol是fund code, start_date:起始日期

    def get_fund_quotes(symbol: str, start_date: str):
    code = symbol[:6]
    if not start_date:
    start_date = '20050101'

    delta = 1
    
    from zoneinfo import ZoneInfo  # Python 3.9+
    
    tz = ZoneInfo('Asia/Shanghai')
    current_hour = datetime.now(tz).hour
    logger.debug(f'current_hour:{current_hour}')
    
    if current_hour > 18:
        delta = 0
    # end_date = datetime.now().strftime('%Y%m%d')
    end_date = (datetime.now() - timedelta(days=delta)).strftime('%Y%m%d')
    logger.debug(f'更新到最新日期:{end_date},delta:{delta}')
    if '16' != code[:2]:
        df = ak.fund_etf_hist_em(symbol=code, period="daily", start_date=start_date,
                                 end_date=end_date, adjust="hfq")
    else:
        df = ak.fund_lof_hist_em(symbol=code, period="daily", start_date=start_date,
                                 end_date=end_date, adjust="hfq")
    
    cols = {'日期': 'date', '开盘': 'open', '收盘': 'close', '最高': 'high', '最低': 'low', '成交量': 'volume',
            '换手率': 'turn_over', '成交额': 'amount'}
    df.rename(columns=cols, inplace=True)
    df['date'] = df['date'].apply(lambda x: x.replace('-', ''))
    df = df[list(cols.values())]
    df['symbol'] = symbol
    return df
    

    技术让生活更简单。

    1 条回复 最后回复
    0
    • A 离线
      A 离线
      ailabx
      编写于 最后由 编辑
      #2

      星球里有akshare下载好的包,不过更新不一定及时。

      技术让生活更简单。

      1 条回复 最后回复
      0
      回复
      • 在新帖中回复
      登录后回复
      • 从旧到新
      • 从新到旧
      • 最多赞同


      • 登录

      • 没有帐号? 注册

      Powered by NodeBB Contributors
      • 第一个帖子
        最后一个帖子
      0
      • 版块
      • 最新
      • 标签
      • 热门
      • 世界
      • 用户
      • 群组