【问题标题】:parsing Alpaca API objects into json将 Alpaca API 对象解析为 json
【发布时间】:2020-07-09 18:49:27
【问题描述】:

我正在使用 Alpaca API。

import alpaca_trade_api as tradeapi

api = tradeapi.REST('key1', 'key2', 'https://paper-api.alpaca.markets', 'v2')

#retrieve open positions
pos = api.list_positions()
pos

输出:

[Position({   'asset_class': 'us_equity',
     'asset_id': 'b0b6dd9d-8b9b-48a9-ba46-b9d54906e415',
     'avg_entry_price': '382.01',
     'change_today': '0.0025959042399769',
     'cost_basis': '382.01',
     'current_price': '382.36',
     'exchange': 'NASDAQ',
     'lastday_price': '381.37',
     'market_value': '382.36',
     'qty': '1',
     'side': 'long',
     'symbol': 'AAPL',
     'unrealized_intraday_pl': '0.35',
     'unrealized_intraday_plpc': '0.0009162063820319',
     'unrealized_pl': '0.35',
     'unrealized_plpc': '0.0009162063820319'})]

这是我的尝试:

pos[0]['asset_id']
>>>TypeError: 'Position' object is not subscriptable

如何隔离存储在 Position 对象中的内容而不将其转换为字符串?

  • type(Position)alpaca_trade_api.entity.Position

【问题讨论】:

标签: python json parsing


【解决方案1】:

在过去的几天里出现了很多这样的问题,我想知道是什么激发了人们对羊驼的兴趣。答案是pos[0].asset_id:Alpaca 对象有属性,而不是键。

【讨论】:

    【解决方案2】:

    试试这个:

    getattr(pos, 'asset_id')
    

    我没有职位,但它和资产一样工作:

    a = api.get_asset('NFLX')
    print(getattr(a, 'symbol'))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-27
      • 2014-10-17
      • 1970-01-01
      • 2012-09-25
      相关资源
      最近更新 更多