XuanFu_Yaya 2019-12-24 22:21 采纳率: 0%
浏览 98

Python中利用quantOS中的jaqs访问数据,返回None为什么呀

已经下载好相关的包了

from jaqs.data.dataapi import DataApi

api=DataApi(addr="tcp://data.quantos.org:8910")
token='eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVfdGltZSI6IjE1NzY4OTE4OTEyMDgiLCJpc3MiOiJhdXRoMCIsImlkIjoiMTczMjAwNjM1NjkifQ.-62zIY--kIccxcyv8JkI4gyYwHeTuxzL-opEArRKY24'
api.login('17320063569',token)

df, msg = api.daily(
symbol="600832.SH, 600030.SH",
start_date=20121026,
end_date=20121130,
fields="",
adjust_mode="post")

您好请问为什么返回的结果是None呀

  • 写回答

1条回答 默认 最新

  • Stitch . 全栈领域新星创作者 2024-07-27 10:53
    关注

    在使用 jaqs 数据API时遇到返回结果为 None 的问题,可能有几个原因。以下是一些排查和解决步骤:

    登录状态:
    确保您已经成功登录到数据服务。如果登录失败(如密码或token错误,或网络问题),那么后续的API调用可能无法正确执行。您可以检查 api.login() 的返回值或调用 api.get_last_error() 来查看是否有错误发生。
    参数问题:
    symbol:确保您提供的股票代码格式正确,并且服务支持这些股票代码。在您的代码中,您使用了逗号分隔的字符串 "600832.SH, 600030.SH",但通常API可能期望一个列表或单个股票代码。尝试将其更改为列表形式,如 ["600832.SH", "600030.SH"]。
    start_date 和 end_date:确保日期格式正确,并且服务支持这种格式。虽然 20121026 和 20121130 在很多系统中是有效的,但最好确认API的文档说明。
    fields:虽然您设置为空字符串,这通常表示获取所有字段,但最好确认API是否允许这样做,或者是否有特定的字段列表是必需的。
    adjust_mode:确认 "post" 是有效的调整模式,并且该API支持此模式。
    API限制:
    有些API可能对请求频率、请求量或特定功能的使用有限制。确认您没有超出这些限制。
    网络问题:
    检查网络连接,确保您的计算机可以访问 data.quantos.org:8910。
    错误处理和日志:
    使用 api.get_last_error() 或类似的API调用来获取最后一次操作的错误信息。这可以帮助您诊断问题。
    API文档和更新:
    查看最新的API文档,确认没有API的变更或弃用。
    示例代码:
    查看官方提供的示例代码或社区中的讨论,看是否有类似的问题和解决方案。
    修改后的代码示例(针对symbol参数的修改):

    
    ```python
    from jaqs.data.dataapi import DataApi  
      
    api = DataApi(addr="tcp://data.quantos.org:8910")  
    token = 'eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVfdGltZSI6IjE1NzY4OTE4OTEyMDgiLCJpc3MiOiJhdXRoMCIsImlkIjoiMTczMjAwNjM1NjkifQ.-62zIY--kIccxcyv8JkI4gyYwHeTuxzL-opEArRKY24'  
    if api.login('17320063569', token):  
        print("登录成功")  
        df, msg = api.daily(  
            symbol=["600832.SH", "600030.SH"],  
            start_date=20121026,  
            end_date=20121130,  
            fields="",  
            adjust_mode="post")  
        if df is not None:  
            print("数据获取成功")  
            print(df)  
        else:  
            print("数据获取失败:", msg)  
    else:  
        print("登录失败")  
        print(api.get_last_error())
    
    

    ```
    请注意,如果 df 仍然是 None,并且 msg 提供了有用的信息,那么应该根据 msg 的内容来进一步诊断问题。

    评论

报告相同问题?

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上