常见的量化平台有米筐、聚宽、FMZ...等,今天介绍一个新的量化平台,并入门编写一个量化策略: 口袋量化
口袋量化
口袋量化主要做期货,平台首页有量化知识和快速入门文档,对于一些量化入门用户来说十分友好。
编写策略
目前策略支持python策略和My语言策略;以python策略为例介绍下策略编写
交易函数
send_order(direction, offset, price, volume, slippage=False)
发送委托时调用,返回委托编号列表。
参数名 | 可选值 | 说明 |
---|---|---|
direction | "多" 或 "空" | 买卖方向 |
offset | "开" 或 "平" | 开平方向 |
price | float | 委托价格 |
volume | int | 委托数量 |
slippage | float | 滑点 |
cancel_order(orderid)
撤销委托时调用,无返回值
参数名 | 可选值 | 说明 |
---|---|---|
orderid | string | 委托编号 |
cancel_all()
撤销全部已发送委托,无返回值
Log(content)
输出日志,无返回值
参数名 | 可选值 | 说明 |
---|---|---|
content | string | 日志内容 |
触发事件
on_start(context)
策略启动时执行的函数
参数 :context 上下文信息对象
示例代码
def on_start(context):
Log("策略启动")
# 设置自定义参数 开仓手数
context.open_count = 5
on_stop(context)
策略停止时执行的函数
参数 :context 上下文信息对象
示例代码
def on_stop(context):
Log(f"策略停止 持仓数量{context.position}")
on_tick(context, tick)
策略每一个行情数据到达时执行的函数
参数 :context 上下文信息对象 tick 行情数据
示例代码
def on_tick(context, tick):
context.tick = tick
Log(f"最新价{tick.last_price}")
on_trade(context,trade)
策略每一笔成交数据到达时执行的函数
参数 :context 上下文信息对象 trade 成交数据
示例代码
def on_trade(context,trade):
if trade.direction.value == "多" and trade.offset.value == "开":
context.bk_price = trade.price
on_order(context,order)
策略每一个委托变化时执行的函数
参数 :context 上下文信息对象 order 委托数据
示例代码
def on_order(context,order):
Log(f"委托编号{order.orderid} 价格{order.price} 数量{order.volume} 状态{order.status.value}")
on_bar(context, bar)
策略每一个Bar数据到达时执行的函数
参数 :context 上下文信息对象 bar k线数据
示例代码
def on_bar(context, bar):
if context.position == 0
# 获取最近5个周期内的最高价
high = context.quotes.high[-5:].max()
if bar.close_price >= high:
# 如果当前周期收盘价价格大于最近五个周期,以最新价买入一手多单
send_order("多", "开", bar.close_price, 1)
elif context.position > 0:
if bar.close_price <= context.bk_price * 0.95:
# 如果当前持有多单,且价格跌幅超过5%,平仓
send_order("空", "平", bar.close_price, 1)
if bar.close_price >= context.bk_price * 1.05:
# 如果当前持有多单,且价格涨幅超过5%,平仓
send_order("空", "平", bar.close_price, 1)
模拟回测
策略编写完毕后,可以点击策略回测;通过回测数据的收益概述,交易信号和回测日志来验证策略的正确性;
添加图片注释,不超过 140 字(可选)
添加图片注释,不超过 140 字(可选)
交易账号
运行策略前先给自己添加个交易账号,没有交易所的交易账号可以添加CTP模拟账号和模拟账号,模拟账号对应口袋量化平台自己的模拟交易系统,是学习体验量化交易的不二之选
策略运行 量化策略是需要运行在用户本地终端的,下载运行终端后,便可将策略与交易账号绑定运行在交易终端上了,运行的日志会实时展示在策略日志页面中
添加图片注释,不超过 140 字(可选)
交易面板
如果想查看某个账户的交易数据,可以打开交易面板,查看行情报价和账户数据
添加图片注释,不超过 140 字(可选)