[英]Python for loop returns first value
背景:代码应该引用一个股票代码和交易时间,然后在交易时间之后拉入后续收盘价(next_price_1m 和 next_price_2m)
问题:当一个代码重复时,next_price_1m 和 next_price_2m 从该代码的先前调用中重复,即使交易时间已经改变。 我最初调用 barset 的电话正在工作,但仅适用于股票代码的第一个实例。
示例 output:
symbol | transaction_time | next price 1m | next price 2m |
--------|------------------|---------------|---------------|--
JPM | 10:00 a.m. | $90 | $91 |
SPY | 10:25 a.m. | $260 | $261 |
JPM | 11:37 a.m. | $90 | $91 |
AAPL | 2:25 p.m. | $330 | $335 |
JPM | 3:02 p.m. | $90 | $91 |
JPM 在第 2 次和第 3 次调用中应该有不同的 next_price_1m 和 next_price_2m。
代码:
trades_list = api.get_activities(date='2020-04-06')
data = []
for trade in trades_list:
my_list_of_trade_order_ids = trade.order_id
price = trade.price
qty = trade.qty
side = trade.side
symbol = trade.symbol
transaction_time = trade.transaction_time
client_order_id = api.get_order(trade.order_id).client_order_id
barset = api.get_barset(timeframe='minute',symbols=trade.symbol,limit=15,after=trade.transaction_time)
df_bars = pd.DataFrame(barset)
next_price_1m = df_bars.iat[0,0].c
next_price_2m = df_bars.iat[1,0].c
data.append({'price':price, 'qty':qty, 'side':side,'symbol':symbol,'transaction_time':transaction_time, 'client_order_id':client_order_id, 'next price 1m':next_price_1m,'next price 2m':next_price_2m})
df = pd.DataFrame(data)
df
感谢您的回复。
问题在于“after”参数正在寻找与 trade.transaction_time 提供的时间戳格式不同格式的时间戳
API 不会提供错误,而是会忽略时间参数,只返回最新数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.