量化交易入门笔记-策略常用对象

本文介绍了股票量化策略中的一些关键对象,包括Order、g、Trade、tick、Context、Position、SubPortfolio和Portfolio,详细阐述了它们的属性和作用,旨在帮助初学者理解这些基本概念。
摘要由CSDN通过智能技术生成

在股票量化策略中,还会用到一些常用的对象,如 Order 对象、全局对象 g 、Trade 对象等。下面详细讲解一下常用的对象

Order 对象

Order 对象常用的属性如下:

  • amount : 下单数量,不管是买还是卖,都是正数
  • filled : 已经成交的股票数量,正数
  • security : 股票代码
  • order_id : 订单 id
  • price : 平均成交价格,已经成交的股票的平均成交价格(一个订单可能分多次成交)
  • avg_cost : 卖出时表示下单卖出前的此股票的持仓成本,用来计算此次卖出的收益。买入时表示此次买入的均价(等于 price )
  • side : 用来指定开多单,还是空单。如果其值是 long 代表开多单,如果其值是 short 代表开空单
  • action : 用来指定是开仓,还是平仓。如果其值是 open 代表开仓,如果其值是 close 代表平仓
  • add_time : 订单添加时间

全局对象 g

全局对象 g,用来存储用户的种类可被 pickle.dumps 函数序列化的全局数据

在模拟盘中,如果中途进程中断,我们会使用 pickle.dumps 序列化所有的 g 下面的变量内容,保存到磁盘中,再启动的时候模拟盘就不会有任何数据影响。如果没有用 g 声明,会出现模拟盘重启后,变量数据丢失的问题

如果不想 g 中某个变量被序列化,可以让变量以 "_"开头,这样,这个变量在序列化会被忽略

全局对象 g 的实例代码如下:

def initialize(context):
    g.secruity = "000001.XSHG"
    g.count = 1
    g.flag = 0
    
def process_initialize(context):
    # 保存不能被序列化的对象,进程每次重启都初始化
    g._q = query(valuation)
    
def handle_data(context, data
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值