# 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

日志输出

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