交易记录表格字段的设计,决定了这张表事后还能不能用。字段挑错,记录填得再勤,回头还是对不上;字段挑对,一行记录就能把当时发生了什么说清楚。这张表的作用不在于记了多少行,而在于每一行在几个月之后还能被读懂、被复核。
下面按三件事讲:字段要回答什么问题、九列必备字段各自的用处、填写规则与容易出的问题。内容以通达信金融终端个人版的公式管理器为准,公式名与版本号的显示位置在不同版本里可能有差异。
一、先定口径:这张表要回答哪几个问题
记录表要回答四件事:这一次记录对应的条件从哪里来、当时的软件与参数是什么样、信号落在哪一根、信号之后发生了什么。四件事对应四组字段,缺一组,事后就补不上。
字段设计要满足三条。口径统一:同一个意思只用一个字段名,不换词。可追溯:从一行记录能倒回去查当时的公式与参数。可统计:字段的取值要能分组、能排序、能算差值,否则统计的时候还得回头翻原始记录,表就白建了。
这三条决定了哪些列必须有。凡是当天不记、之后再也查不到的,都算必填;凡是能事后从公开数据里补回来的,可以放到备注里,不必单独立列。判断一列要不要留,看它能不能在事后被重新构造出来,构造不出来的那几列,就是这张表的骨架。
还有一处要先想清楚:这张表是按天写还是按信号写。按天写是一天一行,按信号写是一个信号一行。两种走法的字段基本相同,差别落在记录日期与信号日期是不是同一天。先定下走哪一种,填写规则才不会在半路上改。
二、交易记录表格字段按用途分成三组
第一组定位这次记录:记录日期与标的代码。第二组还原当时的条件:触发条件的来源、用到的公式名与其版本、信号落在哪一根周期。第三组描述结果:之后若干根的偏离幅度、是否触发预设的失效条件,最后是备注。三个组的顺序在表里就是从左到右,定位在前,条件居中,结果在后。
| 字段 | 填写内容 | 为什么必要 |
|---|---|---|
| 记录日期 | 写记录当天的日期,精确到日 | 整张表排序与分组的基准,按月按季汇总都靠它 |
| 标的代码 | 写完整代码,不写简称 | 简称在不同数据源之间会对不上,代码才是能对齐的标识 |
| 触发条件的来源 | 写清条件从哪来:自编公式、现成指标、手工在图上标注 | 来源不同,事后复核走的路不同,这一列决定回看时从哪里入手 |
| 公式名与版本 | 写公式名,再写导出文件名或公式管理器里显示的版本号 | 同名的公式改过一次,结果就不一样,只有名字无法定位到具体那一版 |
| 参数快照 | 把这次用到的参数值逐个写下来 | 同一个公式换参数,算出来的是两回事,缺了这一列事后复现不出来 |
| 信号落在哪一根周期 | 写日线、周线或分钟线,并写信号所在的那一天 | 同一条件在不同周期上的信号位置不同,不标周期就无法对齐 |
| 之后若干根的偏离幅度 | 写信号之后若干根内的最大偏离幅度,并注明取几根 | 把「之后发生了什么」量化成一列可统计的数 |
| 是否触发预设的失效条件 | 写触发或未触发,触发时写明落在哪一根 | 记录条件在什么情况下不成立,供事后分类统计 |
| 备注 | 只写与这次记录相关的补充,例如数据缺失、复权设置改动 | 承接上面几列装不下的信息,避免把补充塞进别的列 |
这九列里,公式名与版本、参数快照这两列容易被省掉,事后也补不回来。当时的参数是什么,隔一段时间回想不起来,记录就只剩一个结果,没法复核。剩下几列里,偏离幅度那一列容易被填成一个孤零零的数,不注明取值根数,横向比较就没有基准。
三、示例表头与填写规则
表头按上表的列名一字不改地写。加列可以,改列名不行。改了列名之后,历史记录与新版记录就分成两套口径,汇总的时候还要先做一次对齐,白添一道工序。
记录日期 | 标的代码 | 触发条件来源 | 公式名 | 公式版本 | 参数快照 | 周期 | 信号日期 | 偏离幅度 | 偏离取值根数 | 失效条件 | 备注
填写规则按下面几条执行。
- 记录日期与信号日期分两列写。两者可能相差若干天,合并成一列之后,分辨不出记录是当天写的还是事后补的
- 公式版本这一列写文件层面的标识:导出文件名、公式管理器里显示的版本号,或者导出那一刻的时间。名字之外还要有一样东西,能定位到具体那一版
- 参数快照把用到的参数值逐个写下来,不要只写公式名。同一个公式换了参数,算出来的是两回事
- 偏离幅度要注明取几根。同一段记录取 3 根与取 10 根,数值不同,不注明就没法横向比较
- 失效条件那一列允许为空,但要统一为空白的含义。写「未评估」或者留空,全表选一种,不要两种混用
备注这一列不要拿来做第二张表。它只承接上面几列装不下的补充,例如当天该段数据缺失、复权设置从这一行起改过。备注里写进整段的分析,表格就变成一篇短文,统计的时候还要从文字里抠信息,前面几列也就白排了。
四、交易记录表格字段出问题的地方集中在两处
第一处是同一件事用两种口径记。同样一个参数,有的行记成 20,有的行记成 20 日,汇总的时候就成了两个值。同样一个日期,有的行写记录当天的日期,有的行写信号所在的那一天,两列混在一起之后,按月统计出来的数没有意义。口径分裂不会立刻暴露,等到需要汇总时才显现。
第二处是缺少版本或参数快照。公式改过一版,名字没变,参数也没写下来,事后拿着同一段行情重算,结果与记录对不上,却查不出是哪一步不一样。这两处问题的共同点是当时省了一列,事后补不回来,只能把这一批记录搁下。
避免的办法是把填写规则写在表头下面一行,新开一张表先照抄规则。规则里写清楚每个字段的格式:日期写成哪一年哪一月哪一日,参数只写数值不写文字,周期只写「日线」「周线」这两档,不留简称。格式定死之后,新人填进来的第一行就能和历史行对齐。
口径分裂是从加了一列开始的。新加的一列如果与已有列含义重叠,两列就会各记各的。加列之前先问一句:这一列的信息能不能并进已有列,能并就不要新开。字段数量不是越多越好,能支撑上面三条要求的列才是要留的。
五、这张表不写的列,与它的边界
有些列看着有用,实际会把表带偏。仓位方向发生变化的那一笔,只记时间与分类,不记判断结论;不写对后面的估计,也不写对某个标的的评价。这些内容属于判断,放进记录表,整张表的性质就变了,统计的时候也分不清哪一列是事实、哪一列是看法。
表格只做记录与统计,它不回答这一笔该不该发生,也不回答条件本身好不好。字段齐不齐、口径统不统一、能不能复现,是这张表能管的三件事;超出这个范围的问题,表里给不出答案,也不该由表来给。
统计口径也要跟着字段走。按月汇总时,分组的依据是记录日期;按信号类型汇总时,分组依据换成触发条件的来源与周期。依据哪一列分组要写在表头注里,换一种分法就等于换一份统计,数字对不上时先看这一处。
六、下一步要做的事
下一步动作是把交易记录表格字段按上面的清单改一遍:先补齐公式名与版本、参数快照这两列,再把记录日期与信号日期拆成两列,然后拿最近一段记录回填,看有多少行因为缺快照而填不出来。填不出来的那几行,就是当初省掉一列的代价,把这份清单留着,下一张表建的时候就照它来。
本文只作技术研究口径,不涉及也不构成对任何标的的判断。
站内还有 复盘方法与数据工具 的其他条目,主图副图指标 里讲信号怎么在图上定位,指标资源选择与会员 里讲公式的来源怎么核对,可对照查看。
