3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 平台的两融(融资融券)交易场景中,对冲或做空策略通常需要使用融券相关接口。本文将详细介绍融券交易的核心 API 及其具体使用方法。
marginsec_open(security, amount, limit_price=None)
security (str):股票代码,如 '600030.SS'。amount (int):交易数量,必须为正整数。limit_price (float, 可选):委托限价,若不传则默认取系统最新价。None。marginsec_close(security, amount, limit_price=None)
security (str):股票代码。amount (int):交易数量,必须为正整数。limit_price (float, 可选):买入限价。None。marginsec_direct_refund(security, amount)
security (str):股票代码。amount (int):还券数量,必须为正整数。get_marginsec_stocks()
get_marginsec_open_amount(security, price=None)
以下是一个完整的两融策略框架,演示了融券卖出与买券还券的完整生命周期:
def initialize(context):
# 设置标的股票(如中信证券)
g.security = '600030.SS'
set_universe(g.security)
g.traded = False
def handle_data(context, data):
# 1. 检查标的是否在可融券列表中
sec_stocks = get_marginsec_stocks()
if g.security not in sec_stocks:
log.info("%s 不在可融券标的列表中" % g.security)
return
# 2. 融券卖出逻辑示例
if not g.traded:
# 查询最大可融券卖出数量
max_amount_dict = get_marginsec_open_amount(g.security)
if max_amount_dict and g.security in max_amount_dict:
max_amount = max_amount_dict.get(g.security, 0)
if max_amount >= 100:
# 融券卖出 100 股
order_id = marginsec_open(g.security, 100)
log.info("融券卖出下单成功,订单ID: %s" % order_id)
g.traded = True
# 3. 买券还券平仓逻辑示例(此处仅为演示,实际交易可根据平仓信号触发)
# elif 平仓条件:
# marginsec_close(g.security, 100)
marginsec_open) 还是平仓还券 (marginsec_close),amount 参数均需传入正整数。get_marginsec_open_amount 确认券商柜台当前是否有足够的融券头寸。