我想用一个数据框来存储我的投资组合信息,并每分钟更新一次。但是下面代码的结果是空的,我是否遗漏了什么?
from ibapi.client import EClient
from ibapi.wrapper import EWrapper
from ibapi.contract import Contract
from ibapi.ticktype import TickTypeEnum
import pandas as pd
import time
class IBapi(EWrapper, EClient):
def __init__(self):
EClient.__init__(self, self)
self.all_positions = pd.DataFrame([], columns=['ConID', 'Symbol', 'Quantity', 'Average Cost', 'MarketPrice', 'marketValue', 'unrealizedONL', 'realizedPNL'])
def updatePortfolio(self, contract: Contract, position: float, marketPrice: float, marketValue: float,averageCost: float, unrealizedPNL: float, realizedPNL:float, accountName:str):
super().updatePortfolio(contract, position, marketPrice, marketValue, averageCost, unrealizedPNL, realizedPNL, accountName)
index = str(contract.conId)
self.all_positions.loc[index] = contract.conId, contract.symbol, position, averageCost, marketPrice, marketValue, unrealizedPNL, realizedPNL
def main():
app = IBapi()
app.connect('127.0.0.1', 7497, 0)
app.reqAccountUpdates(True, "XXXXXXXX")
current_positions = app.reqAccountUpdates(True, "XXXXXXX")
app.run()
print(current_positions.to_string())
app.disconnect()
if __name__ == "__main__":
main()
reqAcccountUpdates
是一个异步函数调用,它发送一条传出消息,但不等待响应。(由于消息启动了对数据流的订阅,因此返回的不是单个响应,而是一系列响应)。
所以当前位置
在:
current_positions = app.reqAccountUpdates(True, "XXXXXXX")
永远都不会有。相反,响应存储在应用程序中。所有_位置
由被覆盖的updatePortfolio()
函数覆盖。
此外,run()
循环是一个无限循环,因此后面的行将无法执行。最常见的是,这种类型的架构将由python期货/asyncio模块(如在ib_insync库中)处理,或者为运行循环添加一个额外的线程。
问题内容: 我知道有很多这种性质的问题,但是我需要使用JavaScript来完成。我正在使用并将所有属性信息都放在数组中,如下所示: 知道如何将其导出到客户端吗? 问题答案: 您可以使用本机JavaScript执行此操作。您必须这样将数据解析为正确的CSV格式(假设您正在使用问题中所描述的数组数组): 或更短的方法(using arrow functions): 然后,您可以使用JavaScrip
服务统计 鼠标滑过自己的账户,点击 “服务统计”,服务统计包含 统计概况、流量统计、空间统计和云直播并发统计 等。 统计概况: 统计概况包含当前空间使用情况、本月流量使用情况和本月直播并发统计概况。 流量统计: 流量统计包含日期、PC(GB)、Mobile(GB)、Audio(GB)和总流量(GB)。 提示:统计数据最多延迟24小时 空间统计: 空间统计包含新增消耗空间、日期和当日消耗空间(GB)
获取token API
2.1 账户信息管理 2.1.1用户账户注册(会员注册) 【场景介绍】 当有用户资金账户的场景时,比如用于充、转、提功能,需要调用本接口创建用户,商户用户标识是用户在商户平台的唯一标识,一个用户标识+身份证号只允许注册一次。 【调用流程】 【请求地址】 环境 接口服务URI 生产环境 /rest/v1.0/user/register 2.1.1.1请求参数 参数名称 参数含义 数据类型 必填 参数
有可能从我的授权人那里转移资金吗。净商户账户到客户账户(抄送号码或银行账号)?我还没有听说cc号码可以用来接受或存款来增加信用额度。 这不是退款,而是一项新的交易,商家会给客户钱。 谢谢
账户类型 孚衍系统的账户有分类,长度24字符。 第一个字符用于标示地址的类型。 0x01为默认的账户 0x02为代理账户,当账户需要频繁签名时,可以通过代理模式,指定签名代理人,避免自己的账户因过度签名影响账户安全。 0xff为公共账户,它是公有合约的账户,只有对应合约才能操作该账户。 其他的值将用于后续的扩展需求 每个公有合约都拥有自己的账户,私有合约的账户就是合约创建者,智能合约能够操作创建者