第四章 交易日志设计:字段设计与记录规范

做期权交易,很多人亏就亏在「不知道自己怎么亏的」。我见过太多交易员,复盘时连当时为什么开仓都说不清楚。说白了,没有一本好日志,你的交易经验就是一笔糊涂账。

今天我们就聊聊交易日志怎么设计。这不是让你记流水账,而是建立一个可回溯、可量化、可优化的交易档案。

4.1 核心字段设计:每一笔交易都要留下「指纹」

我个人习惯,日志字段分三类:交易标识、合约特征、市场状态。缺一不可。

4.1.1 开仓时间

精确到秒。为什么?因为期权价格对时间极其敏感。同一张合约,上午10:00和下午14:30的隐含波动率可能差好几个点。我曾经因为只记了日期,复盘时死活找不到那笔交易的对应行情——后来才发现是开盘和收盘的IV完全不同。

建议格式: YYYY-MM-DD HH:MM:SS

4.1.2 标的资产

记录合约代码,比如「510050.SH」或「000300.SH」。别只写「50ETF」,因为不同交易所的规则有差异。我建议连合约月份也带上,比如「50ETF购6月」。

4.1.3 行权价

这个不用多说。但要注意:记录行权价的同时,最好标注一下它是「实值、平值还是虚值」。你想想看,同样是行权价3.200的合约,标的价格3.150和3.250时,它的性质完全不同。

4.1.4 权利金

记录成交时的权利金价格,单位是「元/张」。我习惯同时记录买入价和卖出价,因为滑点成本往往比想象中大。嗯,这里要注意:如果你做的是组合策略,每腿的权利金都要单独记。

4.1.5 隐含波动率(IV)

这是期权交易的核心指标。记录开仓时的IV百分位,比如「22.5%」。我个人还会额外记一个「IV相对历史分位数」,比如「当前IV处于近90天80%分位」——这能帮你判断现在是不是「贵了」。

4.1.6 Delta

Delta告诉你标的价格每变动1元,期权价格变动多少。我建议记录开仓Delta和收盘Delta。为什么?因为Delta会随着标的价格和时间变化,你复盘时能看出「方向判断是否准确」。

小技巧: 如果你用Python做自动化,可以用 option_chain.delta 直接获取。手动记录的话,至少记到小数点后两位。

4.2 日志记录规范:别让数据变成垃圾

光有字段不够,记录方式不对,数据就是一堆废纸。我踩过这个坑——早期用Excel随便记,结果字段名不统一,日期格式混乱,最后根本没法做量化分析。

4.2.1 统一命名规则

所有字段用英文小写+下划线。比如:

open_time
underlying
strike_price
premium
iv
delta

别用中文,也别用驼峰。为什么?因为后续你要用Python做数据分析,中文变量名容易出编码问题,驼峰在批量处理时容易手误。

4.2.2 数据精度要求

字段 精度 示例
开仓时间 2025-03-15 09:32:17
权利金 小数点后4位 0.0456
IV 小数点后2位 22.50%
Delta 小数点后4位 0.4523

4.2.3 必填与选填字段

我建议把字段分成两级:

  • 必填(不能为空): 开仓时间、标的、行权价、权利金、IV、Delta、开仓方向(买/卖)、开仓数量
  • 选填(尽量填): Gamma、Theta、Vega、平仓时间、平仓价格、盈亏金额、备注
注意: 选填字段不是「可填可不填」。如果你做的是卖方策略,Theta和Vega必须记。我曾经因为没记Vega,复盘时才发现某次亏损其实是波动率飙升导致的,而不是方向判断错误。

4.3 日志结构设计:从单笔到组合

单腿交易好记,但组合策略就复杂了。比如你做了个「牛市价差」,它由两张合约组成。怎么记?

我的做法是:每条日志对应一个「交易单元」。单腿策略就是一条记录,组合策略拆成多条记录,用「组合ID」关联。

举个例子:

组合ID: COM_001
腿1: 买入50ETF购6月3.200,权利金0.0456,Delta 0.45
腿2: 卖出50ETF购6月3.300,权利金0.0123,Delta 0.25

这样你复盘时,既能看单腿表现,也能算组合整体盈亏。

4.4 自动化记录:用Python解放双手

手动记录太累了,而且容易出错。我建议用Python写个脚本,对接交易接口,自动抓取数据。下面是一个简化版的日志记录函数:

import pandas as pd
from datetime import datetime

def log_trade(trade_data):
    """
    trade_data: dict,包含所有必填字段
    """
    log_entry = {
        'open_time': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
        'underlying': trade_data.get('underlying'),
        'strike': trade_data.get('strike'),
        'premium': trade_data.get('premium'),
        'iv': trade_data.get('iv'),
        'delta': trade_data.get('delta'),
        'direction': trade_data.get('direction'),  # 'buy' or 'sell'
        'quantity': trade_data.get('quantity')
    }
    
    # 追加到CSV文件
    df = pd.DataFrame([log_entry])
    df.to_csv('trade_log.csv', mode='a', header=False, index=False)
    
    print(f"交易已记录: {log_entry['open_time']}")
    return log_entry

这个函数每次调用就追加一行。你可以在交易策略的回测循环里调用它,或者在实盘交易时通过API触发。

进阶建议: 把日志存到SQLite数据库里,方便后续做SQL查询。比如「查询所有IV大于30%的交易」或者「统计每个月的胜率」。

4.5 知识体系总览

下面这张图把交易日志的核心逻辑串起来了。你看一眼就能明白:字段设计是基础,记录规范是保障,自动化是效率,而最终目的都是为了复盘优化。

交易日志设计 字段设计 时间/标的/行权价/权利金/IV/Delta 记录规范 命名规则/精度/必填选填 日志结构 单腿/组合策略/组合ID关联 自动化记录 Python脚本/API对接/数据库 最终目标:可回溯、可量化、可优化

你看,整个体系其实不复杂。关键是把每个环节做扎实。我见过有人日志记了半年,结果因为字段不全,复盘时根本算不出盈亏归因——那这半年就白干了。

所以我的建议是:从第一笔交易开始,就按这个规范来记。哪怕一开始觉得麻烦,坚持一个月,你会发现复盘效率提升一大截。

一句话总结: 好的交易日志,是你和未来自己之间的桥梁。别让这座桥塌了。
专注资料整理