# context.portfolio.positions 持仓对象
获取示例策略
def init(context):
set_execution("close")
# 设置股票池
context.stock = ["000001.SZ", "600000.SH"]
# 标记只下单一次
context.traded = False
def handle_bar(context, bar_dict):
# 第一根bar执行一次买入,生成持仓position
if not context.traded:
order_target_value("000001.SZ", 10000)
context.traded = True
port = context.portfolio
for sym in context.universe:
pos = port.positions.get(sym)
log.info("===== Symbol: %s Position输出 =====", sym)
if pos is None:
log.info("%s 无持仓,pos = None", sym)
continue
# 全部公开属性逐个打印
log.info("symbol : %s", pos.symbol)
log.info("amount : %s", pos.amount)
log.info("available_amount : %s", pos.available_amount)
log.info("closeable_amount: %s", pos.closeable_amount)
log.info("cost_basis : %s", pos.cost_basis)
log.info("avg_cost : %s", pos.avg_cost)
log.info("last_price : %s", pos.last_price)
log.info("market_value : %s", pos.market_value)
log.info("pnl : %s", pos.pnl)
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
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
日志输出
08-17 15:50:11
INFO
提交回测任务
08-17 15:50:11
INFO
回测任务状态:queued
08-17 15:50:11
INFO
回测任务状态:running
08-17 15:50:14
INFO
回测任务状态:succeeded
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO ===== Symbol: 000001.SZ Position输出 =====
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO symbol : 000001.SZ
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO amount : 800.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO available_amount : 0.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO closeable_amount: 0.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO cost_basis : 11.2663625
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO avg_cost : 11.2663625
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO last_price : 11.260000228881836
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO market_value : 9008.000183105469
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO pnl : -5.0898168945313955
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO ===== Symbol: 600000.SH Position输出 =====
08-17 15:50:14
INFO
2026-08-17 15:50:12,343 INFO 600000.SH 无持仓,pos = None
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO ===== Symbol: 000001.SZ Position输出 =====
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO symbol : 000001.SZ
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO amount : 800.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO available_amount : 800.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO closeable_amount: 800.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO cost_basis : 11.2663625
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO avg_cost : 11.2663625
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO last_price : 11.25
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO market_value : 9000.0
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO pnl : -13.090000000000146
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO ===== Symbol: 600000.SH Position输出 =====
08-17 15:50:14
INFO
2026-08-17 15:50:12,345 INFO 600000.SH 无持仓,pos = None
08-17 15:50:14
INFO
回测任务结束:succeeded
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87