-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathTestScript
More file actions
53 lines (34 loc) · 4.04 KB
/
Copy pathTestScript
File metadata and controls
53 lines (34 loc) · 4.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
仓位管理测试用例:
Note: 以simnow客户端的数值为验证标准。
1) 上一个交易日没有持有任何仓位,当天未进行任何操作之前,Balance == Available 且 Margin & commission & frozenMargin & forzenCommission 均未0.
2) 上一个交易日没有持有任何仓位,对一个合约进行交易以后,Margin & Commissiont 出现变化,交易合约的分仓位出现变化.
Available = Balance - Margin - Commission
Balance = old_Balance - PositionProfit
3) 上一个交易日没有持有任何仓位, 对一个合约进行报单但未成交之前,forzenMargin & forzenCommission 出现变化,交易合约分仓位这两个字段爷出现变化,但Margin & Commissiont仍为0. Balance保持不变。
Available = Balance - frozenCommission - frozenMargin
4) 上一个交易日没有持有任何仓位,对一个合约进行交易(报单)后,退出ctp连接,然后再次连接。此时应该与case2 和 case3 保持一致。
5) 上一个交易日没有持有任何仓位, 对一个合约进行多空交易(即对锁), Margin & Commissiont 出现变化, Margin 为多仓Margin和空仓Margin仓位的较大值。Commission为多仓Commission与空仓Commission之和。
此时 Margin&Commission of 合约 == Margin&Commission of 账户.
如果同时对多个合约进行多空交易,
Margin&Commission of 账户 == Margin&Commission of 合约1 + ... + Margin&Commission of 合约N
6)上一个交易日没有持有任何仓位, 如果同时对一个合约在多空方向同时进行报单,且均未成交。 对于此合约的forzenMargin和forzenCommission应该是多空方向上的较大值。
7)上一个交易日没有持有任何仓位, 如果同时对多个合约进行报单,且均未成交,对于账户的forzenMargin和forzenCommission 应该是多个合约forzenMargin和forzenCommission 之和。
8) 上一个交易日持有某一合约多方仓位a手, 当前交易日多方开仓b手, 那么该合约的多方今仓b手,昨仓为a手。
上一个交易日持有某一合约多方仓位a手, 当前交易日多方开仓b手,平仓c手,如果c > b, 那么该合约多方今仓0手,昨仓为a-(c-b)手
如果c < b, 那么该合约多方今仓b-c手,昨仓为a手
9) 上一个交易日发现交易产生的Commission,进入下一个交易日,Commission归0.
上一个交易日仓位产生的Margin,进入下一个交易日,Margin保持不变
10) 上一个交易日的未成交报单,进入下一个交易日,自动取消,frozenMargin & forzenCommission归0。
11) 上一个交易日持有某一合约多方仓位a手,当前交易日平仓a手后,那么该合约的多方总仓0手,今仓0手,昨仓0手。
退出ctp连接,再次连接后,该合约多方仍然总仓0手,今仓0手,昨仓0手。 (Tested:Pass)
12) 当前仓位为0,提交一个报单a手,报单未成交时,手续费不变,冻结手续费变化,margin and frozenmargin 不变。
13) 当前仓位为0,提交一个报单a手,成交后,仓位变为a手,今仓变为a手,昨仓为0手,手续费发生变化,margin发生变化。
(Testing: margin计算正确,仓位变化正确)
14) 当前仓位为0,提交一个报单a手,成交前,仓位不变,冻结手续费发生变化,冻结margin发生变化。
(Testing: Pass)
15) 当前交易日,如果存在仓位,并有若干报单为成交,再次登陆已经,仓位信息正确(包括,保证金、冻结保证金、手续费、冻结手续费)
(Testing: )
16) 当前交易日,如果存在rb1601,多空仓位分别为1手,多方保证金为1530,空方保证金为1572,此时 账户的保证金为1572.
如果此时还有一手rb1701的多仓,保证金为1500, 此时账户的保证金为1500+1530。(局限于上期品种,只验证过rb品种)
请参照 Notes.2
17) 当前交易日,如果无任何仓位,发生交易时,ppmgr 动态计算的 OpenAmount 应该与 重新连接ctp所获取的 OpenAmount值相吻合。