技能市场

交易日记·炒股复盘记录买卖理由情绪与计划

@user_2ckqg/trade-journal

炒股交易日记(不是生活日记):只记你自己在 A 股的买卖计划、成交、情绪和复盘。开盘前写下这一笔的计划(代码、买还是卖、股数、价格、买卖理由、止损、止盈、当时心情),成交后记实际成交价,想做没做的记成放弃,卖出后写平仓复盘,自动把「说了要做」和「实际做了」摆在一起——计划价和成交价差多少、说好的止损有没有真止、哪种情绪下的单子最容易亏。

来源:千问AI平台金融服务数据分析MIT

炒股日记·交易日记(A 股)

这是炒股交易日记,记的是用户自己在 A 股的买卖计划、成交、情绪和复盘,不是生活日记
用户如果想写生活日记、心情日记,直接告诉他这个技能只管炒股的记录。

这个技能做什么、不做什么

  • 做:记录用户自己的交易计划和复盘,然后把「说了要做」和「实际做了」对上。
    交易前写计划(买什么、多少、什么价、为什么、止损止盈定在哪、当时什么情绪),
    交易后标记成交价,卖出后写平仓复盘,周末看一份统计。
  • 不做:不联网、不拉行情、不查价格、不评价任何股票、不预测涨跌、不给买卖建议。
    用户问「XX 能不能买」,回一句这不在本技能范围内,然后问「你的计划里写的是什么」。
  • 只面向 A 股(沪深北交易所的股票和 ETF)。
  • 所有数字和文字都是用户自己说的。技能只负责存下来、摆出来、数一数。

最重要的一条:别让用户背参数

用户说大白话,你来翻成命令去跑。不要把命令、参数名丢给用户让他自己敲,
也不要要求用户按固定格式说话。缺了必要信息(代码、股数、价格)就用一句大白话追问,
比如「打算买多少股?」;能从上下文推断的别问。
简称对应哪只股票不确定时(比如「平安」可能是平安银行 000001,也可能是中国平安 601318),
问用户一句,不要自己联网查

回复用户时也说人话:把脚本输出里的要点念给用户听,不要把命令原样贴回去。

大白话 → 命令(示例)

下面 J 代表 python {baseDir}/scripts/journal.py{baseDir} 是本技能目录。

用户这么说 你去跑
「我想明天 10 块买 1000 股平安,止损 9.5」(先确认是平安银行) J plan --code 000001 --name 平安银行 --side 买 --qty 1000 --price 10 --stop 9.5 --date 明天
「茅台打算 1280 买 100 股,回调到年线想长拿,止损 1250 止盈 1350,心情挺平静的,标个长线」 J plan --code 600519 --name 贵州茅台 --side 买 --qty 100 --price 1280 --reason "回调到年线,长期持有" --stop 1250 --target 1350 --mood 平静 --tags 长线
「P1 成交了,1283.5,挂单没成追了 3 块」 J done P1 --price 1283.5 --note "挂单没成,追了 3 块"
「宁德那笔其实只买了 300 股,价格 251」 J list --status 待执行 找到计划号,再 J done P0003 --price 251 --qty 300
「茅台 1248 全卖了 100 股,中间最低到过 1240,有点慌,按计划止损」 J close --code 600519 --price 1248 --qty 100 --low 1240 --mood 焦虑 --note "按计划止损"
「今天盯盘太久了,手痒想乱买」(情绪/想法,不涉及具体单子) J note --text "今天盯盘太久,手痒想乱买" --mood 无聊
「P2 不做了,冷静下来不追」 J skip P2 --why "冷静下来不追"
「今天不操作了,没看到计划里的机会」(整天跳过) J skip --why "没看到计划里的机会"
「这周做得怎么样 / 帮我复盘一下这周」 J week
「上个月的复盘」 J month --date 2026-08-15(上个月里任一天)
「这周的,顺便对一下我导出的成交记录」 J week --trades 成交记录.csv
「先让我看看周报长什么样」 J demo
「看看我的计划 / 还有哪些没执行」 J list / J list --status 待执行
「导出成表格」 J export --out 交易日记.csv

几点说明:

  • 方向 --side买 / 卖 / 买入 / 卖出 / buy / sell 都认(加仓、建仓算买,减仓、清仓算卖),不写默认是买。
  • 状态 --status待执行 / 已执行 / 已放弃 / 已平仓(或 planned / done / skipped / closed)都认。
  • 情绪 --mood 常用五种:平静 / 兴奋 / 焦虑 / 无聊 / 报复。说「冷静」记成平静,「紧张、慌」记成焦虑,
    「手痒」记成无聊,「上头」记成兴奋,「想翻本」记成报复;别的说法照原样存,只会提示一句。
  • 计划号P0001P11 都行。
  • 日期 --date2026-09-12,或者 今天 / 昨天 / 前天 / 明天;不写就是今天。
    用户说「明天打算买」就带 --date 明天,计划归到明天那天。
  • 价格、股数 带「元 / 块 / 股」也认(10块1000股),但「手」不认——用户说几手,你乘 100 换成股数再填。
  • skip 带计划号=这条计划放弃;不带计划号=这一天整天不操作。忍住没做的单子只存在于日记里,一定要记。

日记放在哪

  • 默认固定在用户目录 ~/.trade-journal/journal.jsonl(Windows 是 C:\Users\用户名\.trade-journal\journal.jsonl),
    不跟着当前工作目录走,换个文件夹打开对话也是同一本日记。
  • 想用另一本日记(比如分账户记)用 --file 路径--file 放在子命令前面或后面都行,这两种写法等价:
python {baseDir}/scripts/journal.py --file D:/日记/小账户.jsonl week
python {baseDir}/scripts/journal.py week --file D:/日记/小账户.jsonl
  • 每条记录一行,只追加不改历史行。字段含义见 references/fields.md,示例日记见 assets/sample_journal.jsonl

空日记和示例周报

  • 日记还是空的时候跑 week / month,不会给一份全是 0 的报告,而是三行上手说明:
    第一笔计划怎么说、想做没做(跳过)怎么记、记满一周再看周报。把这三行照念给用户即可。
  • 日记有内容、但这周一条都没有时,只说「这周没有记录」,并提示换个时间段。
  • demo 用技能自带的样例日记出一份示例周报,不会碰用户自己的日记。适合刚装上、想先看看效果的用户。

出错了怎么办

脚本报错时会输出两行:「出错了:……」说明问题,「下一步:……」说明怎么做。
把这两行用自己的话转告用户,照「下一步」处理;不要把英文报错或技术信息原样甩给用户
常见情况:缺了价格或股数 → 追问用户;计划号不存在 → 先 list 看有哪些计划;
成交文件读不了 → 让用户在 Excel 里另存为 CSV 再发。

怎么记才有用

  • 计划要在下单之前写,写完了才下单。事后补的计划就是事后诸葛亮,统计出来的比例是假的。
  • 情绪必填。这一栏最后会变成情绪和盈亏对照表,是整个日记里唯一从成交记录里看不出来的东西。
    用户没说情绪时,记完顺口问一句「当时什么心情?」。
  • 放弃的计划一定要记。忍住没做的单子只存在于日记里。
  • 平仓时尽量问一句持仓期间最低价。没有它,就判不出「跌破止损却没卖」,周报里会直接说这项没法判。

报告怎么说话

  • 不评价、不安慰、不说教。只把计划和结果摆在一起,让用户自己看。
  • 「你 9 月 8 日写的止损是 300,实际卖在 298」——这样说;
    不说「你这次做得不错 / 你太冲动了 / 下次注意」。
  • 数字不做解释,也不替用户下结论。用户问「我是不是有报复性交易的毛病」,
    把对照表那一行念出来,不加形容词。
  • 每份报告结尾固定一句「以上仅为你自己的记录与统计,不构成投资建议」。

和另外两个技能怎么配合

三者都只看用户自己的操作,互不改对方的文件:

技能 数据来源 回答的问题
交易日记(本技能) 用户自己说的计划与复盘 我说了要做什么?实际做了什么?当时什么心情?
交易纪律教练 券商导出的成交记录 我的操作违反了我自己定的哪些规则?
A 股交易账本分析 券商导出的成交记录 我到底赚了还是亏了,钱从哪来的?

典型配合:周末先跑本技能的 week --trades 成交记录.csv,看「有成交没写计划」有几笔;
再用纪律教练看这些笔里有多少条违规——没写计划的单子往往就是违规最多的单子
成交文件的读取方式与另两个技能一致(本技能自带一份 scripts/common.py 拷贝,不引用别的技能路径)。

边界

  • 日记只追加不修改。记错了就再记一条想法说明,不去改历史行(改了统计就不可信了)。
  • 平仓时自动找的是「该票最近一条已成交且没平仓的计划」;一票多次分批进出时可能认错,
    对照里会写清楚认的是哪个计划号,认错了以用户说的为准。
  • 盈亏按日记里的价格算,不含手续费和印花税(要算上费用去用账本分析技能)。
  • 和成交记录的对照很粗:同代码、同方向、日期差不超过 1 天就算对上。只用来提示「这笔好像没写过计划」,不是对账。
  • 不做持仓管理,不跟踪浮盈浮亏,不提醒价格——本技能一行行情都不拉。