<p>羊驼仍然是相当新的,不幸的是没有最具解释性的文件。首先,<code>alpaca_trade_api.get_barset</code>的结果是<code>BarSet</code>。<em>有一个<code>BarSet</code>的<code>.df</code>属性,但是<code>BarSet</code>本身和它的<code>df</code>都不能让我们直接访问原始结果</p>
<p>深入研究API的<code>BarSet</code>源代码,可以找到<a href="https://github.com/alpacahq/alpaca-trade-api-python/blob/cd22b3393aff8df214d867b6a4723a21ea34a3c0/alpaca_trade_api/entity.py#L138" rel="nofollow noreferrer">here</a>,我们可以看到两件事:</p>
<ol>
<li><code>BarSet</code>是<code>dict</code>的一个子类</li>
<li><code>BarSet</code>具有<code>_raw</code>属性</li>
</ol>
<p>我们可以使用这个<code>_raw</code>属性来访问原始数据,它是一个<code>dict</code></p>
<pre><code>symbol = "AAPL"
bar_set = api.get_barset(symbol, "day", limit=5)._raw
</code></pre>
<p>哪些产出:</p>
<pre><code>{
'AAPL': [
{'t': 1607317200, 'o': 122.31, 'h': 124.57, 'l': 122.25, 'c': 123.8, 'v': 72463180},
{'t': 1607403600, 'o': 124.37, 'h': 124.98, 'l': 123.09, 'c': 124.33, 'v': 69695298},
{'t': 1607490000, 'o': 124.53, 'h': 125.95, 'l': 121, 'c': 121.67, 'v': 99218318},
{'t': 1607576400, 'o': 120.5, 'h': 123.87, 'l': 120.15, 'c': 123.22, 'v': 70011939},
{'t': 1607662800, 'o': 122.43, 'h': 122.76, 'l': 120.55, 'c': 122.49, 'v': 75289233}
]
}
</code></pre>
<p>因此,如果您想用原始值创建一个<code>pandas.DataFrame</code>,您可以这样做:</p>
<pre><code>import pandas as pd
symbol = "AAPL"
bar_set = api.get_barset(symbol, "day", limit=5)[symbol]._raw
df = pd.DataFrame(data=bar_set)
</code></pre>
<p>这给了我们:</p>
<pre><code> t o h l c v
0 1607317200 122.31 124.57 122.25 123.80 72463180
1 1607403600 124.37 124.98 123.09 124.33 69695298
2 1607490000 124.53 125.95 121.00 121.67 99218318
3 1607576400 120.50 123.87 120.15 123.22 70011939
4 1607662800 122.43 122.76 120.55 122.49 75289233
</code></pre>