在计算和核对账户资金时对于函数返回值的含义有些迷惑,请老师帮忙澄清下,对于期权账户中动态权益的计算可以使用如下公式:
动态权益 = 使用的保证金 + 可用的保证金
其中【使用的保证金】= 持仓的保证金 + 冻结的保证金(比如下单还未成交时会冻结保证金)
根据上面的公式,对于在使用图表虚拟账户交易和A函数操作真实账户交易时应该使用什么函数来进行计算有些不太确定,抛开手续费,滑点这些,列出问题如下:
1. 使用图表【虚拟账户】交易时
使用的函数和关系如下:
Portfolio_CurrentEquity = Portfolio_CurrentCapital + Portfolio_UsedMargin
问题:
# 1-1: Portfolio_UsedMargin 函数返回的是不是就是包含了【持仓的保证金】和【冻结的保证金】这两部分的【使用的保证金】?
# 1-2: 【数据源策略函数】列表里似乎没有获取【冻结的保证金】的函数,根据我自己的测试,使用Buy函数下单时,哪怕价格低于Bar的最低价依然会以该Bar的最低价成交,是不是用【虚拟账户】交易时因为一定会成交所以是不存在冻结保证金这个情况的?
2. 使用A函数交易真实账户时
使用的函数和关系如下
A_CurrentEquity = A_FreeMargin + A_TotalMargin
问题:
#2-1: A_TotalMargin函数返回的是不是就是包含了【持仓的保证金】和【冻结的保证金】这两部分的【使用的保证金】?
#2-2: 如果想要获得某个合约【持仓的保证金】是否要通过A_GetPosition获得Position结构体,并访问其中的保证金属性比如longUseMarginAmount?
#2-3: A_CurrentEquity 和A_LastEquity 返回的【动态权益】和【最新权益】有什么差别?
关联下我其它的问题😁,麻烦老师们也看下:
- 在【图表模式】和【策略运行】下可以读取Dic但【策略优化】不行 (根据老师的回复做了实测,还是不行,截图看回复)
1 图表信号里没有冻结保证金这个数据。因为不同的期货公司规则不一样,不是每家期货公司都有冻结保证金这种说法的,而且每家期货公司设置的冻结保证金率也不一样。你可以自己加一下,保证金+可用资金就等于权益。如果有差的话,应该是结算口径不一致,我记得这几个函数里有一些是按bar开盘结算,有一些是按bar收盘结算
2-1 是
2-2 是
2-3 一个是按结算价计算,一个是按最新价结算
谢谢老师回复,关于冻结保证金我仔细看一下。确实有些函数是按开盘价结算,有些是按收盘价结算,之前测试的时候发现不一致,仔细看了文档才明白咋回事儿。
关于您说的“因为不同的期货公司规则不一样,不是每家期货公司都有冻结保证金这种说法的,而且每家期货公司设置的冻结保证金率也不一样.”'
我的问题是:
1. 这里所说的【冻结保证金】应该是指各个期货公司为了控制风险,对投资者持仓合约的保证金进行部分的冻结,而不是【开仓时冻结的保证金】,那个应该是交易所统一的规则,对吧?
2. 【冻结保证金率】这个要怎么获得呢,我看了A函数,MarginRate结构体,Account结构体,都没找到相关的信息
3. 注意到还有一个【维持保证金】的概念,通过函数MaintenanceMargin获取且文档上说“当前策略应用商品的维持保证金(外汇专用)。(暂不支持)”, 我在网上查和问AI说期货交易也有【维持保证金】这个概念,但是没有对应的A函数来获取,麻烦澄清下是怎么回事?
就是冻结保证金不是交易所硬性要求的,这是每家期货公司自己风控额外要求的,不是标准数据,所以没这个字段
哎,标题写错了,是【期货交易】不是【期权交易】