3 分钟快速生成代码
输入想法,AI 即刻生成可运行代码
在 ptrade 量化交易平台中,进行融资融券(两融)交易时,可以通过 get_margin_contract() 接口查询合约信息。其中,compact_status 字段代表了合约状态。
当 compact_status 的值为 "5" 时,表示该合约的状态为 “未形成负债”。
这通常意味着:
compact_status)根据 ptrade API 数据字典,compact_status 包含以下几种状态:
您可以使用 get_margin_contract() 函数来获取当前账户的合约信息,并筛选出特定状态的合约:
def initialize(context):
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
# 获取所有合约信息,返回 DataFrame
df_contracts = get_margin_contract()
if df_contracts is not None and not df_contracts.empty:
# 筛选出“未形成负债”的合约记录
no_liability_contracts = df_contracts[df_contracts['compact_status'] == '5']
log.info("未形成负债的合约记录:\n%s" % no_liability_contracts)
在编写两融策略时,正确理解和处理这些合约状态,有助于精准计算账户的实际负债和可用额度,避免因状态误判导致的重复委托或资金计算错误。