Ptrade支持在场内申购和赎回LOF吗
/
问题描述
解决方案
根据 Ptrade API 文档,目前 Ptrade 不支持通过 API 接口直接进行 LOF 基金的场内申购和赎回,但完全支持 LOF 基金在二级市场的买卖交易。
1. Ptrade 对 LOF 基金的业务支持情况
在 Ptrade 的回测和交易环境中,明确支持的业务类型包括:
- LOF基金买卖:您可以使用常规的下单接口(如
order、order_target等)在二级市场买入或卖出 LOF 基金份额。 - (注:对于 ETF 基金,Ptrade 提供了专门的申赎接口
etf_purchase_redemption,但文档中并未提供针对 LOF 的同类申赎接口。)
2. LOF 基金交易注意事项
在编写 LOF 基金的量化交易策略时,需要注意以下几点:
- 价格精度:LOF 基金的价格精度为小数点后三位。在使用限价单委托(如
order()入参limit_price)时,务必对入参价格的小数点位数进行处理,否则会导致委托失败。 - 佣金设置:在回测环境中,可以通过
set_commission函数设置费率。默认情况下,LOF 基金每笔交易的佣金费率是万分之八。 - 主推数据:Ptrade 的委托主推(
on_order_response)和成交主推(on_trade_response)均支持接收 LOF 代码的主推数据。
3. LOF 基金买卖代码示例
以下是一个简单的 LOF 基金买卖示例:
def initialize(context):
# 设置操作的 LOF 基金代码,例如 162411.SZ (华宝油气)
g.lof_fund = '162411.SZ'
set_universe(g.lof_fund)
# 回测环境中设置 LOF 基金佣金费率 (万分之八)
set_commission(commission_ratio=0.0008, min_commission=5.0, type="LOF")
def handle_data(context, data):
# 获取当前价格
current_price = data[g.lof_fund]['close']
# 假设满足某种策略条件,买入 1000 份 LOF 基金
# 注意:LOF 价格精度为 3 位小数
limit_p = round(current_price * 1.01, 3)
order(g.lof_fund, 1000, limit_price=limit_p)
总结:如果您需要在 Ptrade 中操作 LOF 基金,可以通过二级市场买卖的方式进行套利或趋势交易,但无法通过代码直接发起场内申购或赎回指令。