如何修复python中的Alpaca Trade Api身份验证错误

2024-05-29 07:42:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想运行thisGitHub源代码。 我已经创建了纸羊驼api密钥和密钥

...

if __name__ == '__main__':
    ...
    parser.add_argument(
        '--key-id', type=str, default='PKZCNAMQV8VY7ME04TLK',
        help='API key ID',
    )
    parser.add_argument(
        '--secret-key', type=str, default='/Qe8LfRa8Q1749qLFQRR2o/clnyW46sGLbdpMNYp',
        help='API secret key',
    )
    parser.add_argument(
        '--base-url', type=str, default='https://paper-api.alpaca.markets',
        help='set https://paper-api.alpaca.markets if paper trading',
    )
    args = parser.parse_args()
    assert args.quantity >= 100
    run(args)
...

问题是这样的

WARNING:root:code = 1000 (OK), no reason
ERROR:asyncio:Task was destroyed but it is pending!
task: <Task pending coro=<StreamConn._ensure_ws() running at C:\ProgramData\Anaconda3\lib\site-packages\alpaca_trade_api\stream2.py:87>>
C:\ProgramData\Anaconda3\lib\asyncio\base_events.py:604: RuntimeWarning: coroutine 'StreamConn._ensure_ws' was never awaited
  self._ready.clear()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Traceback (most recent call last):
  File ".\tick_taker.py", line 265, in <module>
    run(args)
  File ".\tick_taker.py", line 236, in run
    ['trade_updates', tc, qc]
  File "C:\ProgramData\Anaconda3\lib\site-packages\alpaca_trade_api\stream2.py", line 159, in run
    loop.run_until_complete(self.subscribe(initial_channels))
  File "C:\ProgramData\Anaconda3\lib\asyncio\base_events.py", line 579, in run_until_complete
    return future.result()
  File "C:\ProgramData\Anaconda3\lib\site-packages\alpaca_trade_api\stream2.py", line 128, in subscribe
    await self._ensure_polygon()
  File "C:\ProgramData\Anaconda3\lib\site-packages\alpaca_trade_api\stream2.py", line 85, in _ensure_polygon
    await self.polygon.connect()
  File "C:\ProgramData\Anaconda3\lib\site-packages\alpaca_trade_api\polygon\streamconn.py", line 44, in connect
    if await self.authenticate():
  File "C:\ProgramData\Anaconda3\lib\site-packages\alpaca_trade_api\polygon\streamconn.py", line 70, in authenticate
    raise ValueError('Invalid Polygon credentials, '
ValueError: Invalid Polygon credentials, Failed to authenticate: {'ev': 'status', 'status': 'auth_failed', 'message': 'authentication failed'}

我认为这个问题与环境有关,但我不确定。 感谢您的帮助


Tags: runinpyselfapilibpackagesline
1条回答
网友
1楼 · 发布于 2024-05-29 07:42:02

如果是环境,通常会说你缺少一个模块或类似的东西。实际错误是身份验证:ValueError:多边形凭据无效,身份验证失败:{'ev':'status','status':'auth_Failed','message':'authentication Failed'}

如果您查看存储库中的注释,它会说您需要一个live帐户,因为它使用polygon的数据/流,而polygon的数据/流与Alpaca不同。您提到了上述纸面交易,您可以这样做,但您必须拥有一个有资金支持的live帐户才能通过alpaca api密钥访问polygon

相关问题 更多 >

    热门问题