历史文档

重要对象

由iquant创建,最终由iquant 被浏览 77 用户

Equity

定义

class Equity

标的

主要变量

sid: integer: 标的ID

symbol: string: 标的代码

asset_name: string: 标的全称

start_date: datetime 该标的第一天开始交易的时间

end_date: datetime 该标的最后一天交易的时间

示例代码

#股票示例
equity = context.symbol('000001.SHA')
print(equity.symbol)
#期货示例
equity = context.future_symbol('IF1809.CFE')
print(equity.symbol)

Order

定义

class Order

当你在算法中生成一个(Order)订单后,Order会有以下属性

主要变量

status: integer - 订单状态 0表示该订单还未实际成交,1表示订单已经成交,2表示订单已经取消

created: datetime - 订单生成时间

stop: float - 可选的止损价

limit: float - 可选的限定价

amount: integer- 订单数量

sid: security- 对象订单symbol

filled: integer - 截至到目前为止,订单已完成数量

stop_reached: boolean - 如果股票市价到达止损价为true

limit_reached: boolean - 如果股票市价到达限定价为true

commission: integer - 订单产生的佣金

示例代码

#输出下单的股票
open_orders = context.get_open_orders()
for equity in open_orders:
orders = open_orders[equity]
for order in orders:
print(context.order.sid)

Portfolio

定义

class Portfolio

交易账户,可以通过 context.portfolio 获取

主要变量:(针对股票)

cash: float 账户现金

start_date: datetime 交易账户对象统计开始时间

end_date: datetime交易账户对象统计结束时间

starting_cash: float 交易账户初始金额

portfolio_value: float 账户总价值(包括持仓市值+现金)

positions_value: float 持仓市值

positions: dictionary 持仓

positions_exposure: float 持仓风险暴露

capital_used: float 账户买卖所消耗的净资产,为正时代表花费

pnl: float 持仓收益

returns: float账户累计收益,比如10%返回的是0.1

主要变量:(针对期货)

cash: float 账户现金

start_date: datetime 交易账户对象统计开始时间

total_margin: float 持仓总保证金占用

positions_exposure: float 持仓风险暴露

total_margin_long: float 持多仓总保证金占用

total_margin_short: float 持空仓总保证金占用

pnl: float 持仓盈亏

positions_value: float 持仓市值,目前为None

returns: float 投资组合累计收益

starting_cash: float 初始资金

capital_used: float 账户上的资金流动,如收益费扣除、平仓盈亏、期货结算盈亏等

portfolio_value: float 账户总资产

Positions

定义

class Position

持仓对象表示目前账户持有股票,为Dictionary格式,因此如果你需要查询某只股票的具体持仓(如中国平安 ‘000001.SZA’),查询语法为:context.portfolio.positions[context.symbol('000001.SZA')]

主要变量(针对股票)

amount: integer 持仓数量

cost_basis: float 持仓成本价

last_sale_price: float 股票在交易时间的最后价格,等价于收盘价

sid: integer 持仓股票的ID last_sale_date: Timestamp 最新日期 asset: equity 标的

主要变量(针对期货):

amount: integer 总持仓数量

today_amount: integer 今持仓数量

frozen_amount: integer 持仓冻结数量

cost_basis: float 持仓均价

available_close_amount: tuple 可平仓数量。第一个元素为该期货标的多单可平量,第二个元素为该期货标的空单可平量

available_close_amount_long: integer 多头持仓可平量

available_close_amount_short: integer 空头持仓可平量

holding_pnl_long: float 多头持仓盈亏

holding_pnl_short: float 空头持仓盈亏

margin_long: float 多头保证金占用

margin_short: float 空头保证金占用

last_sale_date: Timestamp 最新日期

last_sale_price: float 期货标的在交易时间的最后价格,等价于收盘价

asset: equity 标的

示例代码

#打印持仓的股票
positions = context.portfolio.positions
for equity in positions:
position = positions[equity]
print(position.sid)

\

{link}