3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 PTrade 的融资融券(两融)交易中,当投资者证券账户中已拥有现券(通过担保品买卖或自有持仓)并希望将其还给券商以归还融券负债时,可以调用 marginsec_direct_refund 接口实现直接还券(现券还券)。
marginsec_direct_refund(security, amount)None| 参数名 | 类型 | 说明 |
|---|---|---|
security |
str |
股票代码,例如 '600030.SS' 或 '000001.SZ' |
amount |
int |
归还的股票数量,必须输入正整数(如 100 表示还券 100 股) |
以下是一个简单的 PTrade 两融策略示例,演示如何在盘中调用 marginsec_direct_refund 接口直接还券:
def initialize(context):
# 设置两融标的股票
g.security = '600030.SS'
set_universe(g.security)
g.flag = False
def handle_data(context, data):
security = g.security
# 仅执行一次还券示例
if not g.flag:
# 查询当前最大可现券还券数量(可选保护逻辑)
margin_entrans_dict = get_margin_entrans_amount(security)
if margin_entrans_dict:
max_refund_amount = margin_entrans_dict.get(security, 0)
log.info(f"当前股票 {security} 最大可直接还券数量为: {max_refund_amount}")
if max_refund_amount >= 100:
# 调用直接还券接口归还 100 股
marginsec_direct_refund(security, 100)
log.info(f"已成功提交股票 {security} 的直接还券申请,数量:100 股")
g.flag = True
get_margin_entrans_amount(security) 接口先查询当前最大可现券还券的数量,避免超额还券失败。marginsec_close):通过在市场上买入股票来归还融券负债(产生交易委托与费用)。marginsec_direct_refund):用持仓中现有的股票直接划转给券商(不产生新的买入交易费用)。