Skip to content

04 · 分析与脚本化

前面几篇解决了「用什么看、去哪拿数据、在哪交易」,本篇解决「怎么把分析做成一件可以重复的事」。

手工分析的问题不是不够努力,而是**不可复现**:同样的 K 线,昨天和今天画的线可能不一样;同样的逻辑,换个标的又要重新来一遍。本篇从 TradingView 的深度用法讲起,到通达信公式、Excel **复盘**表、Python 工作流,再到 AI 辅助分析的边界——最后给出「脚本化分析」的正确打开方式。

⚠️ 风险提示

任何工具的信号与回测结果都只是历史统计,不构成对未来的预测;Pine Script/通达信公式的回测与实盘存在**滑点、手续费、未来函数等系统性偏差。AI 生成的分析内容可能包含事实错误与幻觉**,务必人工核验。本文所有示例仅用于学习与研究,不构成任何投资建议。市场有风险,投资需谨慎。


一、TradingView 深度用法

TradingView 的价值不只是「画图好看」,而是它把「看盘 → 分析 → 回测 → 监控」放进了同一个工作流。

1.1 图表与多周期联动

  • 多图布局:同一标的开多个图表,分别看日线/小时/分钟,或用「多时间周期视图」在单图上叠加;
  • 多周期联动:主图用日线、副图用更短周期指标,是判断「大周期方向 + 小周期入场」的标准操作(方法论见 06-技术分析篇);
  • 画线工具:趋势线、水平线、斐波那契、通道、射线的保存与布局管理——分析结论应该以「能保存、能导出」的方式沉淀,而不是画完就丢;
  • 警报(Alerts):价格/指标触发条件时推送通知(邮件、Telegram 等),是「半自动监控」的免费起点。

1.2 Pine Script:能做与不能做的

Pine Script 是 TradingView 的脚本语言,免费账号即可编写并公开/私有发布指标:

能做不能做(或受限制)
自定义指标、K 线形态识别、多条件信号标注完整的多标的组合策略、事件驱动逻辑
在图表上绘制任意序列与图形直接下单交易(官方 API 有限制,地区与资质条件各异)
策略回测(strategy() 框架,含手续费/滑点参数)大规模参数寻优、样本外严谨测试
调用内置指标与函数库读取外部数据源(基本面/另类数据)
  • 回测定位:Pine Script 回测适合快速验证想法,其撮合假设、滑点模型与佣金处理都偏简化,结论仅作参考;
  • 进阶研究建议:想法验证后,到 Python 里用更严谨的数据与回测框架复现(见 15-量化实战篇)。

1.3 策略回测功能

  • 参数:初始资金、手续费率、滑点、单笔风险占比等均可设置;
  • 指标:净收益、最大**回撤胜率**、利润因子、夏普等;
  • 注意:默认回测按收盘价或下一根开盘价成交,且不自动处理停牌、涨跌停、流动性——结果偏乐观。

二、通达信公式:A 股散户的指标自定义

  • 通达信公式的定位、语法与三档用法(指标/选股/交易系统)见 01-行情软件全景
  • 指标自定义:把「自己的规则」写成公式(如「均线多头排列」「MACD 底背离提示」),让软件替你盯,而不是你盯着软件;
  • 条件选股选股器 → 条件选股,用公式在全市场筛出符合形态的股票池,再人工复核——公式只能做初筛,筛选结果必须人工看(避免捡到问题股);
  • 正确姿势
    • 公式从简单开始:先复现一个你信得过的公开指标,再改参数理解其行为;
    • 公式结果与手工画线交叉验证:公式没问题的前提是规则表达清晰
    • 网上「付费破解指标」基本都是公开指标改名,不值得买。
text
// 教学示意:N 日内创新高选股(语法以具体版本为准)
HHV(H, N) = H;

三、Excel 在交易中的应用

Excel 是「不写代码的人最好的脚本语言」,用于交易的价值常被低估:

用途做法
每日复盘表日期/标的/方向/入场价/出场价/盈亏/盈亏比/主观备注,一表贯穿,月度汇总
交易统计胜率、盈亏比、最大连续亏损、按月收益——用数据透视表与基础函数即可
数据整理从行情软件/数据平台导出的 CSV 直接进 Excel 清洗、透视、画图
计划与执行追踪交易计划的清单化:条件、仓位止损止盈,逐项打勾

复盘表模板要点(建议列):交易日期、时间、标的、方向、入场价、止损价、止盈价、实际出场价、盈亏金额、盈亏比、持仓时长、策略类型、信号触发理由、本次教训。复盘方法论见 07-交易系统篇

示例表结构(每笔交易一行,建议冻结首行并加数据验证下拉):

日期标的方向入场价止损价止盈价出场价盈亏%持仓时长策略触发理由教训
2026-08-03螺纹钢3420338035203510+2.6%2 天突破放量突破 20 日高点止盈早了
2026-08-05BTCUSDT58200590005600056500+2.9%1 天均线回归反弹至 MA60 承压
  • 每月用透视表汇总:各策略胜率/盈亏比、最大单笔亏损、连续亏损次数——把「感觉」变成「统计」,是复盘唯一正确的打开方式。

⚠️ Excel 的适用边界

注意:Excel 适合「记录与汇总」,不适合「回测与自动化」——当你的分析开始出现「循环引用、几百行 VBA、公式堆叠」时,是时候搬到 Python 了。


四、Python 分析工作流

Python 是个人量化研究的事实标准,与 15-量化实战篇 无缝衔接:

python
# 教学示意:pandas 读行情 + matplotlib 画图(依赖自装)
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("btc_daily.csv", parse_dates=["date"])
df["ma20"] = df["close"].rolling(20).mean()

plt.figure(figsize=(10, 4))
plt.plot(df["date"], df["close"], label="close")
plt.plot(df["date"], df["ma20"], label="MA20")
plt.legend()
plt.show()
环节常用库说明
数据处理pandas行情清洗、重采样、合并、缺失值处理
指标计算TA-Lib / pandas 手写均线、MACD、RSI 等;手写更可控
可视化matplotlib / plotlymatplotlib 出图稳定适合报告;plotly 交互式适合探索
数据获取AKShare / Tushare / 交易所 SDK02-数据与研究平台
回测自写 / backtrader 等从简单开始,理解优先于框架

工作流建议:以「脚本文件 + 输入输出目录」的组织方式做分析(一个脚本只做一件事),结果与图统一输出到 results/,这样每次分析都可复现、可对比——这正对应 15-量化实战篇 的目录规范。

一个完整的最小分析工作流(教学示意,接口与字段以实际为准):

python
# step1_fetch.py —— 取数(见 02-数据与研究平台)
# step2_analyze.py —— 计算与出图
import pandas as pd
import plotly.graph_objects as go

df = pd.read_csv("data/btc_daily.csv", parse_dates=["date"])
df["ma20"] = df["close"].rolling(20).mean()
df["ma60"] = df["close"].rolling(60).mean()

# 金叉/死叉信号(只做记录,不构成任何交易指令)
df["golden"] = (df["ma20"] > df["ma60"]) & (df["ma20"].shift(1) <= df["ma60"].shift(1))

fig = go.Figure()
fig.add_trace(go.Candlestick(x=df["date"], open=df["open"],
                             high=df["high"], low=df["low"], close=df["close"], name="K线"))
fig.add_trace(go.Scatter(x=df["date"], y=df["ma20"], name="MA20"))
fig.add_trace(go.Scatter(x=df["date"], y=df["ma60"], name="MA60"))
fig.write_html("results/btc_ma_signal.html")   # 可交互报告,随手可回看
print("信号日期:", df.loc[df["golden"], "date"].tolist())

💡 取数与分析拆成两个脚本

要点:取数与分析拆成两个脚本——取数每天跑、分析随时重跑,互不干扰;输出统一进 results/ 方便对比前后版本。


五、AI 辅助分析:用法与局限

LLM(大语言模型)已经能帮你读研报、整理数据、写分析代码,但要清楚它的边界:

用法(推荐)局限(务必知道)
总结研报/公告要点,提取关键数字幻觉:可能编造不存在的数字、日期、结论
把「自然语言规则」翻译成查询/代码片段计算不可靠:不要让 AI 做数值运算,让它写代码、你运行验证
解释陌生术语、梳理逻辑链条知识有截止时间,政策/费率/规则以最新官方信息为准
复盘对话:把交易记录丢给它找模式文字没有 K 线上下文,它看到的只是你写下来的描述

三条纪律

  1. AI 输出的一切事实必须溯源:让它给出处(来源链接/原文段落),给不出就当没说过;
  2. 代码必须自己跑一遍:AI 写的代码当「草稿」,运行结果与行情软件交叉核对;
  3. 不要让 AI 做决策:它可以辅助整理信息,但仓位、止损、买卖判断必须来自你的系统(见 07-交易系统篇)。

可复用的提问模板(把任务拆到 AI 能一次完成的最小单位):

text
任务:总结以下研报的要点。
要求:
1. 只使用文中内容,不要补充研报没有的信息;
2. 输出表格:维度 | 原文要点 | 原文出处(页码/段落);
3. 对每个数字标注它出现在原文的哪一句;
4. 如原文没有的信息,明确写「文中未提及」。

「让 AI 标出处 + 允许它说不知道」这两个要求,能把幻觉率压到可接受的范围。

🛑 不要让 AI 做决策,也不要做数值运算

不要让 AI 做决策,也不要做数值运算。 AI 输出的一切事实必须溯源、代码必须自己跑一遍、仓位与买卖判断必须来自你自己的系统——AI 可以辅助整理信息,但决策权永远在人。


六、「脚本化分析」的正确打开方式

把分析做成脚本,价值不在「省时间」,而在可复现、可审查、可升级

6.1 先有逻辑,再写代码

  • 顺序必须是:规则(自然语言)→ 伪代码 → 代码。先能用一句话说清「我在算什么、触发什么条件」,再动手写;
  • 反过来(先写代码再补逻辑)的脚本,两周后你自己都看不懂,也无法验证对错;
  • 每条规则都要能回答「如果错了,错的形态是什么」——这是发现未来函数与逻辑漏洞的方法。

6.2 代码版本管理

  • 用 git 管理脚本与配置(入门见 15-量化实战篇-01);
  • 一个脚本 = 一个文件 + 一份注释说明「输入、输出、依赖、更新日期」;
  • 禁止把 API Key 提交进仓库——进过 git 历史的密钥视为已泄露(见 05-运行与自动化环境)。

6.3 复盘自动化

  • 每日收盘后自动跑一遍「当日信号回顾 + 持仓监控」脚本,输出对比图与关键数据,代替手工复盘;
  • 每周/每月自动汇总统计(胜率、盈亏比、回撤),与 Excel 复盘表对应;
  • 自动化的边界:自动产出分析、自动提醒,但下单决策留给人或严格验证过的策略(见 15-量化实战篇-04)。

6.4 可复现性自检清单

每次写完一个分析脚本,对照检查:

检查项标准
输入明确数据路径、起止日期、标的写死在配置里或命令行参数
逻辑清晰任何规则都能用一句话向别人解释(讲不清楚=写不清楚)
无未来函数第 N 天的信号只用第 N 天及之前的数据(用 shift 自检)
输出可追溯图与表格带日期与数据源水印,文件名含生成日期
版本可控改动进 git,记录「改了什么、为什么改」

七、下一步


⚠️ 风险提示

所有分析工具的输出都是「对历史数据的加工」,不是对未来的预测:回测存在系统性乐观偏差(滑点、手续费、未来函数、幸存者偏差),AI 辅助内容可能包含幻觉与事实错误,公式与脚本的错误可能在你不知情时默默影响决策。任何信号在用于真实交易前,务必在独立数据源上交叉验证、以人工复核为准。本文所有代码与示例仅用于学习与研究,不构成任何投资建议,市场有风险,投资需谨慎。

相关阅读

仅供学习与研究,不构成任何投资建议。市场有风险,投资需谨慎。