Is there a utility function, or some other way to get pandas dataframes from account.list_…()? For example, api.get_barset() has the .df attribute but account.list_positions() does not. Is what converts alpaca objects to dataframes an internal alpaca function that I can import and run on the output of account.list_positions(), .list_orders(), etc? Any insight is appreciated. Thanks!
In case someone else searches for this, I realized that a straightforward way to do this is:
positions = api.list_positions()
positions = pd.DataFrame({
'ticker': [x.symbol for x in positions],
'qty': [x.qty for x in positions], etc
})
Still, I wonder if there’s a built-in function somewhere that yields the same result.
While not a built-in function. I saw a solution from nad that I’ve found very useful. You flatten the object by calling vars(object) on it first. Then handle the indexing as you roll up the dataframe:
do you mean…
positions = api.list_positions()
positions = pd.DataFrame({'ticker': [1.symbol], 'qty': [2.qty],.....})
sry i know this is probably a silly question
lol that looks way easier but yet i’ve tried it and still can’t get it working in colab. ugh i’m a noob.
try pd.DataFrame([position._raw for position in positions])
4 Likes