forked from Chandlercjy/OnePy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
小笔记.txt
63 lines (37 loc) · 1.06 KB
/
小笔记.txt
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
54
55
56
57
58
59
60
61
62
第一天:
仓位 10手,每手1元
平均价格:1元
总仓位:10手
第二天:
新增10手,每手3元
平均价格:(10*1 + 10*3)/20 = 2
总仓位:20手
第三天:
卖出20手,每手3元
现期市值-前期市值
平均价格:(20*3 - 20*2) / 0 = 0 ,获得利润为 20
总仓位:0手
hedge模式情况下分开,不能hedge的话要考虑同时减去 sell
处理挂单逻辑:
检查在场单的止盈止损,
若不是同个品种,跳过
若没有止盈止损,跳过
若xxx,触发空单止损
发送多单,价格为止损价,修改信号为Buy,数量为原数量
数据正常计算,然后计算trade列表:
(不可能出现:
多抵空,剩余空单,
无空单,多单叠多单,
无单到新建多单)
多抵空,剩余空单:
消灭多单,修改空单
多抵空,完全抵消:
消灭多单,消灭空单
更新timeindex顺序问题:
第一天,仓位为10,total初始为 x,发送指令后仓位变成100(已替换),total变成 y(也需要替换)
第二天,仓位为100,按照新价格,total初始为z
检查资金足够问题:
准备Buy,保证金x, 原有保证金为x,则应cash> x+x
准备Buy,保证金x, 原有保证金为-x,则应cash> x+x
准备Sell, 保证金x, 原有保证金为x,则应cash> x+x*(-1)
准备Sell, 保证金x, 原有保证金为-x,则应cash> x+x*(-1)