问题描述
我怎么找不到context 的属性帮助,比如context.portfolio 这个portfolio 又有很多属性 ,这些总结说明在哪可以查到?
解决方案
在 JoinQuant(聚宽)平台的 API 文档中,关于 context 及其相关对象(如 portfolio、position)的详细说明,通常位于文档的 “对象” 或 “策略信息总览” 章节。
为了方便您快速查阅,以下是 context 及其主要关联对象的核心属性总结:
1. Context 对象(策略信息总览)
context 对象包含了当前账户、时间等全局信息。
context.portfolio: 账户信息,即subportfolios的汇总信息(Portfolio对象)。如果只有一个操作仓位,它指向subportfolios[0]。context.subportfolios: 当前单个操作仓位的资金、标的信息,是一个SubPortfolio的数组。context.current_dt: 当前单位时间的开始时间(datetime.datetime对象)。context.previous_date: 前一个交易日(datetime.date对象)。context.universe: 查询set_universe()设定的股票池。context.run_params: 表示此次运行的参数(包含start_date,end_date,type,frequency等)。
2. Portfolio 对象(总账户信息)
context.portfolio 包含了账户当前的资金和标的信息汇总。
inout_cash: 累计出入金。available_cash: 可用资金,可用来购买证券的资金。transferable_cash: 可取资金,即可以提现的资金。locked_cash: 挂单锁住资金。total_value: 总的权益,包括现金、保证金或仓位的总价值。returns: 前一日总权益的累计收益。starting_cash: 初始资金。positions_value: 持仓价值。positions/long_positions: 多单的仓位,一个字典,key 是证券代码,value 是Position对象。short_positions: 空单的仓位(字典)。
3. Position 对象(持仓标的信息)
当你通过 context.portfolio.positions['000001.XSHE'] 获取到某只股票的持仓时,它是一个 Position 对象。
security: 标的代码。price: 最新行情价格。avg_cost: 当前持仓成本(每次买入后调整,卖出不变)。hold_cost: 当日持仓成本。init_time: 建仓时间。total_amount: 总仓位(不包括挂单冻结仓位)。closeable_amount: 可卖出的仓位。value: 标的价值(price * total_amount * multiplier)。side: 多/空方向('long' 或 'short')。
4. SubPortfolio 对象(子账户信息)
如果你使用了多账户(set_subportfolios),可以通过 context.subportfolios[i] 访问。
除了包含类似 Portfolio 的资金和持仓属性外,还包含:
type: 账户所属类型(如 'stock', 'futures', 'stock_margin')。total_liability: 总负债(融资融券)。net_value: 净资产。margin: 保证金。
如何查找官方文档:
您可以在 JoinQuant 官方 API 文档页面,使用浏览器的搜索功能(Ctrl+F 或 Cmd+F),直接搜索 “Context 策略信息总览”、“Portfolio 总账户信息” 或 “Position 持仓标的信息”,即可找到最权威、最详细的属性列表和使用示例。